tocdepth

2

Получение истории метрик

В этом разделе описано, как получить историю метрик из облака Cloud.ru через API.

Перед началом работы

Для получения истории метрик потребуется:

  • эндпоинт для запросов — https://monitoring.api.cloud.ru;

  • project_id;

    Подсказка

    Пример запроса с project_id вашего проекта для работы с API Cloud.ru можно найти в личном кабинете в разделе Мониторинг → Публичные API, блок Получение истории метрик.

  • токен для сервисного аккаунта, чтобы пройти аутентификацию в API.

Получение метрик с помощью curl-запроса

Чтобы получить истории метрик, выполните запрос:

curl -X GET --location "https://monitoring.api.cloud.ru/v1/{prodject_id}/export_metrics?match=условие" \ -H  "Authorization: Bearer $TOKEN"

В теле запроса укажите параметры:

  • match — обязательный параметр, фильтр для задания условий и получения данных о метриках. Любой валидный запрос в promQL-формате, который возвращает массив значений.

    Варианты запроса:

    • match={product_type="enterprise_network"} — возвращает все метрики выделенных устройств NSX Provider Gateway/T0/Edge/T1.

    • match={product_instаnce_id="abcd..."} — возвращает все метрики экземпляра продукта.

    • match=usage_average — возвращает метрики по использованию процессора виртуальных машин платформы Облако VMware.

  • start — обязательный параметр, Unix timestamp в миллисекундах. Начало временного интервала, за который необходимо получить данные о метриках.

  • end — обязательный параметр, Unix timestamp в миллисекундах. Конец временного интервала, за который необходимо получить данные о метриках.

В ответ на запрос вернутся все значения метрик за указанный временной интервал, удовлетворяющие запросу.

{"metric":{"__name__":"metric_name","label_name":"label_value",...},"values":[value1,value2,..],"timestamps":[timestamp1,timestamp2,...]}

Где:

  • metric_name — название метрики.

  • label_name — название лейбла метрики.

  • label_value — значение лейбла.

  • value — значение метрики.

  • timestamp — временная метка, указанная в Unix timestamp в миллисекундах.

Каждому временному ряду соответствует отдельная строчка в получаемом массиве данных в следующем формате:

{"metric":{"__name__":"eiv_ballon_rss","name":"bm_vpc_2","id":"9b2eab6e-be9c-4527-a0a2-3c7e4be4534a","openstack_id":"cc8ec36b-03ed-4837-8d66-ff4f74936e7a","product_type":"evolution_iaas","project_id":"e3953394-c613-4074-b52b-012035c0eeb6"},"values":[37044,37044,37044],"timestamps":[1719878417000,1719878436000,1719878452000]}

Максимально допустимое количество таймсерий, которые могут быть возвращены в результате одного запроса, составляет 10 000 таймсерий. Если количество таймсерий, соответствующих запросу, превышает максимально допустимое, то вернется ошибка.

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

Набор методов для получения истории метрик

GET /v1/{project_id}/export_metrics
Parameters
  • project_id (string) – Идентификатор проекта

Query Parameters
  • match (array) – Правила выборки метрик - селектор временных рядов prometheus

  • start (integer) – Начало временного интервала, за который необходимо получить данные о метриках

  • end (integer) – Конец временного интервала, за который необходимо получить данные о метриках

Status Codes

Подсказка

Актуальную спецификацию можно скачать и использовать в привычном инструменте.
Запустили Evolution free tier
для Dev & Test
Получить