API метрик — GET метрики

Материал из Документация Ключ-АСТРОМ
Версия от 01:27, 23 июля 2026; IKuznetsov (обсуждение | вклад) (Новая страница: «= API метрик — GET метрики = Отображает список всех доступных метрик. Вы можете ограничить вывод информации, используя пагинацию: * Укажите количество результатов на странице в параметре запроса <code>pageSize</code>. * Затем используйте курсор из поля <code>nextPageKey</cod...»)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)

API метрик — GET метрики

Отображает список всех доступных метрик.

Вы можете ограничить вывод информации, используя пагинацию:

  • Укажите количество результатов на странице в параметре запроса pageSize.
  • Затем используйте курсор из поля nextPageKey предыдущего ответа в параметре запроса nextPageKey, чтобы получить последующие страницы.

В зависимости от значения заголовка Accept запроса, запрос генерирует один из следующих типов полезной нагрузки:

  • application/json
  • text/csv; header=present — CSV-таблица с заголовком
  • text/csv; header=absent — CSV-таблица без строки заголовка

Если в запросе не указан заголовок Accept, возвращается полезная нагрузка application/json.

GET

SaaS: https://{your-environment-id}.live.astromkey.com/api/v2/metrics

GET

Среда Активного Шлюза / Кластер Активного Шлюза: https://{your-activegate-domain}:9999/e/{your-environment-id}/api/v2/metrics

Аутентификация

Для выполнения этого запроса вам потребуется токен доступа с областью действия metrics.read.

Чтобы узнать, как получить и использовать его, см. раздел «Токены и аутентификация».

Параметры

Параметр Тип Описание В Необходимый
nextPageKey string Курсор для перехода на следующую страницу результатов. Его можно найти в поле nextPageKey предыдущего ответа.

Если параметр запроса nextPageKey не указан, всегда возвращается первая страница. Если параметр nextPageKey настроен на получение последующих страниц, все остальные параметры запроса необходимо опустить. || query || Необязательный

pageSize integer Количество метрических схем в одном ответном пакете данных.

Максимально допустимый размер страницы — 500. Если значение не задано, используется значение 100. Если используется значение больше 500, на каждой странице будет возвращено только 500 результатов. || query || Необязательный

metricSelector string Выбирает метрики для запроса по их ключам.

