Метрики и мониторинг
Расход, запросы и остаток баланса Hubris в формате Prometheus — чтобы траты на нейросети были видны в Grafana, Zabbix и любой другой системе мониторинга.
Эндпоинт отдаёт состояние вашего аккаунта в формате Prometheus. Его читают Prometheus, Zabbix, Grafana Agent, VictoriaMetrics — всё, что умеет забирать метрики по адресу.
https://api.hubris.pw/v1/metricsКлюч для мониторинга
Запрос авторизуется обычным API-ключом: заголовок Authorization: Bearer sk-gw-….
Заведите для мониторинга ключ только для чтения: он видит каталог, баланс и статистику, но не может потратить ни копейки. Если сборщик стоит на вашем сервере, дополнительно привяжите ключ к его адресу — тогда даже утёкший ключ бесполезен. Оба переключателя — на странице ключа, подробнее в разделе Ключи и проекты.
Ключ Management API сюда не подходит: метрики — это чтение данных аккаунта, а не управление им.
Что отдаётся
| Метрика | Тип | Метки | Что показывает |
|---|---|---|---|
hubris_balance_kopecks | gauge | — | Остаток на балансе, копейки |
hubris_spend_kopecks_total | counter | model, outcome | Списано с баланса за всё время |
hubris_requests_total | counter | model, outcome | Запросы за всё время |
hubris_tokens_total | counter | model, kind | Токены: prompt, completion, cache_read, cache_write |
hubris_request_latency_seconds | gauge | quantile | Время ответа за последний час: медиана и 95-й перцентиль |
hubris_key_limit_kopecks | gauge | key, period | Лимит расхода ключа |
hubris_key_spent_kopecks | gauge | key, period | Истрачено ключом в текущем окне лимита |
hubris_scrape_duration_seconds | gauge | — | Сколько заняла сборка ответа |
Метка outcome принимает три значения: success — запрос выполнен, client_error — отклонён (нет денег, упёрлись в лимит, неверный запрос), upstream_error — модель не ответила или ответила ошибкой.
Ключи без лимита в hubris_key_* не попадают. Если моделей больше сорока, самые мелкие по расходу сворачиваются в одну строку с меткой other вместо имени модели — иначе рядов становится больше, чем пользы.
Ответ
# HELP hubris_balance_kopecks Остаток на балансе аккаунта, копейки.
# TYPE hubris_balance_kopecks gauge
hubris_balance_kopecks 128400
# HELP hubris_spend_kopecks_total Списано с баланса за всё время, копейки.
# TYPE hubris_spend_kopecks_total counter
hubris_spend_kopecks_total{model="anthropic/claude-sonnet-5",outcome="success"} 84210
hubris_spend_kopecks_total{model="google/gemini-3.5-flash",outcome="success"} 1980
# HELP hubris_requests_total Запросы к моделям за всё время.
# TYPE hubris_requests_total counter
hubris_requests_total{model="anthropic/claude-sonnet-5",outcome="success"} 15234
hubris_requests_total{model="anthropic/claude-sonnet-5",outcome="upstream_error"} 12Счётчики с суффиксом _total считаются за всё время жизни аккаунта и только растут — так и должно быть: система мониторинга сама вычисляет из них скорость, например расход в час.
Как подключить
# prometheus.yml
scrape_configs:
- job_name: hubris
scrape_interval: 60s
metrics_path: /v1/metrics
scheme: https
authorization:
credentials: sk-gw-…
static_configs:
- targets: [api.hubris.pw]Дальше берите готовое: дашборд для Grafana или шаблон для Zabbix — оба ставятся импортом одного файла.
Частота опроса
Значения пересчитываются раз в 45 секунд, поэтому разумный интервал сбора — минута. Больше 30 запросов в минуту с одного аккаунта не принимаем: в ответ придёт 429 с заголовком Retry-After.
Что не входит
Метрики показывают ваш аккаунт целиком. Разреза по проектам, отправки методом push и оповещений на нашей стороне пока нет — пороги и уведомления настраиваются в вашей системе мониторинга. Историю запросов с фильтрами удобнее смотреть через учёт расхода и в кабинете.
Обновлено: