POST точек данных

Материал из Документация Ключ-АСТРОМ

API Ключ-АСТРОМ / Эндпойнты среды / Развёртывание / Таймсерии v1 / Чтение точек данных / POST точек данных

Извлекает параметры и точки данных указанной метрики. По сравнению с запросом GET запрос POST предоставляет меньше данных о самой метрике.

Чтобы получить точки данных, необходимо указать период времени и тип агрегации, поддерживаемые запрошенной метрикой.

Запрос потребляет и создает application/jsonполезную нагрузку.

POST Managed 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 Тип агрегации для результирующих точек данных.

Если запрошенная метрика не поддерживает указанную агрегацию, запрос приведет к ошибке.

Элемент может содержать эти значения

  • AVG
  • COUNT
  • MAX
  • MEDIAN
  • MIN
  • PERCENTILE
  • SUM
по желанию
startTimestamp integer Метка времени начала таймфрейма в миллисекундах UTC. по желанию
endTimestamp integer Метка времени начала таймфрейма в миллисекундах UTC.

Если позже текущего времени, Ключ-АСТРОМ автоматически использует текущее время.

Срок не должен превышать 6 месяцев.

по желанию
predict boolean Флаг для прогнозирования будущих точек данных. по желанию
relativeTime string Относительный таймфрейм, назад от текущего времени.

Элемент может содержать эти значения

  • 10mins
  • 15mins
  • 2hours
  • 30mins
  • 3days
  • 5mins
  • 6hours
  • day
  • hour
  • min
  • month
  • week
по желанию
queryMode string Определяет тип результата, который должен возвращать вызов. Допустимые режимы результатов:

series: возвращает все точки данных метрики за указанный период времени. total: возвращает одно скалярное значение для указанного периода времени.

По умолчанию используется seriesрежим.

Элемент может содержать эти значения

  • SERIES
  • TOTAL
по желанию
entities string [] Фильтрует запрошенные точки данных по объектам, которые должны их предоставить. Вы можете указать сразу несколько сущностей.

Допустимые значения — идентификаторы объектов Ключ-АСТРОМ.

Если выбранный объект не поддерживает запрошенную метрику, запрос приведет к ошибке.

по желанию
tags string [] Фильтрует запрошенные точки данных по объекту, который должен их предоставить. Доставляются данные только от сущностей с указанным тегом.

Вы можете указать несколько тегов в следующем формате: tags=tag1&tags=tag2. Сущность должна соответствовать всем указанным тегам.

В случае тегов «ключ-значение», таких как импортированные теги AWS или CloudFoundry, используйте следующий формат: [context]key:value.

по желанию
filters object Фильтр — это объект, содержащий карту ключей фильтра и его значений. Действительные ключи фильтра:

processType: фильтрует по типу процесса. Допустимые значения см. в разделе Типы процессов. osType: фильтрация по операционной системе. Допустимые значения см. в разделе Типы ОС. serviceType: фильтрация по типу службы. Допустимые значения см. в разделе Типы служб. technology: фильтрация по типу технологии. Допустимые значения см. в разделе Типы технологий. webServiceName: фильтрация по имени веб-службы. webServiceNamespace: фильтрация по пространству имен веб-службы. host: Фильтрация по идентификатору хоста, например HOST-007.

по желанию
percentile integer Указывает, какой процентиль выбранной метрики времени отклика должен быть предоставлен.

Применимо только к PERCENTILEтипу агрегации.

Допустимые значения для процентиля находятся в диапазоне от 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 Единица точек данных.

Элемент может содержать эти значения

  • Billion (bilcount)
  • Bit (bit)
  • BitPerHour (bit/h)
  • BitPerMinute (bit/min)
  • BitPerSecond (bit/s)
  • Byte (B)
  • BytePerHour (B/h)
  • BytePerMinute (B/min)
  • BytePerSecond (B/s)
  • Cores
  • Count (count)
  • Day (ds)
  • DecibelMilliWatt (dBm)
  • G
  • GibiByte (GiB)
  • GigaByte (GB)
  • Hour (hs)
  • KibiByte (KiB)
  • KibiBytePerHour (KiB/h)
  • KibiBytePerMinute (KiB/min)
  • KibiBytePerSecond (KiB/s)
  • KiloByte (kB)
  • KiloBytePerHour (kB/h)
  • KiloBytePerMinute (kB/min)
  • KiloBytePerSecond (kB/s)
  • M
  • MSU
  • MebiByte (MiB)
  • MebiBytePerHour (MiB/h)
  • MebiBytePerMinute (MiB/min)
  • MebiBytePerSecond (MiB/s)
  • MegaByte (MB)
  • MegaBytePerHour (MB/h)
  • MegaBytePerMinute (MB/min)
  • MegaBytePerSecond (MB/s)
  • MicroSecond (µs)
  • MilliSecond (ms)
  • MilliSecondPerMinute (ms/min)
  • Million (milcount)
  • Minute (mins)
  • Month (mos)
  • N/A
  • NanoSecond (ns)
  • NanoSecondPerMinute (ns/min)
  • PerHour (count/h)
  • PerMinute (count/min)
  • PerSecond (count/s)
  • Percent (%)
  • Pixel (px)
  • Promille (‰)
  • Ratio
  • Second (s)
  • State
  • Unspecified
  • Week (ws)
  • Year (ys)
  • k
  • km/h
  • m/h
  • m/s
  • mCores
resolutionInMillisUTC integer Разрешение точек данных.
aggregationType string Тип агрегации точек данных.

Элемент может содержать эти значения

  • AVG
  • COUNT
  • MAX
  • MEDIAN
  • MIN
  • PERCENTILE
  • SUM
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