API АппОптима / Эндпойнты среды / Развёртывание / Таймсерии v1 / Чтение точек данных / POST точек данных
Извлекает параметры и точки данных указанной метрики. По сравнению с запросом GET запрос POST предоставляет меньше данных о самой метрике.
Чтобы получить точки данных, необходимо указать период времени и тип агрегации, поддерживаемые запрошенной метрикой.
Запрос потребляет и создает application/json
полезную нагрузку.
POST | АппОптима | 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 | требуется |
body | TimeseriesQueryMessage | Тело запроса JSON, содержащее параметры для определения необходимых точек данных. | body | по желанию |
Объекты тела запроса
Объект TimeseriesQueryMessage
Параметры фильтрации для запроса временных рядов.
Элемент | Тип | Описание | Необходимость |
---|---|---|---|
timeseriesId | string | Идентификатор метрики с учетом регистра, в которой вы хотите считать точки данных.
Вы можете выполнить запрос временных рядов GET, чтобы получить список доступных метрик. |
по желанию |
aggregationType | string | Тип агрегации для результирующих точек данных.
Если запрошенная метрика не поддерживает указанную агрегацию, запрос приведет к ошибке. Элемент может содержать эти значения
|
по желанию |
startTimestamp | integer | Метка времени начала таймфрейма в миллисекундах UTC. | по желанию |
endTimestamp | integer | Метка времени начала таймфрейма в миллисекундах UTC.
Если позже текущего времени, АппОптима автоматически использует текущее время. Срок не должен превышать 6 месяцев. |
по желанию |
predict | boolean | Флаг для прогнозирования будущих точек данных. | по желанию |
relativeTime | string | Относительный таймфрейм, назад от текущего времени.
Элемент может содержать эти значения
|
по желанию |
queryMode | string | Определяет тип результата, который должен возвращать вызов. Допустимые режимы результатов:
По умолчанию используется Элемент может содержать эти значения
|
по желанию |
entities | string [] | Фильтрует запрошенные точки данных по объектам, которые должны их предоставить. Вы можете указать сразу несколько сущностей.
Допустимые значения — идентификаторы объектов АппОптима. Если выбранный объект не поддерживает запрошенную метрику, запрос приведет к ошибке. |
по желанию |
tags | string [] | Фильтрует запрошенные точки данных по объекту, который должен их предоставить. Доставляются данные только от сущностей с указанным тегом.
Вы можете указать несколько тегов в следующем формате: В случае тегов «ключ-значение», таких как импортированные теги AWS или CloudFoundry, используйте следующий формат: |
по желанию |
filters | object | Фильтр — это объект, содержащий карту ключей фильтра и его значений. Действительные ключи фильтра:
|
по желанию |
percentile | integer | Указывает, какой процентиль выбранной метрики времени отклика должен быть предоставлен.
Применимо только к Допустимые значения для процентиля находятся в диапазоне от 1 до 99. Имейте в виду, что экспорт процентилей возможен только для метрик, основанных на времени отклика, таких как время отклика приложений и служб. |
по желанию |
includeParentIds | boolean | Указывает, должны ли результаты отображать сопоставления измерений между родительскими объектами и их дочерними объектами.
Например: SERVICE-0000000000000001, SERVICE_METHOD-0000000000000001 |
по желанию |
considerMaintenanceWindowsForAvailability | boolean | Исключите ( true ) или включите ( false ) точки данных из любого периода обслуживания , определенного в вашей среде.
|
по желанию |
JSON-модель тела запроса
Это модель тела запроса, показывающая возможные элементы. Его необходимо настроить для использования в реальном запросе.
<{ "timeseriesId": "ru.ruscomtech.builtin:host.cpu.idle", "aggregationType": "AVG", "startTimestamp": 1521042929000, "endTimestamp": 1521542929000, "predict": true, "relativeTime": "HOUR", "queryMode": "SERIES", "includeParentIds": "false", "considerMaintenanceWindowsForAvailability": "false", "entities": [ "HOST-0000000000000007" ], "tags": [ "office-linz" ] }
Ответ
Результатом является объект JSON, содержащий точки данных и параметры метрик.
Коды ответов
Код | Тип | Описание |
---|---|---|
200 | TimeseriesQueryResultWrapper | Успех |
Объекты тела ответа
Объект TimeseriesQueryResultWrapper
Элемент | Тип | Описание |
---|---|---|
result | TimeseriesDataPointQueryResult | Список точек данных метрики, а также их параметры. |
Объект TimeseriesDataPointQueryResult
Список точек данных метрики, а также их параметры.
Элемент | Тип | Описание |
---|---|---|
dataPoints | object | Точки данных метрики.
Объект JSON, который сопоставляет идентификатор объекта, предоставившего точки данных, и массив, состоящий из массивов значений с плавающей запятой точек данных. Может содержать более одного идентификатора объекта на запись (например, хост и его сетевой интерфейс). В таких случаях идентификаторы объектов разделяются запятыми. Точка данных содержит значение и отметку времени, когда это значение было записано. АппОптима хранит данные во временных интервалах. Объект dataPoints показывает метку времени начала слота. Если startTimestamp или endTimestamp вашего запроса находится внутри временного интервала данных, этот временной интервал включается в ответ. Из-за того, что временная метка первой точки данных находится за пределами указанного временного интервала, вы увидите более раннюю временную метку, чем указанная начальная временная метка в первой точке данных ответа. Существует три версии точек данных:
|
timeseriesId | string | Идентификатор метрики. |
unit | string | Единица точек данных.
Элемент может содержать эти значения
|
resolutionInMillisUTC | integer | Разрешение точек данных. |
aggregationType | string | Тип агрегации точек данных.
Элемент может содержать эти значения
|
entities | object | Список сущностей, из которых исходят точки данных.
Объект JSON, который сопоставляет идентификатор объекта в АппОптима и фактическое имя объекта. |
JSON-модель тела ответа
<{ "result": { "dataPoints": { "HOST-0000000000000007": [ [ 1522220334000, 89 ] ] }, "timeseriesId": "ru.ruscomtech.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 . Результат возвращает среднее количество действий пользователя в приложении. Результат усекается до трех точек данных для каждого приложения.
Curl
<curl -X POST \ https://mySampleEnv.live.ruscomtech.ru/api/v1/timeseries \ -H 'Authorization: abcdefjhij1234567890' \ -H 'Content-Type: application/json' \ -d '{ "timeseriesId": "ru.ruscomtech.builtin:app.actionspersession", "relativeTime": "hour", "aggregationType": "avg", "entities": [ "APPLICATION-85A7CCAAC7345F0B", "APPLICATION-8E41C8C247910758" ] }'
URL-адрес запроса
https://mySampleEnv.live.ruscomtech.ru/api/v1/timeseries
Тело запроса
<{ "timeseriesId": "ru.ruscomtech.builtin:app.actionspersession", "relativeTime": "hour", "aggregationType": "avg", "entities": [ "APPLICATION-85A7CC", "APPLICATION-8E41C8" ] }
Содержание ответа
<{ "result": { "dataPoints": { "APPLICATION-85A7CC": [ [ 1534920000000, 1.6666666666666667 ], [ 1534920060000, 2.5 ], [ 1534920120000, 2.888888888888889 ] ], "APPLICATION-8E41C8": [ [ 1534920000000, null ], [ 1534920060000, 3 ], [ 1534920120000, null ] ] }, "unit": "PerMinute (count/min)", "resolutionInMillisUTC": 60000, "aggregationType": "AVG", "entities": { "APPLICATION-85A7CC": "Permanent Docker", "APPLICATION-8E41C8": "easyTravel AMP" }, "timeseriesId": "ru.ruscomtech.builtin:app.actionspersession" } }
Код ответа
200