API АппОптима / Эндпойнты среды / Развёртывание / Метрики v2 / Примеры и варианты использования / Выбор нескольких метрик
Конечная точка метрик GET предоставляет вам возможность запрашивать несколько метрик, а также частичные или даже полные дескрипторы метрик.
В этом примере показано, как получить дескрипторы нескольких метрик одного родителя:
- Процессор простаивает (
builtin:host.cpu.idle
) - Загрузка системы (
builtin:host.cpu.load
) - Использование ЦП % (
builtin:host.cpu.usage
)
Для каждого мы будем запрашивать полные дескрипторы:
- Ключ метрики
- Показать имя
- Описание
- Единицы
- Поддерживаемые типы объектов
- Поддерживаемые агрегаты
- Агрегация по умолчанию
- Поддерживаемые преобразования
- Параметры
Настроить запрос
Мы должны установить следующие параметры запроса:
- метрикаСелектор к
builtin:host.cpu.(idle,usage,load)
- поля до
displayName,description,unit,entityType,aggregationTypes,transformations,defaultAggregation,dimensionDefinitions
. Обратите внимание, чтоmetricId
здесь это опущено, потому что оно всегда присутствует в ответе.
Вы можете получить ответ в двух форматах:
- JSON: установите для заголовка Accept
application/json
запроса значение . - Таблица CSV: установите для заголовка Accept
text/csv; header=present
запроса значение . Если вас не интересует строка заголовка, используйтеtext/csv; header=absent
.
Чтобы аутентифицировать запрос, установите для заголовка AuthorizationApi-token {your-token}
запроса значение . Токен должен иметь разрешение на чтение метрик (metrics.read
)
Curl
Вот Curl-код запроса. Обязательно используйте URL-адрес вашей собственной среды и настоящий токен API.
Полезная нагрузка JSON
<curl -L -X GET 'https://mySampleEnv.live.ruscomtech.ru/api/v2/metrics?fields=displayName,description,unit,entityType,aggregationTypes,transformations,defaultAggregation,dimensionDefinitions&metricSelector=builtin:host.cpu.(idle,usage,load)' \ -H 'Authorization: Api-Token dt0c01.abc123.abcdefjhij1234567890' \ -H 'Accept: application/json'
Полезная нагрузка таблицы CSV
<curl -L -X GET 'https://mySampleEnv.live.ruscomtech.ru/api/v2/metrics?fields=displayName,description,unit,entityType,aggregationTypes,transformations,defaultAggregation,dimensionDefinitions&metricSelector=builtin:host.cpu.(idle,usage,load)' \ -H 'Authorization: Api-Token dt0c01.abc123.abcdefjhij1234567890' \ -H 'Accept: text/csv; header=present'
URL-адрес запроса
https://mySampleEnv.live.ruscomtech.ru/api/v2/metrics?fields=displayName,description,unit,entityType,aggregationTypes,transformations,defaultAggregation,dimensionDefinitions&metricSelector=builtin:host.cpu.(idle,usage,load)
Ответ
Оба примера содержат полную полезную нагрузку, ничего не усекается.
Полезная нагрузка JSON
<{ "totalCount": 3, "nextPageKey": null, "metrics": [ { "metricId": "builtin:host.cpu.idle", "displayName": "CPU idle", "description": "", "unit": "Percent", "entityType": [ "HOST" ], "aggregationTypes": [ "auto", "avg", "max", "min" ], "transformations": [ "filter", "fold", "merge", "names", "parents" ], "defaultAggregation": { "type": "avg" }, "dimensionDefinitions": [ { "key": "dt.entity.host", "name": "Host", "index": 0, "type": "ENTITY" } ] }, { "metricId": "builtin:host.cpu.load", "displayName": "System load", "description": "", "unit": "Ratio", "entityType": [ "HOST" ], "aggregationTypes": [ "auto", "avg", "max", "min" ], "transformations": [ "filter", "fold", "merge", "names", "parents" ], "defaultAggregation": { "type": "avg" }, "dimensionDefinitions": [ { "key": "dt.entity.host", "name": "Host", "index": 0, "type": "ENTITY" } ] }, { "metricId": "builtin:host.cpu.usage", "displayName": "CPU usage %", "description": "Percentage of CPU time currently utilized.", "unit": "Percent", "entityType": [ "HOST" ], "aggregationTypes": [ "auto", "avg", "max", "min" ], "transformations": [ "filter", "fold", "merge", "names", "parents" ], "defaultAggregation": { "type": "avg" }, "dimensionDefinitions": [ { "key": "dt.entity.host", "name": "Host", "index": 0, "type": "ENTITY" } ] } ] }
Полезная нагрузка таблицы CSV
<metricId,displayName,description,unit,entityType,aggregationTypes,transformations,defaultAggregation,dimensionDefinitions builtin:host.cpu.idle,CPU idle,,Percent,[HOST],"[auto, avg, max, min]","[filter, fold, merge, names, parents]",avg,[Host:ENTITY] builtin:host.cpu.load,System load,,Ratio,[HOST],"[auto, avg, max, min]","[filter, fold, merge, names, parents]",avg,[Host:ENTITY] builtin:host.cpu.usage,CPU usage %,Percentage of CPU time currently utilized.,Percent,[HOST],"[auto, avg, max, m