SCG: API'den SCG Sağlık Durumunu Toplama
Summary: Uygulama Programlama Arabirimi (API) sorgusundan Güvenli Bağlantı Ağ Geçidi (SCG) Sistem Durumunu alma. Bu yöntem, tüm SCG bileşenlerinin durumunu (bağlantı durumu, etkin tutma durumu, tüm hizmetlerin durumu, bağlı cihazların sistem bilgileri) analiz etmek için kullanışlıdır. ...
Instructions
Bu, Güvenli Bağlantı Ağ Geçidi 5.10.00.10 sürümünde test edilmiştir.
Tüm sağlık bilgilerini toplamak üzere SCG'ye API sorgusu yapmak için gerekli adımlar aşağıdadır:
- Güvenli Bağlantı Ağ Geçidi'nde REST API arayüzlerini etkinleştirin.
Veri merkezi araçlarınız ve uygulamalarınızla entegrasyon sağlamak için SCG'de REST API arayüzlerini etkinleştirmeniz gerekir.
API arayüzlerini etkinleştirmek için Web Tarayıcısında SCG panelini açın (https://<IP_SCG>:5700),Ayarlar > API ayarları'na gidin, Bu ağ geçidi için API arayüzlerini etkinleştir onay kutusunu seçin ve Uygula'ya tıklayın:
- Kök kullanıcıyla SCG ağ geçidine bir SSH oturumu açın ve aşağıdaki komutları uygulayın:
SCG ağ geçidiyle Kimlik Doğrulama Belirteci oluşturma - Tüm API'leri gerçekleştirmek için yetkilendirme belirtecini almadan önce SCG ağ geçidine yapılan sorgular gereklidir. Bu durumda, yetkilendirme belirtecini alacağız ve sonraki API sorgularını kolaylaştırmak için bir sistem değişkeninde saklayacağız:AUTH_TOKEN=`curl -k -s -L -i -X --header "Content-Type: application/json" --request POST --data '{"username":"admin","password":"admin_password"}' 'https://10.108.0.40:5700/SupportAssist/api/v2/auth/token?accessToken' | grep "accessToken" | awk -F ":" {'print $2'} | sed 's/,$//' | sed 's/^..//' | sed 's/.$//'`Burada:- admin = SCG'nin yönetici kullanıcısı
- admin_password = SCG'nin yönetici parolası
- 10.108.0.40 = SCG'nin IP adresi
scg:~ # AUTH_TOKEN=`curl -k -s -L -i -X --header "Content-Type: application/json" --request POST --data '{"username":"admin","password":"admin_password"}' 'https://10.108.0.40:5700/SupportAssist/api/v2/auth/token?accessToken' | grep "accessToken" | awk -F ":" {'print $2'} | sed 's/,$//' | sed 's/^..//' | sed 's/.$//'` scg:~ # echo $AUTH_TOKEN eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyTmFtZSI6ImFkbWluIiwicm9sZSI6IlNDR0FkbWlucyIsInJlcXVlc3RpbmdJUCI6IjEwLjEwNy4wLjM5IiwiYXBwTW9kZSI6IkFQUExJQU5DRVMiLCJhcGlVc2FnZU1vZGUiOiJSZXN0IiwiaW5zdGFuY2VJRCI6ImJGMFhhdUk2MVI2REtZM3A5a0NKTHdVWlMwTGhPUjRNaVJydEhPTkgxamFxa2Zrb0xONDlGeXNraXB5ZVFjUmxsSlFyTFJQQkJtNlRZeGNTWGxleEJBPT0iLCJ0b2tlblR5cGUiOiJBQ0NFU1MiLCJ1dWlkIjoiZGFkYjYxY2EtNjNmZi00ODRlLWEwOGUtOTA0OGY0NzczYzJmIiwiaWF0IjoxNjQ4NzQzODk2LCJleHAiOjE2NDg3NDU2OTZ9.D2ziJJhc8dAyqiFIwXucluWLwsdKVSv1TqQAnt1b8KA - SCG'nin sağlık durumunu almak için API sorgusunu çalıştırma:
Bu API sorgusu ile SCG ile ilgili birçok bilgiyi görmek mümkündür:
- Bağlantı durumu
- Etkin
tutma durumu - Her SCG hizmetinin durumu (esrshttpd, esrshttpdR, esrsconnectemc, networkConnectivity ve diğerleri)
- İzlenen cihazların
durumu Sağlık bilgileri durumunu toplamak için API sorgusu aşağıdadır:curl -k -X GET --header "Accept: application/json" --header "Authorization: Bearer $AUTH_TOKEN" https://10.108.0.40:5700/SupportAssist/api/v2/service/healthstatus?
Örneğin:scg:~ # curl -k -X GET --header "Accept: application/json" --header "Authorization: Bearer $AUTH_TOKEN" https://10.108.0.40:5700/SupportAssist/api/v2/service/healthstatus? { "data" : { "runDate" : "Mar 31, 2022 12:03:57 -EDT", "gatewayInfo" : { "serialNumber" : "XXXXXXXXXX", "productModel" : "SECURECONNECTGATEWAY-APPLIANCE", "ipAddress" : "10.108.0.40", "gatewayVersion" : "5.00.07.10" }, "connectivity" : { "mqttStatus" : { "state" : "CONNECTED", "updatedAt" : "2022-03-28T20:58:38.244+00:00", "recommendation" : "" }, "keepaliveStatus" : { "state" : "CONNECTED", "updatedAt" : "2021-11-22T04:27:05.198+0000", "recommendation" : "" } }, "services" : [ { "serviceName" : "esrshttpd", "criticality" : "Critical", "serviceType" : "Core service status", "description" : "Service to securely transfer files between your devices and secure connect gateway", "status" : "Running", "recommendation" : "" }, { "serviceName" : "esrshttpdR", "criticality" : "Critical", "serviceType" : "Core service status", "description" : "A service that manages file transfers from your gateway to Dell Technologies, or to your devices", "status" : "Running", "recommendation" : "" }, { "serviceName" : "esrsconnectemc", "criticality" : "Critical", "serviceType" : "Core service status", "description" : "A service at Dell Technologies that receives alert data from your devices", "status" : "Running", "recommendation" : "" }, { "serviceName" : "esrsclientproxy", "criticality" : "Warning", "serviceType" : "Core service status", "description" : "A service for connectivity between devices and Dell Technologies", "status" : "Running", "recommendation" : "" }, { "serviceName" : "esrswatchdogservice", "criticality" : "Warning", "serviceType" : "Core service status", "description" : "A service that monitors whether or not other services are running or down. When services go down unexpectedly, the watchdog service will attempt to restart them so they start functioning normally again", "status" : "Running", "recommendation" : "" }, { "serviceName" : "esrshttpdftp", "criticality" : "Critical", "serviceType" : "Core service status", "description" : "A service at Dell Technologies that receives alert data from your devices", "status" : "Running", "recommendation" : "" }, { "serviceName" : "esrshttpdlistener", "criticality" : "Critical", "serviceType" : "Core service status", "description" : "A service at Dell Technologies that receives alert data from your devices", "status" : "Running", "recommendation" : "" }, { "serviceName" : "shibd", "criticality" : "Critical", "serviceType" : "Core service status", "description" : "A Service for remote secure credentials", "status" : "Running", "recommendation" : "" }, { "serviceName" : "apache2", "criticality" : "Critical", "serviceType" : "Core service status", "description" : "A Service for remote secure credentials", "status" : "Running", "recommendation" : "" }, { "serviceName" : "esrsjcemc", "criticality" : "Critical", "serviceType" : "Restful service status", "description" : "A service at Dell Technologies that receives alert data from your devices", "status" : "Running", "recommendation" : "" }, { "serviceName" : "esrskeepalive", "criticality" : "Critical", "serviceType" : "Restful service status", "description" : "Device service that sends heartbeat status from devices to Dell Technologies", "status" : "Running", "recommendation" : "" }, { "serviceName" : "esrsmftauth", "criticality" : "Critical", "serviceType" : "Restful service status", "description" : "A service that transfers files between Dell, your gateway, and your devices", "status" : "Running", "recommendation" : "" }, { "serviceName" : "esrsupdate", "criticality" : "Critical", "serviceType" : "Restful service status", "description" : "A service to retreives update information from Dell Technologies", "status" : "Running", "recommendation" : "" }, { "serviceName" : "esrsdigitaltwinservice", "criticality" : "Critical", "serviceType" : "Restful service status", "description" : "A service for connectivity between devices and Dell Technologies", "status" : "Running", "recommendation" : "" }, { "serviceName" : "esrsmqttclient", "criticality" : "Critical", "serviceType" : "Restful service status", "description" : "A service that monitors connectivity between the gateway and Dell", "status" : "Running", "recommendation" : "" }, { "serviceName" : "esrsmosquitto", "criticality" : "Critical", "serviceType" : "Core service status", "description" : "A service that transfers files between your gateway local system to Dell", "status" : "Running", "recommendation" : "" }, { "serviceName" : "esrsmqttauth", "criticality" : "Critical", "serviceType" : "Restful service status", "description" : "A service that validates credentials for remote support activities", "status" : "Running", "recommendation" : "" }, { "serviceName" : "srsadapter", "description" : "A service that manages the communications between containers", "status" : "running" }, { "serviceName" : "secureconnectgateway", "description" : "A service that allows access to secure connect gateway's user interface.", "status" : "running" }, { "serviceName" : "cases", "description" : "A service that manages alerts, events, and support cases generated by your gateway.", "status" : "running" }, { "serviceName" : "auditlog", "description" : "A service that displays your gateway's activity history.", "status" : "running" }, { "serviceName" : "connectivity", "description" : "A service that manages connectivity with the Dell Technologies backend.", "status" : "running" }, { "serviceName" : "appsettings", "description" : "A service to save changes for configuration settings.", "status" : "running" }, { "serviceName" : "consoleadapter", "description" : "A service that manages connectivity with systems management consoles.", "status" : "running" }, { "serviceName" : "registration", "description" : "A service that registers your secure connect gateway.", "status" : "running" }, { "serviceName" : "collection", "description" : "A service that initiates collection of telemetry from devices, then retreives that telemetry and displays it in your gateway. ", "status" : "running" }, { "serviceName" : "inventory", "description" : "A service that retreives inventory information from devices.", "status" : "running" }, { "serviceName" : "secureconnectgatewaydb", "description" : "A service that allows access to secure connect gateway's database.", "status" : "running" }, { "serviceName" : "email", "description" : "A service that manages and sends emails from secure connect gateway.", "status" : "running" } ], "networkConnectivity" : [ { "hostName" : "esrs3-core.emc.com", "port443" : { "status" : "CONNECTED", "recommendation" : "" }, "port8443" : { "status" : "CONNECTED", "recommendation" : "" } }, { "hostName" : "esrs3-coredr.emc.com", "port443" : { "status" : "CONNECTED", "recommendation" : "" }, "port8443" : { "status" : "CONNECTED", "recommendation" : "" } } ], "systemInfo" : { "systemInfo" : "VMware, Inc.", "noOfProcessors" : 4, "memory" : { "memoryUsage" : "12.21 / 15.66 GB (78%)", "status" : "HEALTHY", "message" : "" }, "cpu" : { "cpuLoad" : "2.65%", "status" : "HEALTHY" }, "diskSpaceDetails" : [ { "partitionName" : "/dev/sda1", "availableDiskSpace" : "0.21 GB", "used" : "28%" }, { "partitionName" : "/dev/mapper/scgVG-LVRoot", "availableDiskSpace" : "13.31 GB", "used" : "13%" }, { "partitionName" : "/dev/mapper/scgVG-LVvar_lib_docker", "availableDiskSpace" : "86.77 GB", "used" : "8%" }, { "partitionName" : "/dev/mapper/scgVG-LVvar_log", "availableDiskSpace" : "7.35 GB", "used" : "6%" }, { "partitionName" : "/dev/mapper/scgVG-LVvar_lib_scgve", "availableDiskSpace" : "7.36 GB", "used" : "6%" }, { "partitionName" : "/dev/mapper/scgVG-LVopt_esrsve", "availableDiskSpace" : "7.35 GB", "used" : "6%" } ] }, "smtp" : { "status" : "Connected" } }, "email" : "Timed out after waiting 30000(ms) for a reply. address: __vertx.reply.1bd9b6f0-73e1-4f27-8f57-207c3c5577bb, repliedAddress: emailApplianceService.queue" }scg:~ #
Raporu bir dosyaya kaydetmek için:
curl -k -X GET --header "Accept: application/json" -o report_scg.txt --header "Authorization: Bearer $AUTH_TOKEN" https://10.108.0.40:5700/SupportAssist/api/v2/service/healthstatus?
Burada:-o report_scg.txt = Bu seçenek, çıktıyı kaydetmek için kullanılır. "report_scg.txt" dosya.
Önemli - Kimlik Doğrulama Mekanizmaları:
Kimlik doğrulama işlemi, istemci kimlik bilgilerini sağlayarak sunucudan bir belirteç isteğinde bulunduğunda başlar. Yanıt olarak Güvenli Bağlantı Ağ Geçidi bir erişim belirteci ve bir yenileme belirteci döndürür. Yenileme belirteci 24 saat, erişim belirteci ise 30 dakika süreyle geçerlidir. Erişim belirtecinin süresi dolduktan sonra, yenileme belirtecini kullanarak yeni bir erişim belirteci oluşturabilirsiniz.
Additional Information
Secure Connect Gateway REST API Kılavuzu: