Конечная точка метрик GET предоставляет вам возможность запрашивать несколько метрик, а также частичные или даже полные дескрипторы метрик.
В этом примере показано, как получить список всех метрик в среде с необходимыми метаданными.
Наиболее важной частью является ключ метрики, так как он используется для идентификации метрики. Однако сам ключ не предоставляет много информации о метрике. Чтобы узнать больше о метриках, мы можем добавить эту важную информацию:
- название метрики — дает больше информации о том, что измеряет метрика
- единица метрики — показывает, какую единицу измерения использует метрика.
- разрешенные агрегации — список доступных агрегаций метрики. API отклоняет запрос на неподдерживаемые агрегации.
Настройка запроса
Для получения полного списка метрик необходимо задать следующие параметры запроса:
- до
500
символов. Полный список показателей может быть длинным, поэтому мы используем максимально возможное значение. - поля до
displayName,unit,aggregationTypes
. Это удаляет все остальные поля из полезной нагрузки, оставляя только те, которые нас интересуют. Обратите внимание, что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,unit,aggregationTypes&pageSize=500' \
-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,unit,aggregationTypes&pageSize=500' \
-H 'Authorization: Api-Token dt0c01.abc123.abcdefjhij1234567890' \
-H 'Accept: text/csv; header=present'
URL-адрес запроса
https://mySampleEnv.live.ruscomtech.ru/api/v2/metrics?fields=displayName,unit,aggregationTypes&pageSize=500
Ответ
Полный список метрик слишком длинный, поэтому в каждом случае он усекается до одних и тех же 3 записей.
Полезная нагрузка JSON
{
"totalCount": 1812,
"nextPageKey": null,
"metrics": [
{
"metricId": "builtin:apps.other.apdex.osAndVersion",
"displayName": "Apdex (by os and app version)",
"unit": "NotApplicable",
"aggregationTypes": [
"auto",
"value"
]
},
{
"metricId": "builtin:apps.other.keyUserActions.requestErrorCount.os",
"displayName": "Request error count (by os)",
"unit": "Count",
"aggregationTypes": [
"auto",
"value"
]
},
{
"metricId": "builtin:tech.activemq.CurrentConnectionsCount",
"displayName": "Current connections count",
"unit": "Count",
"aggregationTypes": [
"auto",
"avg",
"count",
"max",
"min",
"sum"
]
}
]
}
Полезная нагрузка таблицы CSV
metricId,displayName,unit,aggregationTypes
builtin:apps.other.apdex.osAndVersion,Apdex (by os and app version),NotApplicable,"[auto, value]"
builtin:apps.other.keyUserActions.requestErrorCount.os,Request error count (by os),Count,"[auto, value]"
builtin:tech.activemq.CurrentConnectionsCount,Current connections count,Count,"[auto, avg, count, max, min, sum]