hubris
Возможности
ВОЗМОЖНОСТИ

Метрики и мониторинг

Расход, запросы и остаток баланса Hubris в формате Prometheus — чтобы траты на нейросети были видны в Grafana, Zabbix и любой другой системе мониторинга.

Эндпоинт отдаёт состояние вашего аккаунта в формате Prometheus. Его читают Prometheus, Zabbix, Grafana Agent, VictoriaMetrics — всё, что умеет забирать метрики по адресу.

GEThttps://api.hubris.pw/v1/metrics

Ключ для мониторинга

Запрос авторизуется обычным API-ключом: заголовок Authorization: Bearer sk-gw-….

Заведите для мониторинга ключ только для чтения: он видит каталог, баланс и статистику, но не может потратить ни копейки. Если сборщик стоит на вашем сервере, дополнительно привяжите ключ к его адресу — тогда даже утёкший ключ бесполезен. Оба переключателя — на странице ключа, подробнее в разделе Ключи и проекты.

Ключ Management API сюда не подходит: метрики — это чтение данных аккаунта, а не управление им.

Что отдаётся

МетрикаТипМеткиЧто показывает
hubris_balance_kopecksgaugeОстаток на балансе, копейки
hubris_spend_kopecks_totalcountermodel, outcomeСписано с баланса за всё время
hubris_requests_totalcountermodel, outcomeЗапросы за всё время
hubris_tokens_totalcountermodel, kindТокены: prompt, completion, cache_read, cache_write
hubris_request_latency_secondsgaugequantileВремя ответа за последний час: медиана и 95-й перцентиль
hubris_key_limit_kopecksgaugekey, periodЛимит расхода ключа
hubris_key_spent_kopecksgaugekey, periodИстрачено ключом в текущем окне лимита
hubris_scrape_duration_secondsgaugeСколько заняла сборка ответа

Метка 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 и оповещений на нашей стороне пока нет — пороги и уведомления настраиваются в вашей системе мониторинга. Историю запросов с фильтрами удобнее смотреть через учёт расхода и в кабинете.

Обновлено: