Нет описания правки |
Нет описания правки |
||
| (не показаны 2 промежуточные версии этого же участника) | |||
| Строка 1: | Строка 1: | ||
'''''[[API АппОптима]] / [[API АппОптима|Эндпойнты среды]] / [https://docs.expert-apm.ru/index.php/API_%D0%90%D0%BF%D0%BF%D0%9E%D0%BF%D1%82%D0%B8%D0%BC%D0%B0#:~:text=DELETE%20%D1%82%D0%B5%D0%B3%D0%BE%D0%B2-,%D0%A0%D0%B0%D0%B7%D0%B2%D1%91%D1%80%D1%82%D1%8B%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5,-%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D1%82%D1%8C Развёртывание] / [https://docs.expert-apm.ru/index.php/API_%D0%90%D0%BF%D0%BF%D0%9E%D0%BF%D1%82%D0%B8%D0%BC%D0%B0#:~:text=POST%20%D1%82%D0%BE%D1%87%D0%B5%D0%BA%20%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-,%D0%9C%D0%B5%D1%82%D1%80%D0%B8%D0%BA%D0%B8%20v2,-GET%20%D0%BC%D0%B5%D1%82%D1%80%D0%B8%D0%BA Метрики v2] / GET метрик''''' | |||
Список всех доступных показателей. | Список всех доступных показателей. | ||
| Строка 52: | Строка 54: | ||
Можно указать несколько ключей метрик, разделенных запятыми (например, <code>metrickey1,metrickey2</code>). Чтобы выбрать несколько метрик, принадлежащих одному и тому же родителю, перечислите последнюю часть необходимых ключей метрик в круглых скобках, разделенных запятыми, не затрагивая общую часть. Например, чтобы перечислить метрику <code>builtin:host.cpu.idle</code>и , напишите: .<code>builtin:host.cpu.userbuiltin:host.cpu.(idle,user)</code> | Можно указать несколько ключей метрик, разделенных запятыми (например, <code>metrickey1,metrickey2</code>). Чтобы выбрать несколько метрик, принадлежащих одному и тому же родителю, перечислите последнюю часть необходимых ключей метрик в круглых скобках, разделенных запятыми, не затрагивая общую часть. Например, чтобы перечислить метрику <code>builtin:host.cpu.idle</code>и , напишите: .<code>builtin:host.cpu.userbuiltin:host.cpu.(idle,user)</code> | ||
<code>*</code>Вы можете выбрать полный набор связанных показателей, используя подстановочный знак звездочки ( ). Например, <code>builtin:host.*</code>выбирает все метрики на основе хоста и <code>builtin:*</code>выбирает все метрики, предоставленные | <code>*</code>Вы можете выбрать полный набор связанных показателей, используя подстановочный знак звездочки ( ). Например, <code>builtin:host.*</code>выбирает все метрики на основе хоста и <code>builtin:*</code>выбирает все метрики, предоставленные АппОптима. | ||
Вы можете установить дополнительные операторы преобразования, разделенные двоеточием ( <code>:</code>). Дополнительную информацию о доступных преобразованиях результатов и синтаксисе см. в разделе Преобразования селектора показателей в документации | Вы можете установить дополнительные операторы преобразования, разделенные двоеточием ( <code>:</code>). Дополнительную информацию о доступных преобразованиях результатов и синтаксисе см. в разделе Преобразования селектора показателей в документации АппОптима. | ||
Эта конечная точка поддерживает только преобразования , <code>aggregation</code>, <code>merge</code>и <code>parents</code>.<code>splitBy</code> | Эта конечная точка поддерживает только преобразования , <code>aggregation</code>, <code>merge</code>и <code>parents</code>.<code>splitBy</code> | ||
| Строка 100: | Строка 102: | ||
**<code>score</code>: Метрика оценки — это метрика, где высокие значения указывают на хорошую ситуацию, а низкие значения указывают на проблемы. Примером такой метрики является показатель успешности. | **<code>score</code>: Метрика оценки — это метрика, где высокие значения указывают на хорошую ситуацию, а низкие значения указывают на проблемы. Примером такой метрики является показатель успешности. | ||
**<code>error</code>: Метрика ошибок — это метрика, высокие значения которой указывают на проблему, а низкие значения указывают на хорошую ситуацию. Примером такой метрики является счетчик ошибок. | **<code>error</code>: Метрика ошибок — это метрика, высокие значения которой указывают на проблему, а низкие значения указывают на хорошую ситуацию. Примером такой метрики является счетчик ошибок. | ||
*<code>latency</code>: задержка метрики в минутах. Задержка — это ожидаемая задержка в отчетах (например, вызванная ограничениями поставщиков облачных услуг или других сторонних источников данных) между наблюдением за точкой данных метрики и ее доступностью в | *<code>latency</code>: задержка метрики в минутах. Задержка — это ожидаемая задержка в отчетах (например, вызванная ограничениями поставщиков облачных услуг или других сторонних источников данных) между наблюдением за точкой данных метрики и ее доступностью в АппОптима. Допустимый диапазон значений от <code>1</code>до <code>60</code>минут. | ||
*<code>metricSelector</code>: Базовый селектор метрик, используемый func: metric. | *<code>metricSelector</code>: Базовый селектор метрик, используемый func: metric. | ||
*<code>scalar</code>: указывает, разрешается ли выражение метрики в скаляр ( <code>true</code>) или в ряд ( <code>false</code>). Скалярный результат всегда содержит одну точку данных. Количество точек данных в результате серии зависит от используемого разрешения. | *<code>scalar</code>: указывает, разрешается ли выражение метрики в скаляр ( <code>true</code>) или в ряд ( <code>false</code>). Скалярный результат всегда содержит одну точку данных. Количество точек данных в результате серии зависит от используемого разрешения. | ||
| Строка 213: | Строка 215: | ||
|integer | |integer | ||
|Задержка показателя в минутах. | |Задержка показателя в минутах. | ||
Задержка — это ожидаемая задержка в отчетах (например, вызванная ограничениями поставщиков облачных услуг или других сторонних источников данных) между наблюдением за точкой данных метрики и ее доступностью в | Задержка — это ожидаемая задержка в отчетах (например, вызванная ограничениями поставщиков облачных услуг или других сторонних источников данных) между наблюдением за точкой данных метрики и ее доступностью в АппОптима. | ||
Допустимый диапазон значений составляет от 1 до 60 минут. | Допустимый диапазон значений составляет от 1 до 60 минут. | ||
| Строка 550: | Строка 552: | ||
} | } | ||
] | ] | ||
} | } | ||
==Пример== | ==Пример== | ||
В этом примере запрос запрашивает все встроенные метрики ( для metricSelector установлено значение <code>builtin:*</code>), доступные в среде mySampleEnv . В ответ включаются следующие поля: | В этом примере запрос запрашивает все встроенные метрики ( для metricSelector установлено значение <code>builtin:*</code>), доступные в среде mySampleEnv . В ответ включаются следующие поля: | ||
*идентификатор метрики | *идентификатор метрики | ||
*Ед. изм | *Ед. изм. | ||
*типы агрегации | *типы агрегации | ||
Для этого для параметра запроса полей<code>unit,aggregationTypes</code> установлено значение . | Для этого для параметра запроса полей<code>unit,aggregationTypes</code> установлено значение . | ||
| Строка 564: | Строка 566: | ||
<curl -L -X GET '<nowiki>https://mySampleEnv.live.ruscomtech.ru/api/v2/metrics?fields=unit,aggregationTypes&metricSelector=builtin:*'</nowiki> \ | <curl -L -X GET '<nowiki>https://mySampleEnv.live.ruscomtech.ru/api/v2/metrics?fields=unit,aggregationTypes&metricSelector=builtin:*'</nowiki> \ | ||
-H 'Authorization: Api-Token dt0c01.abc123.abcdefjhij1234567890' \ | -H 'Authorization: Api-Token dt0c01.abc123.abcdefjhij1234567890' \ | ||
-H 'Accept: application/json' | -H 'Accept: application/json' | ||
====URL-адрес запроса==== | ====URL-адрес запроса==== | ||
<code><nowiki>https://mySampleEnv.live.ruscomtech.ru/api/v2/metrics?fields=unit,aggregationTypes&metricSelector=builtin:*</nowiki></code> | <code><nowiki>https://mySampleEnv.live.ruscomtech.ru/api/v2/metrics?fields=unit,aggregationTypes&metricSelector=builtin:*</nowiki></code> | ||
| Строка 609: | Строка 611: | ||
} | } | ||
] | ] | ||
} | } | ||
Таблица CSV со строкой заголовка выглядит следующим образом. Чтобы получить его, измените заголовок Accept<code>text/csv; header=present</code> на . | Таблица CSV со строкой заголовка выглядит следующим образом. Чтобы получить его, измените заголовок Accept<code>text/csv; header=present</code> на . | ||
<metricId,unit,aggregationTypes | <metricId,unit,aggregationTypes | ||
| Строка 615: | Строка 617: | ||
builtin:host.cpu.load,Ratio,"[auto, avg, max, min]" | builtin:host.cpu.load,Ratio,"[auto, avg, max, min]" | ||
builtin:service.errors.server.count,Count,"[auto, value]" | builtin:service.errors.server.count,Count,"[auto, value]" | ||
builtin:service.keyRequest.count.client,Count,"[auto, value]" | builtin:service.keyRequest.count.client,Count,"[auto, value]" | ||
====Код ответа==== | ====Код ответа==== | ||
200 | 200 | ||
Текущая версия от 12:10, 29 декабря 2024
API АппОптима / Эндпойнты среды / Развёртывание / Метрики v2 / GET метрик
Список всех доступных показателей.
Вы можете ограничить вывод, используя нумерацию страниц:
- Укажите количество результатов на странице в параметре запроса pageSize .
- Затем используйте курсор из поля nextPageKey предыдущего ответа в параметре запроса nextPageKey для получения последующих страниц.
Запрос создает один из следующих типов полезной нагрузки, в зависимости от значения заголовка запроса Accept :
application/jsontext/csv; header=present— таблица CSV со строкой заголовкаtext/csv; header=absent— таблица CSV без строки заголовка
Если с запросом не предоставлен заголовок Acceptapplication/json , возвращается полезная нагрузка.
| GET | АппОптима | https://{your-domain}/e/{your-environment-id}/api/v2/metrics
|
| Cреда АктивногоШлюза | https://{your-activegate-domain}/e/{your-environment-id}/api/v2/metrics
|
Аутентификация
Чтобы выполнить этот запрос, вам нужен токен доступа с областью действия Чтение метрик ( metrics.read) . Чтобы узнать, как его получить и использовать, см. раздел Токены и аутентификация .
Параметры
| Параметр | Тип | Описание | В | Необходимый |
|---|---|---|---|---|
| nextPageKey | string | Курсор для следующей страницы результатов. Вы можете найти его в поле nextPageKey предыдущего ответа.
Первая страница всегда возвращается, если вы не укажете параметр запроса nextPageKey . Когда nextPageKey настроен на получение последующих страниц, вы должны опустить все остальные параметры запроса. |
запрос | по желанию |
| pageSize | integer | Количество метрических схем в полезной нагрузке одного ответа.
Максимально допустимый размер страницы – 500. Если не установлено, используется 100. Если используется значение выше 500, возвращается только 500 результатов на страницу. |
запрос | по желанию |
| metricSelector | string | Выбирает метрики для запроса по их ключам.
Можно указать несколько ключей метрик, разделенных запятыми (например,
Вы можете установить дополнительные операторы преобразования, разделенные двоеточием ( Эта конечная точка поддерживает только преобразования , Если ключ метрики содержит какие-либо символы, ключ необходимо заключить в кавычки (
Например, чтобы запросить метрику с ключом ext:selfmonitoring.jmx.Agents: Введите «APACHE» , вы должны указать этот селектор:
Чтобы найти метрики на основе условия поиска, а не metricId, используйте текстовый параметр запроса вместо этого. |
запрос | по желанию |
| text | string | Критерий поиска реестра метрик. Показывать только те метрики, которые содержат термин в своем ключе, отображаемом имени или описании. Используйте этот metricSelectorпараметр вместо этого, чтобы выбрать полную иерархию метрик вместо текстового поиска.
|
запрос | по желанию |
| fields | string | Определяет список свойств метрик, включенных в ответ.
Чтобы добавить свойства, перечислите их с начальным плюсом Чтобы указать несколько свойств, соедините их запятой (например, Если указать только одно свойство, ответ будет содержать ключ метрики и указанное свойство. Чтобы вернуть только ключи метрик, укажите |
запрос | по желанию |
| writtenSince | string | Фильтрует результирующий набор метрик до тех, которые имеют точки данных в пределах указанного периода времени.
Вы можете использовать один из следующих форматов:
|
запрос | по желанию |
| metadataSelector | string | Область метаданных запроса. В ответ включаются только метрики с указанными свойствами.
Вы можете установить один или несколько из следующих критериев. Значения чувствительны к регистру и используется
Чтобы задать несколько критериев, разделите их запятой ( Например, чтобы вывести список метрик, у которых есть функция тегов feature AND cloud с единицей измерения Percent OR MegaByte AND измерение с измерением ключа location , используйте следующий metadataSelector : |
запрос | по желанию |
Ответ
Коды ответов
| Код | Тип | Описание |
|---|---|---|
| 200 | MetricDescriptorCollection | Успех |
| 400 | Ошибка синтаксиса или проверки. metricSelector или поля содержат синтаксические или семантические ошибки. | |
| 404 | Метрика не найдена. | |
| 406 | Неприемлимо. Запрошенный тип носителя не поддерживается. Проверьте заголовок Accept вашего запроса. |
Объекты тела ответа
Объект MetricDescriptorCollection
Список метрик вместе с их дескрипторами.
| Элемент | Тип | Описание |
|---|---|---|
| nextPageKey | string | Курсор для следующей страницы результатов. Имеет значение nullна последней странице.
Используйте его в параметре запроса nextPageKey для получения последующих страниц результата. |
| totalCount | integer | Предполагаемое количество метрик в результате. |
| metrics | MetricDescriptor[] | Список метрик вместе с их дескрипторами |
| warnings | string [] | Список возможных предупреждений о запросе. Например, использование устаревших функций и т. д. |
Объект MetricDescriptor
Дескриптор метрики.
| Элемент | Тип | Описание |
|---|---|---|
| dimensionCardinalities | MetricDimensionCardinality[] | Количество элементов метрических измерений MINT. |
| minimumValue | number | Минимально допустимое значение метрики.
Выражения показателей не возвращают это поле. |
| maximumValue | number | Максимально допустимое значение метрики.
Выражения показателей не возвращают это поле. |
| latency | integer | Задержка показателя в минутах.
Задержка — это ожидаемая задержка в отчетах (например, вызванная ограничениями поставщиков облачных услуг или других сторонних источников данных) между наблюдением за точкой данных метрики и ее доступностью в АппОптима. Допустимый диапазон значений составляет от 1 до 60 минут. Выражения показателей не возвращают это поле. |
| resolutionInfSupported | boolean | Если установлено значение «true», разрешение=Inf может быть применено к запросу метрики. |
| unitDisplayFormat | string | Необработанное значение хранится в битах или байтах. Пользовательский интерфейс может отображать его в следующих системах счисления:
Двоичный: 1 МБ = 1024 КиБ = 1 048 576 байт. Десятичный: 1 МБ = 1000 КБ = 1 000 000 байт. Если не задано, используется десятичная система. Выражения показателей не возвращают это поле. Элемент может содержать эти значения
|
| rootCauseRelevant | boolean | Метрика является ( true) или не является ( false) релевантной для основной причины.
Метрика, относящаяся к первопричине, представляет собой надежный индикатор неисправного компонента. Выражения показателей не возвращают это поле. |
| dduBillable | boolean | Если trueиспользование метрики потребляет единицы данных Дэвиса .
Выражения показателей не возвращают это поле. |
| defaultAggregation | MetricDefaultAggregation | Агрегирование метрики по умолчанию. |
| lastWritten | integer | Отметка времени последней записи метрики.
Имеет значение |
| impactRelevant | boolean | Метрика является ( true) или не является ( false) релевантной для воздействия.
Метрика, имеющая отношение к влиянию, сильно зависит от других метрик и изменений, поскольку базовая метрика первопричины изменилась. Выражения показателей не возвращают это поле. |
| dimensionDefinitions | MetricDimensionDefinition[] | Точное разделение метрик (например, группа процессов и идентификатор процесса для некоторой метрики, связанной с процессом).
Для загруженных показателей параметры, по которым не было данных за последние 15 дней, опускаются. |
| metricValueType | MetricValueType | Тип значения для метрики. |
| tags | string [] | Теги, примененные к метрике.
Выражения показателей не возвращают это поле. |
| entityType | string [] | Список допустимых основных типов сущностей для этой метрики. Может использоваться для typeпредиката в entitySelector.
|
| metricId | string | Полный ключ метрики.
Если использовалось преобразование, оно отражается в ключе метрики. |
| metricSelector | string | Селектор метрик, который используется при запросе метрики func:. |
| scalar | boolean | Указывает, разрешается ли метрическое выражение в скаляр ( true) или в ряд ( false). Скалярный результат всегда содержит одну точку данных. Количество точек данных в результате серии зависит от используемого разрешения.
|
| aggregationTypes | string [] | Список разрешенных агрегаций для этой метрики.
Элемент может содержать эти значения
|
| displayName | string | Имя метрики в пользовательском интерфейсе. |
| description | string | Краткое описание метрики. |
| transformations | string [] | Операторы преобразования, которые можно добавить к текущему списку преобразований.
Элемент может содержать эти значения
|
| unit | string | Единица измерения. |
| warnings | string[] | Список потенциальных предупреждений, влияющих на этот идентификатор. Например, использование устаревших функций и т. д. |
| created | integer | Отметка времени создания метрики.
Встроенные метрики и выражения метрик имеют значение |
Объект MetricDimensionCardinality
Количество элементов измерения метрики.
| Элемент | Тип | Описание |
|---|---|---|
| relative | number | Относительная кардинальность измерения, выраженная в процентах |
| estimate | integer | Оценка количества элементов измерения. |
| key | string | Ключ измерения.
Он должен быть уникальным в пределах метрики. |
Объект MetricDefaultAggregation
Агрегирование метрики по умолчанию.
| Элемент | Тип | Описание |
|---|---|---|
| parameter | number | Доставляемый процентиль. Допустимые значения находятся между 0и 100.
Применимо только к |
| type | string | Тип агрегации по умолчанию.
Элемент может содержать эти значения
|
Объект MetricDimensionDefinition
Размерность метрики.
| Элемент | Тип | Описание |
|---|---|---|
| displayName | string | Отображаемое имя измерения. |
| name | string | Имя измерения. |
| key | string | Ключ измерения.
Он должен быть уникальным в пределах метрики. |
| type | string | Тип измерения.
Элемент может содержать эти значения
|
| index | integer | Уникальный индекс измерения, начинающийся с 0.
Добавление преобразований, таких как :names или :parents, может изменить индексы измерений. |
Объект MetricValueType
Тип значения для метрики.
| Элемент | Тип | Описание |
|---|---|---|
| type | string | Тип значения метрики
Элемент может содержать эти значения
|
JSON-модель тела ответа
<{
"totalCount": 3,
"nextPageKey": "ABCDEFABCDEFABCDEF_",
"metrics": [
{
"metricId": "builtin:host.cpu.user:splitBy(\"dt.entity.host\"):max:fold",
"displayName": "CPU user",
"description": "Percentage of user-space CPU time currently utilized, per host.",
"unit": "Percent",
"dduBillable": false,
"created": 1597400123451,
"lastWritten": 1597400717783,
"entityType": [
"HOST"
],
"aggregationTypes": [
"auto",
"value"
],
"transformations": [
"filter",
"fold",
"limit",
"merge",
"names",
"parents",
"timeshift",
"rate",
"sort",
"last",
"splitBy"
],
"defaultAggregation": {
"type": "value"
},
"dimensionDefinitions": [
{
"key": "dt.entity.host",
"name": "Host",
"displayName": "Host",
"index": 0,
"type": "ENTITY"
}
],
"tags": [],
"metricValueType": {
"type": "unknown"
}
},
{
"metricId": "builtin:host.cpu.user:splitBy()",
"displayName": "CPU user",
"description": "Percentage of user-space CPU time currently utilized, per host.",
"unit": "Percent",
"dduBillable": false,
"created": 1597400123451,
"lastWritten": 1597400717783,
"entityType": [
"HOST"
],
"aggregationTypes": [
"auto",
"value"
],
"transformations": [
"filter",
"fold",
"limit",
"merge",
"names",
"parents",
"timeshift",
"rate",
"sort",
"last",
"splitBy"
],
"defaultAggregation": {
"type": "value"
},
"dimensionDefinitions": [
{
"key": "dt.entity.host",
"name": "Host",
"displayName": "Host",
"index": 0,
"type": "ENTITY"
}
],
"tags": [],
"metricValueType": {
"type": "unknown"
}
}
]
}
Пример
В этом примере запрос запрашивает все встроенные метрики ( для metricSelector установлено значение builtin:*), доступные в среде mySampleEnv . В ответ включаются следующие поля:
- идентификатор метрики
- Ед. изм.
- типы агрегации
Для этого для параметра запроса полейunit,aggregationTypes установлено значение .
Маркер API передается в заголовке авторизации .
Ответ имеет application/jsonформат и усекается до четырех записей.
Curl
<curl -L -X GET 'https://mySampleEnv.live.ruscomtech.ru/api/v2/metrics?fields=unit,aggregationTypes&metricSelector=builtin:*' \ -H 'Authorization: Api-Token dt0c01.abc123.abcdefjhij1234567890' \ -H 'Accept: application/json'
URL-адрес запроса
https://mySampleEnv.live.ruscomtech.ru/api/v2/metrics?fields=unit,aggregationTypes&metricSelector=builtin:*
Тело ответа
<{
"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 со строкой заголовка выглядит следующим образом. Чтобы получить его, измените заголовок Accepttext/csv; header=present на .
<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