Для расширенного мониторинга VMware нет возможности использовать готовую библиотеки для получения метрик. В разделе описаны решения на базе методов реверс-инжиниринга.
Примеры из инструкций основаны на запросах к REST API. Возможно использование любого языка сценариев.
Перед началом выполнения инструкций получите необходимые заголовки для работы с API.
Сохраните Access Token как переменную {vcloud_jwt}.
На этапе проверки получения доступа cохраните полученный {ORG-ID}.
Отправьте GET-запрос на https://{SITE}/ext-ui/tenant/{TENANT-NAME}/ariaops/ui/heartbeat.action
curl -k --header "Accept: application/vnd.vmware.vcloud.query.records+json;version=39.1" --header "Cookie: vcloud_jwt={vcloud_jwt}" --head --request GET "https://{SITE}/ext-ui/tenant/{TENANT-NAME}/ariaops/ui/heartbeat.action"
Отправьте GET-запрос на https://{SITE}/ext-ui/tenant/{TENANT-NAME}/ariaops/ui/?vcdt=&vcdOrgId=urn:vcloud:org:{ORG-ID}
curl -k --header "Accept: application/x-www-form-urlencoded; charset=UTF-8" --header "Cookie: rstd=1; JSESSIONID={JSESSIONID}; vcloud_jwt={vcloud_jwt}; vcloud_session_id={vcloud_session_id}" --head --request GET "https://{SITE}/ext-ui/tenant/{TENANT-NAME}/ariaops/ui/?vcdt=&vcdOrgId=urn:vcloud:org:{ORG-ID}"
Отправьте GET-запрос на https://{SITE}/ext-ui/tenant/{TENANT-NAME}/ariaops/ui/commonJS.action?mainAction=getApplicationGlobalData
curl -k --header "Accept: application/x-www-form-urlencoded; charset=UTF-8" --header "Cookie: rstd=1; JSESSIONID={NEW-JSESSIONID}; vcloud_jwt={vcloud_jwt}; vcloud_session_id={vcloud_session_id}" --request GET "https://{SITE}/ext-ui/tenant/{TENANT-NAME}/ariaops/ui/commonJS.action?mainAction=getApplicationGlobalData"
Отправьте POST-запрос на https://{SITE}/ext-ui/tenant/{TENANT-NAME}/ariaops/ui/bridge/getChargebackVMs
curl -k --header "Content-Type: application/x-www-form-urlencoded" --header "Cookie: rstd=1; JSESSIONID={NEW-JSESSIONID}; vcloud_jwt={vcloud_jwt}; vcloud_session_id={vcloud_session_id}" --request POST "https://{SITE}/ext-ui/tenant/{TENANT-NAME}/ariaops/ui/bridge/getChargebackVMs" --data-urlencode "secureToken={secureToken}"
В разделе приведены примеры получения метрик для работы с ВМ.
Процедура описывает пример получения списка доступных метрик для ВМ «vm-wp-NEBe». При выполнении запроса используйте ваши данные.
Отправьте POST-запрос на https://{SITE}/ext-ui/tenant/{TENANT-NAME}/ariaops/ui/metricPicker.action?mainAction=getMetrics&showProperties=true&favoritesMode=true&fetchTags=true
curl -k --header "Content-Type: application/x-www-form-urlencoded" --header "Cookie: rstd=1; JSESSIONID={NEW-JSESSIONID}; vcloud_jwt={vcloud_jwt}; vcloud_session_id={vcloud_session_id}" --request POST "https://{SITE}/ext-ui/tenant/{TENANT-NAME}/ariaops/ui/metricPicker.action?mainAction=getMetrics&showProperties=true&favoritesMode=true&fetchTags=true" --data-urlencode "secureToken={secureToken}" --data-urlencode "resourceIds={Resource_ID}"
Процедура описывает пример получения метрики CPU Usage за последние 24 часа для ВМ «vm-wp-NEBe». При выполнении запроса используйте ваши данные.
Отправьте POST-запрос на https://{SITE}/ext-ui/tenant/{TENANT-NAME}/ariaops/ui/metricChart.action
curl -k --header "Accept: */*" --header "Content-Type: application/x-www-form-urlencoded" --header "Cookie: rstd=1; JSESSIONID={NEW-JSESSIONID}; vcloud_jwt={vcloud_jwt}; vcloud_session_id={vcloud_session_id}" --request POST "https://{SITE}/ext-ui/tenant/{TENANT-NAME}/ariaops/ui/metricChart.action" --data-raw "mainAction=getMetricValues&isStacked=false&isRealTimeEnabled=&smoothingFactor=2&showSmooth=false&showAnomalies=false&showEntireDT=false&showDT=false&historicalDT=false&yellowBound=&orangeBound=&redBound=&datePeriod=&resourceId=$resourceId&resourceName=$vmName &resourceKindId=&metricKey=cpu%7Cusage_average&metricName=Usage%20(%25)&metricFullName=CPU%7CUsage%20(%25)&metricFullNameWithoutUnit=CPU%7CUsage&metricUnitId=percent&metricUnit=%25&isKPI=false&isMultimodal=false&isStringMetric=false&isOnTheFlySuperMetric=false&isBadge=false&dateRange=%7B%22dateRange%22%3A%22last24Hour%22%2C%22dateRangeText%22%3A%22Last%2024%20hours%22%7D&periodIndex=0¤tComponentInfo=TODO&secureToken=$secureToken"
Процедура описывает пример получения метрики Network|Usage Rate (KBps) за последние семь часов для ВМ с именем «dhcp-C5nb». При выполнении запроса используйте ваши данные.
Отправьте POST-запрос на https://{SITE}/ext-ui/tenant/{TENANT-NAME}/ariaops/ui/metricChart.action
curl -k --header "Accept: */*" --header "Content-Type: application/x-www-form-urlencoded" --header "Cookie: rstd=1; JSESSIONID={NEW-JSESSIONID}; vcloud_jwt={vcloud_jwt}; vcloud_session_id={vcloud_session_id}" --request POST "https://{SITE}/ext-ui/tenant/{TENANT-NAME}/ariaops/ui/metricChart.action" --data-raw "mainAction=getMetricValues&isStacked=false&isRealTimeEnabled=&smoothingFactor=2&showSmooth=false&showAnomalies=false&showEntireDT=false&showDT=false&historicalDT=false&yellowBound=&orangeBound=&redBound=&datePeriod=&resourceId=$resourceId&resourceName=$vmName &resourceKindId=&metricKey=net%7Cusage_average&metricName=Usage%20Rate%20(KBps)&metricFullName=Network%7CUsage%20Rate%20(KBps)&metricFullNameWithoutUnit=Network%7CUsage%20Rate&metricUnitId=kbps&metricUnit=KBps&isKPI=false&isMultimodal=false&isStringMetric=false&isOnTheFlySuperMetric=false&isBadge=false&dateRange=%7B%22dateRange%22%3A%22last6Hour%22%2C%22dateRangeText%22%3A%22Last%206%20hours%22%7D&periodIndex=0¤tComponentInfo=TODO&secureToken=$secureToken"
Процедура описывает пример получения метрики Write IOPS за последний час для ВМ с именем «vm1-K7CI» диска SCSI:0:0. При выполнении запроса используйте ваши данные.
Отправьте POST-запрос на https://{SITE}/ext-ui/tenant/{TENANT-NAME}/ariaops/ui/metricChart.action
curl -k --header "Accept: */*" --header "Content-Type: application/x-www-form-urlencoded" --header "Cookie: rstd=1; JSESSIONID={NEW-JSESSIONID}; vcloud_jwt={vcloud_jwt}; vcloud_session_id={vcloud_session_id}" --request POST "https://{SITE}/ext-ui/tenant/{TENANT-NAME}/ariaops/ui/metricChart.action" --data-raw "mainAction=getMetricValues&isStacked=false&isRealTimeEnabled=&smoothingFactor=2&showSmooth=false&showAnomalies=false&showEntireDT=false&showDT=false&historicalDT=false&yellowBound=&orangeBound=&redBound=&datePeriod=&resourceId=$resourceId&resourceName=$vmName &resourceKindId=&metricKey=virtualDisk%3Ascsi0%3A0%7CnumberWriteAveraged_average&metricName=Write%20IOPS&metricFullName=Virtual%20Disk%3Ascsi0%3A0%7CWrite%20IOPS&metricFullNameWithoutUnit=Virtual%20Disk%3Ascsi0%3A0%7CWrite%20IOPS&metricUnitId=&metricUnit=&isKPI=false&isMultimodal=false&isStringMetric=false&isOnTheFlySuperMetric=false&isBadge=false&dateRange=%7B%22dateRange%22%3A%22lastHour%22%2C%22dateRangeText%22%3A%22Last%20hour%22%7D&periodIndex=0¤tComponentInfo=TODO&secureToken=$secureToken"