REST API
Программный доступ к ObserveAI
ObserveAI предоставляет REST API для приёма телеметрии и для программного доступа к данным мониторинга. Все запросы — JSON по HTTPS.
Авторизация
Для эндпоинтов приёма телеметрии используется API-ключ, передаваемый в заголовке X-API-Key или в query-параметре ?api_key=. Получить ключ можно в разделе «API-ключи» личного кабинета.
curl -X POST https://observeai.kayaniq.ru/api/v1/ingest/logs \
-H "Content-Type: application/json" \
-H "X-API-Key: oai_your_api_key_here" \
-d '{"logs": [...]}'
Для аналитического API (просмотр данных в личном кабинете) используется JWT-токен из заголовка Authorization: Bearer <token>.
Базовый URL
https://observeai.kayaniq.ru/api/v1
Эндпоинты приёма телеметрии
POST /api/v1/ingest/spans
Приём распределённых трассировок (OpenTelemetry-совместимая модель).
{
"spans": [
{
"trace_id": "abc123...",
"span_id": "def456...",
"parent_span_id": "...",
"service_name": "checkout",
"operation": "POST /api/checkout",
"timestamp": "2026-06-15T12:34:56Z",
"duration_ms": 145,
"status": "ok",
"attributes": {}
}
]
}
POST /api/v1/ingest/logs
Приём журналов приложения.
{
"logs": [
{
"timestamp": "2026-06-15T12:34:56Z",
"level": "ERROR",
"service": "payments",
"message": "Payment failed: insufficient funds",
"trace_id": "abc123...",
"attributes": { "user_id": "u_42" }
}
]
}
POST /api/v1/ingest/infrastructure
Приём метрик хостов: CPU, RAM, диск, сеть.
{
"metrics": [
{
"timestamp": "2026-06-15T12:34:56Z",
"hostname": "web-01",
"cpu_percent": 67.5,
"memory_used_bytes": 6442450944,
"disk_used_percent": 42.1
}
]
}
Аналитические эндпоинты
GET /api/v1/traces
Список трассировок с фильтрацией по времени, сервису, статусу.
Параметры: service, from, to, limit, status.
GET /api/v1/traces/{trace_id}
Получить все спаны конкретного запроса.
GET /api/v1/logs/search
Полнотекстовый поиск по логам.
Параметры: q (поисковая строка), service, level, from, to.
GET /api/v1/infrastructure/hosts
Список хостов с актуальными метриками.
GET /api/v1/apm/endpoints
APM — производительность endpoints с перцентилями задержек.
GET /api/v1/service-map
Карта зависимостей сервисов.
GET /api/v1/errors
Сгруппированные ошибки (Error Tracking).
Алерты
GET /api/v1/alerts
Список настроенных правил.
POST /api/v1/alerts
Создать правило алерта.
DELETE /api/v1/alerts/{id}
Удалить правило.
Биллинг
GET /api/v1/usage
Информация об использовании квоты текущим пользователем.
{
"plan": "pro",
"in_trial": false,
"trial_days_left": 0,
"used_gb": 4.2,
"limit_gb": 10,
"percentage": 42
}
GET /billing/payment-method
Информация о привязанной карте.
DELETE /billing/payment-method
Отвязать карту (отключить автопродление).
Коды ответов
| Код | Значение |
|---|---|
| 200, 201 | Успех |
| 400 | Некорректный запрос |
| 401 | Не авторизован (нет API-ключа или JWT) |
| 402 | Превышена квота (требуется платный тариф) |
| 403 | Доступ запрещён |
| 404 | Объект не найден |
| 429 | Превышен лимит запросов |
| 500 | Внутренняя ошибка сервера |
Лимиты
- Приём телеметрии: до 5 000 спанов и 10 000 строк логов в секунду на минимальной конфигурации
- Batch до 1000 объектов в одном запросе
- Объём данных — по тарифу (Free 1 ГБ/мес, Pro 10 ГБ/мес, Enterprise — без ограничений)