ENetrebin (обсуждение | вклад) Нет описания правки |
Нет описания правки |
||
Строка 1: | Строка 1: | ||
'''''[[API | '''''[[API АппОптима]] / Эндпойнты среды / Развёртывание / Таймсерии v1 / Чтение точек данных / GET точек данных''''' | ||
Извлекает параметры и точки данных указанной метрики. | Извлекает параметры и точки данных указанной метрики. | ||
Строка 10: | Строка 10: | ||
{| class="wikitable" | {| class="wikitable" | ||
| rowspan="2" |GET | | rowspan="2" |GET | ||
| | |АппОптима | ||
|<code><nowiki>https://{your-domain}/e/{your-environment-id}/api/v1/timeseries/{timeseriesIdentifier}</nowiki></code> | |<code><nowiki>https://{your-domain}/e/{your-environment-id}/api/v1/timeseries/{timeseriesIdentifier}</nowiki></code> | ||
|- | |- | ||
Строка 75: | Строка 75: | ||
|integer | |integer | ||
|Отметка времени окончания запрошенного таймфрейма в миллисекундах (UTC). | |Отметка времени окончания запрошенного таймфрейма в миллисекундах (UTC). | ||
Если позже текущего времени, | Если позже текущего времени, АппОптима автоматически использует текущее время. | ||
Срок не должен превышать 6 месяцев. | Срок не должен превышать 6 месяцев. | ||
Строка 123: | Строка 123: | ||
|entity | |entity | ||
|string [] | |string [] | ||
|Фильтрует запрошенные точки данных по объекту, который должен их предоставить. Допустимые значения — идентификаторы объектов | |Фильтрует запрошенные точки данных по объекту, который должен их предоставить. Допустимые значения — идентификаторы объектов АппОптима. | ||
Вы можете указать несколько сущностей в следующем формате: <code>entity=entity1&entity=entity2</code>. Сущность должна соответствовать хотя бы одному из указанных идентификаторов. | Вы можете указать несколько сущностей в следующем формате: <code>entity=entity1&entity=entity2</code>. Сущность должна соответствовать хотя бы одному из указанных идентификаторов. | ||
Строка 327: | Строка 327: | ||
Точка данных содержит значение и отметку времени, когда это значение было записано. | Точка данных содержит значение и отметку времени, когда это значение было записано. | ||
АппОптима хранит данные во временных интервалах. Объект dataPoints показывает метку времени ''начала'' слота. Если startTimestamp или endTimestamp вашего запроса находится внутри временного интервала данных, этот временной интервал включается в ответ. Из-за того, что временная метка первой точки данных находится за пределами указанного временного интервала, вы увидите ''более раннюю'' временную метку, чем указанная начальная временная метка в первой точке данных ответа. | |||
Существует три версии точек данных: | Существует три версии точек данных: | ||
Строка 426: | Строка 426: | ||
|object | |object | ||
|Список сущностей, из которых исходят точки данных. | |Список сущностей, из которых исходят точки данных. | ||
Объект JSON, который сопоставляет идентификатор объекта в | Объект JSON, который сопоставляет идентификатор объекта в АппОптима и фактическое имя объекта. | ||
|} | |} | ||
=== JSON-модель тела ответа === | === JSON-модель тела ответа === | ||
< | <{ | ||
"timeseriesId": "ru.ruscomtech.builtin:host.cpu.idle", | "timeseriesId": "ru.ruscomtech.builtin:host.cpu.idle", | ||
"displayName": "CPU idle", | "displayName": "CPU idle", | ||
Строка 466: | Строка 466: | ||
== Примечание о таймфрейме == | == Примечание о таймфрейме == | ||
АппОптима хранит данные во временных интервалах. Объект <code>dataPoints</code>показывает ''начальную'' метку времени слота. Если <code>startTimestamp</code>или <code>endTimestamp</code>вашего запроса попадают в временной интервал данных, этот временной интервал будет включен в ответ. Из-за того, что временная метка первой точки данных лежит за пределами указанного временного интервала, вы увидите более ''раннюю'' временную метку, чем указанная <code>startTimestamp</code>в первой точке данных ответа. | |||
== Пример == | == Пример == | ||
Строка 476: | Строка 476: | ||
==== Curl ==== | ==== Curl ==== | ||
< | <curl -X GET \ | ||
<nowiki>https://mySampleEnv.live.ruscomtech.ru/api/v1/timeseries/ru.ruscomtech.builtin:app.actionspersession?includeData=true&relativeTime=hour&aggregationType=avg&entity=APPLICATION-85A7CC&entity=APPLICATION-8E41C8</nowiki> \ | <nowiki>https://mySampleEnv.live.ruscomtech.ru/api/v1/timeseries/ru.ruscomtech.builtin:app.actionspersession?includeData=true&relativeTime=hour&aggregationType=avg&entity=APPLICATION-85A7CC&entity=APPLICATION-8E41C8</nowiki> \ | ||
-H 'Authorization: Api-Token dt0c01.abc123.abcdefjhij1234567890'</code> | -H 'Authorization: Api-Token dt0c01.abc123.abcdefjhij1234567890'</code> | ||
Строка 484: | Строка 484: | ||
==== Содержание ответа ==== | ==== Содержание ответа ==== | ||
< | <{ | ||
"timeseriesId": "ru.ruscomtech.builtin:app.actionspersession", | "timeseriesId": "ru.ruscomtech.builtin:app.actionspersession", | ||
"displayName": "Actions per session", | "displayName": "Actions per session", |
Версия от 10:17, 26 декабря 2024
API АппОптима / Эндпойнты среды / Развёртывание / Таймсерии v1 / Чтение точек данных / GET точек данных
Извлекает параметры и точки данных указанной метрики.
Чтобы получить точки данных, установите для параметра includeData значение true
. Также необходимо указать период времени и тип агрегации, поддерживаемые запрашиваемой метрикой.
Вы можете получить либо точки данных, либо скалярный результат указанной метрики, в зависимости от queryMode .
Запрос использует в качестве полезной нагрузки формат application/json
.
GET | АппОптима | https://{your-domain}/e/{your-environment-id}/api/v1/timeseries/{timeseriesIdentifier}
|
Среда АктивногоШлюза | https://{your-activegate-domain}/e/{your-environment-id}/api/v1/timeseries/{timeseriesIdentifier}
|
Аутентификация
Чтобы выполнить этот запрос, вам нужен токен доступа с проблемой доступа и каналом событий, метриками и областью топологии ( DataExport
) . Чтобы узнать, как его получить и использовать, см. раздел Токены и аутентификация .
Параметры
Для получения точек данных необходимо указать таймфрейм и тип агрегации.
Существует два взаимоисключающих способа установки таймфрейма:
- Комбинация startTimestamp и endTimestamp .
- relativeTime
Максимально допустимый срок — 6 месяцев.
Параметр | Тип | Описание | In | Необходимость |
---|---|---|---|---|
timeseriesIdentifier | string | Идентификатор временного ряда с учетом регистра, из которого вы хотите прочитать параметры и точки данных. | path | требуется |
includeData | boolean | Флаг для включения точек данных в ответ. Установите для true получения точек данных. Также необходимо указать таймфрейм и тип агрегации.
По умолчанию |
query | по желанию |
aggregationType | string | Тип агрегации для результирующих точек данных.
Если запрошенная метрика не поддерживает указанную агрегацию, запрос приведет к ошибке. Элемент может содержать эти значения:
|
query | по желанию |
startTimestamp | integer | Метка времени начала запрошенного таймфрейма в миллисекундах UTC. | query | по желанию |
endTimestamp | integer | Отметка времени окончания запрошенного таймфрейма в миллисекундах (UTC).
Если позже текущего времени, АппОптима автоматически использует текущее время. Срок не должен превышать 6 месяцев. |
query | по желанию |
predict | boolean | Флаг для прогнозирования будущих точек данных. | query | по желанию |
relativeTime | string | Относительный таймфрейм, назад от текущего времени.
Элемент может содержать эти значения:
|
query | по желанию |
queryMode | string | Тип результата, который должен вернуть вызов. Допустимые режимы результатов:
По умолчанию используется Элемент может содержать эти значения
|
query | по желанию |
entity | string [] | Фильтрует запрошенные точки данных по объекту, который должен их предоставить. Допустимые значения — идентификаторы объектов АппОптима.
Вы можете указать несколько сущностей в следующем формате: Если выбранный объект не поддерживает запрошенный временной ряд, запрос приведет к ошибке. |
query | по желанию |
tag | string [] | Фильтрует запрошенные точки данных по объекту, который должен их предоставить. Доставляются данные только от сущностей с указанным тегом.
Вы можете указать несколько тегов в следующем формате: В случае тегов «ключ-значение», таких как импортированные теги AWS или CloudFoundry, используйте |
query | по желанию |
percentile | integer | Указывает, какой процентиль выбранной метрики времени отклика должен быть предоставлен.
Применимо только к Допустимые значения для процентиля находятся в диапазоне от 1 до 99. Имейте в виду, что экспорт процентилей возможен только для метрик, основанных на времени отклика, таких как время отклика приложений и служб. |
query | по желанию |
includeParentIds | boolean | Если установлено значение true, в результате отображаются сопоставления измерений между родительскими объектами и их дочерними объектами.
Например: SERVICE-0000000000000001, SERVICE_METHOD-0000000000000001 |
query | по желанию |
considerMaintenanceWindowsForAvailability | boolean | Исключите ( true ) или включите ( false ) точки данных из любого периода обслуживания , определенного в вашей среде.
|
query | по желанию |
Ответправить
Результатом является объект JSON, содержащий точки данных и параметры метрик.
Коды ответовправитьправить код
Код | Тип | Описание |
---|---|---|
200 | TimeseriesQueryResult | Успех |
Объекты тела ответа
Объект TimeseriesQueryResult
Конфигурация метрики со всеми ее параметрами и, при необходимости, точками данных.
Элемент | Тип | Описание |
---|---|---|
timeseriesId | string | Идентификатор метрики. |
displayName | string | Имя метрики в пользовательском интерфейсе. |
dimensions | string [] | Точное разделение метрик, например, группа процессов и идентификатор процесса для какой-либо метрики, связанной с процессом. |
aggregationTypes | string [] | Список разрешенных агрегаций для этой метрики.
Элемент может содержать эти значения
|
unit | string | Единица измерения.
Элемент может содержать эти значения
|
filter | string | Функция, из которой берется метрика.
Элемент может содержать эти значения
|
detailedSource | string | Функция, из которой берется метрика. |
pluginId | string | Идентификатор плагина, из которого создается метрика. |
types | string [] | Определение типа технологии. Используется для группировки метрик под логическим именем технологии. |
dataResult | TimeseriesDataPointQueryResult | Список точек данных метрики, а также их параметры. |
warnings | string [] | Предупреждения, возникшие при создании метрики. |
Объект TimeseriesDataPointQueryResult
Список точек данных метрики, а также их параметры.
Элемент | Тип | Описание |
---|---|---|
dataPoints | object | Точки данных метрики.
Объект JSON, который сопоставляет идентификатор объекта, предоставившего точки данных, и массив, состоящий из массивов значений с плавающей запятой точек данных. Может содержать более одного идентификатора объекта на запись (например, хост и его сетевой интерфейс). В таких случаях идентификаторы объектов разделяются запятыми. Точка данных содержит значение и отметку времени, когда это значение было записано. АппОптима хранит данные во временных интервалах. Объект dataPoints показывает метку времени начала слота. Если startTimestamp или endTimestamp вашего запроса находится внутри временного интервала данных, этот временной интервал включается в ответ. Из-за того, что временная метка первой точки данных находится за пределами указанного временного интервала, вы увидите более раннюю временную метку, чем указанная начальная временная метка в первой точке данных ответа. Существует три версии точек данных:
|
timeseriesId | string | Идентификатор метрики. |
unit | string | Единица точек данных.
Элемент может содержать эти значения
|
resolutionInMillisUTC | integer | Разрешение точек данных. |
aggregationType | string | Тип агрегации точек данных.
Элемент может содержать эти значения
|
entities | object | Список сущностей, из которых исходят точки данных.
Объект JSON, который сопоставляет идентификатор объекта в АппОптима и фактическое имя объекта. |
JSON-модель тела ответа
<{ "timeseriesId": "ru.ruscomtech.builtin:host.cpu.idle", "displayName": "CPU idle", "dimensions": [ "HOST" ], "aggregationTypes": [ "AVG", "SUM", "MIN", "MAX" ], "unit": "Percent", "filter": "BUILTIN", "detailedSource": "Infrastructure", "types": [], "dataResult": { "dataPoints": { "HOST-0000000000000007": [ [ 1522220334000, 89 ] ] }, "timeseriesId": "com.dynatrace.builtin:host.cpu.idle", "unit": "Percent", "entities": { "HOST-0000000000000007": "Laptop-8" }, "resolutionInMillisUTC": 300000, "aggregationType": "AVG" } }
Примечание о таймфрейме
АппОптима хранит данные во временных интервалах. Объект dataPoints
показывает начальную метку времени слота. Если startTimestamp
или endTimestamp
вашего запроса попадают в временной интервал данных, этот временной интервал будет включен в ответ. Из-за того, что временная метка первой точки данных лежит за пределами указанного временного интервала, вы увидите более раннюю временную метку, чем указанная startTimestamp
в первой точке данных ответа.
Пример
В этом примере запрос возвращает значения метрики Действия за сеанс ( ru.ruscomtech.builtin:app.actionspersession
) за последний час для приложений APPLICATION-85A7CC и APPLICATION-8E41C8 .
Маркер API передается в заголовке авторизации .
Результат возвращает среднее количество действий пользователя на приложение, усеченное до трех точек данных на приложение.
Curl
<curl -X GET \ https://mySampleEnv.live.ruscomtech.ru/api/v1/timeseries/ru.ruscomtech.builtin:app.actionspersession?includeData=true&relativeTime=hour&aggregationType=avg&entity=APPLICATION-85A7CC&entity=APPLICATION-8E41C8 \ -H 'Authorization: Api-Token dt0c01.abc123.abcdefjhij1234567890'
URL-адрес запроса
https://mySampleEnv.live.ruscomtech.ru/api/v1/timeseries/ru.ruscomtech.builtin:app.actionspersession?includeData=true&relativeTime=hour&aggregationType=avg&entity=APPLICATION-85A7CC&entity=APPLICATION-8E41C8
Содержание ответа
<{ "timeseriesId": "ru.ruscomtech.builtin:app.actionspersession", "displayName": "Actions per session", "dimensions": [ "APPLICATION" ], "unit": "PerMinute (count/min)", "detailedSource": "Web application", "types": [], "dataResult": { "dataPoints": { "APPLICATION-85A7CC": [ [ 1534921560000, 1.75 ], [ 1534921620000, 2 ], [ 1534921680000, 2 ] ], "APPLICATION-8E41C8": [ [ 1534921560000, 4 ], [ 1534921620000, 7 ], [ 1534921680000, 4 ] ] }, "unit": "PerMinute (count/min)", "resolutionInMillisUTC": 60000, "aggregationType": "AVG", "entities": { "APPLICATION-85A7CC": "Permanent Docker", "APPLICATION-8E41C8": "easyTravel AMP" }, "timeseriesId": "ru.ruscomtech.builtin:app.actionspersession" }, "aggregationTypes": [ "AVG" ], "filter": "BUILTIN" }
Код ответа
200