Получение истории метрик
В этом разделе описано, как получить историю метрик из облака 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 таймсерий. Если их будет больше, вернется ошибка.
Максимальный временной интервал для одного запроса — семь дней.
Набор методов для получения истории метрик
project_id (string) – Идентификатор проекта
match (array) – Правила выборки метрик - селектор временных рядов prometheus
start (integer) – Начало временного интервала, за который необходимо получить данные о метриках
end (integer) – Конец временного интервала, за который необходимо получить данные о метриках
200 OK – Успешное выполнение запроса
400 Bad Request – Некорректный запрос
401 Unauthorized – Необходима авторизация
403 Forbidden – Доступ запрещен
404 Not Found – Ресурс не найден
500 Internal Server Error – Внутренняя ошибка сервера