Список всех метрик: различия между версиями

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


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


Строка 25: Строка 25:


=== Полезная нагрузка JSON ===
=== Полезная нагрузка JSON ===
  <code>curl -L -X GET 'https://mySampleEnv.live.ruscomtech.ru<nowiki/>/api/v2/metrics?fields=displayName,unit,aggregationTypes&pageSize=500' \
  <code>curl -L -X GET '<nowiki>https://mySampleEnv.live.ruscomtech.ru/api/v2/metrics?fields=displayName,unit,aggregationTypes&pageSize=500'</nowiki> \
  -H 'Authorization: Api-Token dt0c01.abc123.abcdefjhij1234567890' \
  -H 'Authorization: Api-Token dt0c01.abc123.abcdefjhij1234567890' \
  -H 'Accept: application/json'</code>
  -H 'Accept: application/json'</code>


=== Полезная нагрузка таблицы CSV ===
=== Полезная нагрузка таблицы CSV ===
  <code>curl -L -X GET '<nowiki>https://mySampleEnv.live.dynatrace.com/api/v2/metrics?fields=displayName,unit,aggregationTypes&pageSize=500'</nowiki> \
  <code>curl -L -X GET 'https://mySampleEnv.live.ruscomtech.ru<nowiki/>/api/v2/metrics?fields=displayName,unit,aggregationTypes&pageSize=500' \
  -H 'Authorization: Api-Token dt0c01.abc123.abcdefjhij1234567890' \
  -H 'Authorization: Api-Token dt0c01.abc123.abcdefjhij1234567890' \
  -H 'Accept: text/csv; header=present'</code>
  -H 'Accept: text/csv; header=present'</code>


== URL-адрес запроса ==
== URL-адрес запроса ==
  <code><nowiki>https://mySampleEnv.live.dynatrace.com/api/v2/metrics?fields=displayName,unit,aggregationTypes&pageSize=500</nowiki></code>
  <code>https://mySampleEnv.live.ruscomtech.ru<nowiki/>/api/v2/metrics?fields=displayName,unit,aggregationTypes&pageSize=500</code>


== Ответ ==
== Ответ ==

Версия 14:49, 10 октября 2022

Конечная точка метрик 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.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]