Справочник API платформы

Справочник по API-интерфейсам Proto Observability Platform: описание, протоколы, функциональность.

На этой странице:

Proto Observability Platform предоставляет набор API для загрузки и выгрузки данных телеметрии, а также для управления конфигурацией платформы. Все API доступны через единую точку входа платформы.


API для работы с данными телеметрии

Получение (выгрузка) данных

Метрики

Prometheus-совместимый HTTP API для запросов метрик на языке PromQL.

Базовый путь: /promqlapi/

Эндпоинт Метод Описание
/promqlapi/api/v1/query GET/POST Мгновенный запрос (instant query)
/promqlapi/api/v1/query_range GET/POST Запрос за диапазон времени (range query)
/promqlapi/api/v1/series GET Метаданные серий
/promqlapi/api/v1/labels GET Список имён меток
/promqlapi/api/v1/label/{name}/values GET Значения конкретной метки
/promqlapi/federate GET Федерация метрик

Протокол: PromQL over HTTP (Prometheus-совместимый API).

Логи

API для запросов логов на языке LogsQL.

Базовый путь: /logsqlapi/

Эндпоинт Метод Описание
/logsqlapi/select/logsql/query GET Запросы логов с синтаксисом LogsQL
/logsqlapi/select/logsql/hits GET Гистограмма совпадений по времени
/logsqlapi/select/logsql/field_names GET Доступные имена полей
/logsqlapi/select/logsql/field_values GET Значения указанного поля

Протокол: LogsQL over HTTP.

Трейсы

Префикс Описание
/traces Список трейсов, сервисы, операции, инстансы, теги

Метрики сервисов, алерты и аналитика

Аналитические запросы по трейсам, ошибкам, алертам, бизнес-транзакциям и другим доменам выполняются через OLAP API семантического слоя данных.

Базовый путь: /cubejs-api/

Эндпоинт Метод Описание
/cubejs-api/v1/load GET/POST Выполнение OLAP-запросов (меры, измерения, фильтры, время)
/cubejs-api/v1/meta GET Метаданные схемы (доступные модели, меры, измерения)
/cubejs-api/v1/sql GET/POST Предпросмотр SQL-запроса

Модели данных: 60+ моделей, покрывающих домены – сервисы, спаны, вызовы, ошибки, RUM, браузер, сессии, бизнес-транзакции, бизнес-процессы, алерты, действия, события, ресурсы, здоровье, воронки, метрики мониторинга БД и другие.

Протокол: OLAP REST API с JSON-языком запросов.


Загрузка внешних данных в платформу

Метрики

Эндпоинт Метод Описание
/promqlapi/api/v1/write POST Remote write (протокол Prometheus remote write)

Протокол: Prometheus remote write.

Логи

Эндпоинт Метод Описание
/insert/opentelemetry/v1/logs POST Приём логов по протоколу OTLP/HTTP (рекомендуется)
/insert/elasticsearch/_bulk POST Приём логов в формате Elasticsearch Bulk API
/insert/jsonline POST Приём логов в формате JSON stream (ndjson)
/insert/loki/api/v1/push POST Приём логов в формате Loki JSON API
/insert/datadog/api/v2/logs POST Приём логов в формате DataDog API

Параметры обработки полей можно передавать через строку запроса или HTTP-заголовки:

Параметр HTTP-заголовок Описание
_msg_field VL-Msg-Field Поле с текстом сообщения (по умолчанию _msg)
_time_field VL-Time-Field Поле с временной меткой (по умолчанию _time)
_stream_fields VL-Stream-Fields Поля, определяющие лог-поток (через запятую)
ignore_fields VL-Ignore-Fields Поля для исключения (через запятую, поддерживает prefix*)
extra_fields VL-Extra-Fields Дополнительные поля в формате name=value (через запятую)

Подробнее о настройке агентов и коллекторов: Получение данных логов.

Трейсы

Загрузка трейсов выполняется через инструментацию приложений с помощью трейсеров или OpenTelemetry Collector. Подробнее: Инструментация.

Алерты

Платформа принимает алерты от внешних систем мониторинга в двух форматах:

Эндпоинт Метод Формат Описание
/api/v2/alertprocess POST Alertmanager webhook Приём алертов в формате Alertmanager webhook (обёртка с полями receiver, groupKey, alerts[], groupLabels)
/api/v2/alerts POST Массив алертов Приём алертов в виде плоского массива объектов, например, от VictoriaMetrics vmalert (поля: startsAt, endsAt, generatorURL, labels, annotations)

API для управления платформой

Платформа предоставляет REST API для управления конфигурацией. Протокол: REST/JSON.

Правила алертинга

REST API с документацией OpenAPI/Swagger.

Эндпоинт Метод Описание
/rulesapi/rules GET/POST/PUT/DELETE CRUD правил алертинга + клонирование
/rulesapi/groups GET Список групп правил
/rulesapi/deploy POST Экспорт и применение конфигурации (YAML)
/rulesapi/rulepolicy/receivers GET/POST/PUT/DELETE CRUD получателей уведомлений
/rulesapi/rulepolicy/routes GET/POST/PUT/DELETE CRUD маршрутов + управление приоритетами
/rulesapi/rulepolicy/deploy POST Применение политики алертинга
/rulesapi/swagger/* GET OpenAPI/Swagger документация

Бизнес-транзакции

Группа API Префикс Описание
Ключевые бизнес-транзакции /transactions CRUD + массовое удаление
Правила обнаружения BT /bt-detection-rules CRUD + тестирование паттернов + применение ко всем
RUM бизнес-транзакции /rum-key-business-transactions CRUD
RUM правила обнаружения /rum-bt-detection-rules CRUD + тестирование паттернов

Бизнес-процессы

Префикс Описание
/business-processes CRUD + вложенные шаги + порядок

Сегменты и пороги

Префикс Описание
/protoobp-api/segments CRUD сегментов + массовое удаление
/protoobp-api/apdex-thresholds CRUD порогов Apdex по сервису
/protoobp-api/data-extraction-rules CRUD правил извлечения данных

Ресурсная модель

Префикс Описание
/protoobp-api/resource-types CRUD типов ресурсов
/protoobp-api/resources CRUD ресурсов + сводки + соседи + граф зависимостей
/protoobp-api/resource-relationships CRUD связей ресурсов
/protoobp-api/relationship-types CRUD типов связей
/protoobp-api/ci-classes CRUD CI-классов
/protoobp-api/ci-subclasses CRUD CI-подклассов

RBAC-администрирование

Префикс Описание
/protoobp-api/rbac/* Роли, разрешения, привязки, аудит

Сводная таблица стандартов API

Стандарт Где используется
PromQL over HTTP Запросы и запись метрик
LogsQL over HTTP Запросы логов
OLAP REST API Аналитические запросы (трейсы, алерты, бизнес-транзакции и др.)
REST/JSON Управление конфигурацией платформы
REST/HTTP (мультиформатный) Приём логов (OTLP, Elasticsearch, JSON, Loki, DataDog)
OpenAPI/Swagger Документация API правил алертинга
Alertmanager webhook Приём алертов от внешних систем