Открыть меню
Открыть персональное меню
Вы не представились системе
Your IP address will be publicly visible if you make any edits.

Выбор нескольких метрик

Материал из Документация АппОптима
Версия от 16:38, 5 октября 2022; ENetrebin (обсуждение | вклад) (Новая страница: «Конечная точка метрик GET предоставляет вам возможность запрашивать несколько метрик, а...»)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)

Конечная точка метрик 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: установите для заголовка Acceptapplication/json запроса значение .
  • Таблица CSV: установите для заголовка Accepttext/csv; header=present запроса значение . Если вас не интересует строка заголовка, используйте text/csv; header=absent.

Чтобы аутентифицировать запрос, установите для заголовка AuthorizationApi-token {your-token} запроса значение . Токен должен иметь разрешение на чтение метрик ( ).metrics.read

Завиток

Вот Curl-код запроса. Обязательно используйте URL-адрес вашей собственной среды и настоящий токен API.

Полезная нагрузка JSON

curl -L -X GET 'https://mySampleEnv.live.dynatrace.com/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.dynatrace.com/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.dynatrace.com/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