- tocdepth
2
Получение истории метрик
В этом разделе описано, как получить историю метрик из облака Cloud.ru через API.
Перед началом работы
Для получения истории метрик потребуется:
эндпоинт для запросов —
https://monitoring.api.cloud.ru
;project_id
;Подсказка
Пример запроса с
project_id
вашего проекта для работы с API Cloud.ru можно найти в личном кабинете в разделе , блок Получение истории метрик.токен для сервисного аккаунта, чтобы пройти аутентификацию в 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
200 OK – Успешное выполнение запроса
400 Bad Request – Некорректный запрос
401 Unauthorized – Необходима авторизация
403 Forbidden – Доступ запрещен
404 Not Found – Ресурс не найден
500 Internal Server Error – Внутренняя ошибка сервера
Подсказка
Актуальную спецификацию можно скачать и использовать в привычном инструменте.для Dev & Test