Выбор нескольких метрик
Материал из 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: установите для заголовка 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.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