Выбор нескольких метрик
Материал из Документация Ключ-АСТРОМ
Конечная точка метрик 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