Список всех метрик

Материал из Dynatrace

Конечная точка метрик GET предоставляет вам возможность запрашивать несколько метрик, а также частичные или даже полные дескрипторы метрик.

В этом примере показано, как получить список всех метрик в среде с необходимыми метаданными.

Наиболее важной частью является ключ метрики, так как он используется для идентификации метрики. Однако сам ключ не предоставляет много информации о метрике. Чтобы узнать больше о метриках, мы можем добавить эту важную информацию:

  • название метрики — дает больше информации о том, что измеряет метрика
  • единица метрики — показывает, какую единицу измерения использует метрика.
  • разрешенные агрегации — список доступных агрегаций метрики. API отклоняет запрос на неподдерживаемые агрегации.

Настроить запрос

Для получения полного списка метрик необходимо задать следующие параметры запроса:

  • Размер страницы до 500. Полный список показателей может быть длинным, поэтому мы используем максимально возможное значение.
  • поля до displayName,unit,aggregationTypes. Это удаляет все остальные поля из полезной нагрузки, оставляя только те, которые нас интересуют. Обратите внимание, что metricIdздесь это опущено, потому что оно всегда представлено в ответе.

Вы можете получить ответ в двух форматах:

  • JSON: установите для заголовка Acceptapplication/json запроса значение .
  • Таблица CSV: установите для заголовка Accepttext/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.dynatrace.com/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.dynatrace.com/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.dynatrace.com/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]