Вы можете указать несколько ключей метрик, разделенных запятыми (например, metrickey1,metrickey2). Чтобы выбрать несколько метрик, принадлежащих одному и тому же родительскому элементу, укажите последнюю часть необходимых ключей метрик в скобках, разделенных запятыми, оставив общую часть без изменений. Например, чтобы вывести метрики builtin:host.cpu.idle и builtin:host.cpu.user, напишите: builtin:host.cpu.(idle,user). Вы можете выбрать полный набор связанных метрик, используя символ подстановки в виде звездочки (*). Например, builtin:host.* выберет все метрики, отображаемые на хосте, а builtin:* выберет все метрики, предоставляемые Ключ-АСТРОМ. Вы можете задать дополнительные операторы преобразования, разделяемые двоеточием (:). Дополнительную информацию о доступных преобразованиях результатов и синтаксисе см. в разделе «Преобразования селекторов метрик» в документации Ключ-АСТРОМ. Данная конечная точка поддерживает только преобразования aggregation, merge, parents, и splitBy. Если метрическая шкала содержит какие-либо символы, её необходимо заключить в кавычки ("). Следующие символы внутри метрической шкалы в кавычках должны быть экранированы тильдой (~):

  • Кавычки (")
  • Тильда (~)

Например, чтобы запросить метрику по ключу ext:selfmonitoring.jmx.Agents: Type "APACHE", необходимо указать следующий селектор: "ext:selfmonitoring.jmx.Agents: Type ~"APACHE~"". Чтобы найти метрики по поисковому запросу, а не по идентификатору метрики (metricId), используйте параметр текстового запроса вместо этого. || query || Необязательный

text string Поисковый запрос в реестре метрик. Отображать только те метрики, которые содержат этот термин в своем ключе, отображаемом имени или описании. Используйте параметр metricSelector вместо этого, чтобы выбрать полную иерархию метрик вместо текстового поиска. query Необязательный
fields string Определяет список свойств метрик, включаемых в ответ.

metricId всегда включается в результат. Доступны следующие дополнительные свойства:

  • displayName — Название метрики в пользовательском интерфейсе. Включено по умолчанию.
  • description — Краткое описание метрики. Включено по умолчанию.
  • unit — Единица измерения в метрической системе. Включено по умолчанию.
  • tags — Метки метрики.
  • dduBillable — Индикатор того, расходует ли использование метрики единицы данных ИИ. Устарело и всегда false используется для подписки на платформу Ключ-АСТРОМ. Заменено на billable.
  • billable — Индикатор того, подлежит ли использование метрики оплате.
  • created — Временная метка (в миллисекундах UTC), когда была создана метрика.
  • lastWritten — Временная метка (в миллисекундах UTC), когда данные метрики были записаны в последний раз.
  • aggregationTypes — Список допустимых агрегаций для метрики. Обратите внимание, что он может измениться после применения преобразования.
  • defaultAggregation — Агрегирование метрики по умолчанию. Используется, когда агрегирование не указано или задано преобразование :auto.
  • dimensionDefinitions — Детальное разбиение на метрики (например, группа процессов и идентификатор процесса для некоторых метрик, связанных с процессом).
  • transformations — Список преобразований, которые могут быть применены к метрике.
  • entityType — Список типов сущностей, поддерживаемых данной метрикой.
  • minimumValue — Минимально допустимое значение показателя.
  • maximumValue — Максимально допустимое значение показателя.
  • rootCauseRelevant — Верно или неверно, связана ли метрика с первопричиной проблемы. Метрика, имеющая отношение к первопричине, является сильным индикатором неисправности компонента.
  • impactRelevant — Является ли (истина или ложь) метрика релевантной влиянию проблемы. Релевантная метрика сильно зависит от других метрик и изменяется из-за изменения базовой метрики, определяющей первопричину проблемы.
  • metricValueType — Тип значения метрики. Вам доступны следующие варианты:
    • score — Показатель эффективности, высокие значения которого указывают на благоприятную ситуацию, а низкие — на проблемы.
    • error — Показатель ошибок, высокие значения которого указывают на проблемы, а низкие — на благоприятную ситуацию.
  • latency — Задержка метрики в минутах. Задержка — это ожидаемая задержка в формировании отчета между моментом получения данных метрики и их доступностью в Ключ-АСТРОМ. Допустимый диапазон значений — от 1 до 60 минут.
  • metricSelector — Базовый селектор метрики, используемый функцией :metric.
  • scalar — Указывает, преобразуется ли метрическое выражение в скаляр (true) или в ряд (false). Скалярный результат всегда содержит одну точку данных.
  • resolutionInfSupported — Если значение равно true, то параметр resolution=Inf может быть применен к запросу метрики.
  • unitDisplayFormat — Система счисления, используемая для отображения значений байтов/битов. Может быть binary (1 МиБ = 1024 КиБ) или decimal (1 МБ = 1000 кБ).
  • exported — Указывает, был ли метрика экспортирована.
  • dimensionCardinalities — Статистика мощности множества для каждого измерения метрики MINT, включая предполагаемое количество уникальных значений и относительный процент.

Чтобы добавить свойства, перечислите их, начиная с плюса +. Чтобы исключить свойства по умолчанию, перечислите их, начиная с минуса -. Для указания нескольких свойств соедините их запятой (например, fields=+aggregationTypes,-description). Если вы укажете только одно свойство, ответ будет содержать ключ метрики и указанное свойство. Чтобы вернуть только ключи метрики, укажите metricId здесь. || query || Необязательный

writtenSince string Фильтрует полученный набор метрик, оставляя только те, которые содержат данные за указанный период времени.

Вы можете использовать один из следующих форматов:

  • Временная метка в миллисекундах UTC.
  • Удобочитаемый формат, например, 2021-01-25T05:57:01.123+01:00. Если часовой пояс не указан, используется UTC. Вместо запятой можно использовать пробел T. Секунды и доли секунды — необязательные значения.
  • Относительный временной интервал, отстоящий от настоящего момента. Формат: now-NU/A, где N — количество времени, U — единица времени, а A — выравнивание. Выравнивание округляет все меньшие значения до ближайшего нуля в прошлом. Например, now-1y/w — это один год назад, выровненный на неделю. Вы также можете указать относительный временной интервал без выравнивания: now-NU. Поддерживаемые единицы времени для относительного временного интервала:
    • m — минут
    • h — часы
    • d — дней
    • w — недель
    • M — месяцев
    • y — годы || query || Необязательный
writtenSinceMode string Управляет способом применения фильтра writtenSince.
  • INCLUDE — Включает только метрики, записанные после указанной метки времени writtenSince (отфильтровывает метрики, не записанные с этого момента).
  • EXCLUDE — Исключает метрики, записанные после указанной метки времени writtenSince (возвращает только метрики, не записанные с этого момента).

Если не указано иное, по умолчанию используется значение INCLUDE. || query || Необязательный

metadataSelector string Область действия метаданных запроса. В ответ включаются только метрики с указанными свойствами.

Вы можете задать один или несколько из следующих критериев. Значения чувствительны к регистру, и используется оператор EQUALS. Если указано несколько значений, применяется логика ИЛИ.

  • unit("unit-1","unit-2")
  • tags("tag-1","tag-2")
  • dimensionKey("dimkey-1","dimkey-2") — Фильтрация применяется только к измерениям, которые были записаны в течение последних 14 дней.
  • custom("true")"true" означает включение только пользовательских метрик (без пространства имен или с ext:, calc:, func:, appmon:), "false" — их исключение.
  • exported("true") — Значение "true" означает включение только экспортированных метрик, "false" — их исключение.

Чтобы задать несколько критериев, разделите их запятой (,). В ответ будут включены только результаты, соответствующие всем критериям. || query || Необязательный

Ответ

Коды ответов

Код Тип Описание
200 Сборник дескрипторов метрик Успех
400 - Синтаксическая или валидационная ошибка. В селекторе метрик или полях обнаружены синтаксические или семантические ошибки.
404 - Показатель не найден.
406 - Неприемлемо. Запрошенный тип носителя не поддерживается. Проверьте заголовок Accept вашего запроса.
4XX Оболочка ошибки Ошибка на стороне клиента.
5XX Оболочка ошибки Ошибка на стороне сервера.

Объекты тела ответа

Объект MetricDescriptorCollection

Список метрик с их описаниями.

Элемент Тип Описание
metrics MetricDescriptor [] Список метрик с их описаниями.
nextPageKey string Курсор для перехода на следующую страницу результатов. Имеет значение null на последней странице.

Используйте его в параметре запроса nextPageKey, чтобы получить последующие страницы результата.

totalCount integer Примерное количество метрик в результате.
warnings string [] Список возможных предупреждений о запросе. Например, об использовании устаревших функций и т.д.

Объект MetricDescriptor

Описание метрики.

Элемент Тип Описание
aggregationTypes string [] Список допустимых агрегаций для данного показателя.
billable boolean Если true, использование метрики оплачивается. Метрические выражения не возвращают это поле.
created integer Отметка времени создания метрики. Встроенные метрики и выражения метрик имеют значение null.
dduBillable boolean Если true, использование метрики потребляет единицы данных ИИ. Устарело и всегда false используется для подписки на платформу Ключ-АСТРОМ. Заменено на isBillable. Метрические выражения не возвращают это поле.
defaultAggregation MetricDefaultAggregation Агрегирование метрики по умолчанию.
description string Краткое описание метрики.
dimensionCardinalities MetricDimensionCardinality [] Мощность метрических измерений MINT.
dimensionDefinitions MetricDimensionDefinition [] Детальное метрическое деление (например, группа процессов и идентификатор процесса для некоторых показателей, связанных с процессом). При обработке входящих метрик исключаются измерения, по которым не было данных за последние 15 дней.
displayName string Название метрики в пользовательском интерфейсе.
entityType string [] Список допустимых основных типов сущностей для этой метрики. Может использоваться в качестве type предиката в entitySelector.
impactRelevant boolean Показатель имеет (true) или не имеет (false) значения для оценки воздействия. Показатель, имеющий значение для оценки воздействия, в значительной степени зависит от других показателей и изменяется, поскольку изменился основной показатель, являющийся первопричиной проблемы. Метрические выражения не возвращают это поле.
lastWritten integer Отметка времени, когда метрика была записана в последний раз. Имеет значение null для метрических выражений или если данные никогда не были записаны.
latency integer Задержка по данному показателю, в минутах. Задержка — это ожидаемая задержка в формировании отчета между моментом получения данных метрики и их доступностью в Ключ-АСТРОМ. Допустимый диапазон значений составляет от 1 до 60 минут. Метрические выражения не возвращают это поле.
maximumValue number Максимально допустимое значение показателя. Метрические выражения не возвращают это поле.
metricId string Полный ключ метрики. Если использовалось преобразование, это отражается в ключе метрики.
metricSelector string Селектор метрики, используемый при запросе к функции :metric.
metricValueType MetricValueType Тип значения для метрики.
minimumValue number Минимально допустимое значение показателя. Метрические выражения не возвращают это поле.
resolutionInfSupported boolean Если значение равно true, то параметр resolution=Inf может быть применен к запросу метрики.
rootCauseRelevant boolean Показатель имеет (true) или не имеет (false) отношения к первопричине. Показатель, позволяющий выявить первопричину неисправности, является надежным индикатором наличия неисправного компонента. Метрические выражения не возвращают это поле.
scalar boolean Указывает, преобразуется ли метрическое выражение в скаляр (true) или в ряд (false). Скалярный результат всегда содержит одну точку данных. Количество точек данных в результате ряда зависит от используемого разрешения.
tags string [] Метки, присвоенные метрике. Метрические выражения не возвращают это поле.
transformations string [] Операторы преобразования, которые можно добавить к текущему списку преобразований.
unit string Единица метрической системы.
unitDisplayFormat string Исходное значение хранится в битах или байтах. Пользовательский интерфейс может отображать его в следующих системах счисления:
  • BINARY — Двоичный формат: 1 МиБ = 1024 КиБ = 1 048 576 байт
  • DECIMAL — Десятичная система счисления: 1 МБ = 1000 КБ = 1 000 000 байт

Если не указано иное, используется десятичная система счисления. Метрические выражения не возвращают это поле.

warnings string [] Список потенциальных предупреждений, затрагивающих этот идентификатор. Например, использование устаревших функций и т. д.

Объект MetricDefaultAggregation

Агрегирование метрики по умолчанию.

Элемент Тип Описание
parameter number Процент, который необходимо выполнить. Допустимые значения находятся в диапазоне от 0 до 100. Применимо только к percentile типу агрегации.
type string Тип агрегирования по умолчанию.

Объект MetricDimensionCardinality

Мощность размерностей метрики.

Элемент Тип Описание
estimate integer Оценка мощности размерности.
key string Ключ к измерению. Оно должно быть уникальным в рамках данной метрики.
relative number Относительная мощность измерения, выраженная в процентах.

Объект MetricDimensionDefinition

Размерность метрики.

Элемент Тип Описание
displayName string Отображаемое название измерения.
index integer Уникальный индекс измерения, начинающийся с 0. Добавление преобразований, таких как :names или :parents, может изменять индексы измерений. null используется для измерений метрики с гибкими измерениями, на которые можно ссылаться по их ключу измерения, но которые не имеют внутреннего порядка, который можно было бы использовать для индекса.
key string Ключ к измерению. Оно должно быть уникальным в рамках данной метрики.
name string Название измерения.
type string Тип измерения. Может принимать значения: ENTITY, NUMBER, OTHER, STRING, VOID.

Объект MetricValueType

Тип значения для метрики.

Элемент Тип Описание
type string Тип значения метрики: error, score, unknown.

Модели JSON тела ответа

Успешный ответ (200)

{
  "metrics": [
    {
      "aggregationTypes": [
        "auto",
        "value"
      ],
      "created": 1597400123451,
      "dduBillable": false,
      "defaultAggregation": {
        "type": "value"
      },
      "description": "Процент используемого в данный момент процессорного времени в пользовательском пространстве для каждого хоста.",
      "dimensionDefinitions": [
        {
          "displayName": "Host",
          "index": 0,
          "key": "dt.entity.host",
          "name": "Host",
          "type": "ENTITY"
        }
      ],
      "displayName": "Пользователь ЦП",
      "entityType": [
        "HOST"
      ],
      "lastWritten": 1597400717783,
      "metricId": "builtin:host.cpu.user:splitBy(\"dt.entity.host\"):max:fold",
      "metricValueType": {
        "type": "unknown"
      },
      "tags": [],
      "transformations": [
        "filter",
        "fold",
        "limit",
        "merge",
        "names",
        "parents",
        "timeshift",
        "rate",
        "sort",
        "last",
        "splitBy"
      ],
      "unit": "Percent"
    },
    {
      "aggregationTypes": [
        "auto",
        "value"
      ],
      "created": 1597400123451,
      "dduBillable": false,
      "defaultAggregation": {
        "type": "value"
      },
      "description": "Процент используемого в данный момент процессорного времени в пользовательском пространстве для каждого хоста.",
      "dimensionDefinitions": [
        {
          "displayName": "Host",
          "index": 0,
          "key": "dt.entity.host",
          "name": "Host",
          "type": "ENTITY"
        }
      ],
      "displayName": "Пользователь ЦП",
      "entityType": [
        "HOST"
      ],
      "lastWritten": 1597400717783,
      "metricId": "builtin:host.cpu.user:splitBy()",
      "metricValueType": {
        "type": "unknown"
      },
      "tags": [],
      "transformations": [
        "filter",
        "fold",
        "limit",
        "merge",
        "names",
        "parents",
        "timeshift",
        "rate",
        "sort",
        "last",
        "splitBy"
      ],
      "unit": "Percent"
    }
  ],
  "nextPageKey": "ABCDEFABCDEFABCDEF_",
  "totalCount": 3
}

Ответ с ошибкой

{
  "error": {
    "code": 1,
    "constraintViolations": [
      {
        "location": "string",
        "message": "string",
        "parameterLocation": "HEADER",
        "path": "string"
      }
    ],
    "message": "string"
  }
}

Пример

В этом примере запрос запрашивает все встроенные метрики (параметр metricSelector установлен в значение builtin:*), доступные в среде mySampleEnv. В ответ включены следующие поля: metricId, unit, aggregationTypes. Для этого параметр запроса fields устанавливается в значение unit,aggregationTypes.

API-токен передается в заголовке Authorization.

cURL

curl -L -X GET 'https://mySampleEnv.live.astromkey.com/api/v2/metrics?fields=unit,aggregationTypes&metricSelector=builtin:*' \
-H 'Authorization: Api-Token dt0c01.abc123.abcdefjhij1234567890' \
-H 'Accept: application/json'

URL запроса

https://mySampleEnv.live.astromkey.com/api/v2/metrics?fields=unit,aggregationTypes&metricSelector=builtin:*

Тело ответа (JSON)

{
  "totalCount": 1808,
  "nextPageKey": "___a7acX3q0AAAAGAQAJYnVpbHRpbjoqAQA",
  "metrics": [
    {
      "metricId": "builtin:host.cpu.idle",
      "unit": "Percent",
      "aggregationTypes": [
        "auto",
        "avg",
        "max",
        "min"
      ]
    },
    {
      "metricId": "builtin:host.cpu.load",
      "unit": "Ratio",
      "aggregationTypes": [
        "auto",
        "avg",
        "max",
        "min"
      ]
    },
    {
      "metricId": "builtin:service.errors.server.count",
      "unit": "Count",
      "aggregationTypes": [
        "auto",
        "value"
      ]
    },
    {
      "metricId": "builtin:service.keyRequest.count.client",
      "unit": "Count",
      "aggregationTypes": [
        "auto",
        "value"
      ]
    }
  ]
}

Тело ответа (CSV с заголовком)

metricId,unit,aggregationTypes
builtin:host.cpu.idle,Percent,"[auto, avg, max, min]"
builtin:host.cpu.load,Ratio,"[auto, avg, max, min]"
builtin:service.errors.server.count,Count,"[auto, value]"
builtin:service.keyRequest.count.client,Count,"[auto, value]"

Код ответа: 200