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

Материал из Dynatrace

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

Вот 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