Grafana
Дашборд Hubris для Grafana — расход по моделям, запросы, доля ошибок, время ответа и лимиты ключей. Готовый файл импортируется одним действием.
Hubris отдаёт метрики в формате Prometheus, поэтому Grafana показывает расход на нейросети рядом с остальной инфраструктурой. Панели собирать не нужно — есть готовый дашборд.
Что на дашборде
| Панель | Что показывает |
|---|---|
| Баланс | Остаток в рублях, зелёный-жёлтый-красный по порогам |
| Расход за сутки | Сколько списано за последние 24 часа |
| Запросы в час | Текущая скорость запросов |
| Доля ошибок | Какая часть запросов не удалась за 15 минут |
| Расход по моделям | Рубли в час с накоплением — видно, кто разогнал счёт |
| Запросы по исходам | Успех, отказ, ошибка модели — разными цветами |
| Время ответа | Медиана и 95-й перцентиль |
| Токены по видам | Запрос, ответ, чтение и запись кэша |
| Лимиты ключей | Таблица: лимит и сколько уже истрачено |
Установка
1. Ключ для мониторинга
На странице Ключи создайте ключ и включите режим только чтение — он видит статистику, но не может потратить баланс. Если Grafana стоит на вашем сервере, там же привяжите ключ к его адресу.
2. Сбор метрик
В Prometheus (или Grafana Agent, VictoriaMetrics — любой сборщик) добавьте задание:
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 откройте Explore, выберите источник Prometheus и выполните hubris_balance_kopecks — должно вернуться число.
3. Импорт дашборда
Dashboards → New → Import, загрузите файл, выберите свой источник Prometheus и нажмите Import.
Девять панелей: баланс, расход за сутки и по моделям, запросы и доля ошибок, время ответа, токены, таблица лимитов по ключам.
Оповещения
Пороги удобнее задавать правилами самой Grafana — она уже умеет слать в Telegram, почту и вебхуки. Два запроса, с которых стоит начать:
# баланс ниже 500 ₽
hubris_balance_kopecks < 50000
# доля ошибок выше 5% за 15 минут
100 * sum(rate(hubris_requests_total{outcome!="success"}[15m]))
/ clamp_min(sum(rate(hubris_requests_total[15m])), 0.0001) > 5Расход считается из счётчиков функцией rate или increase, поэтому «сколько потратили за час» получается запросом, а не хранится отдельной метрикой: sum(increase(hubris_spend_kopecks_total[1h])) / 100 — рубли за час.
Если панели пустые
- Нет данных вообще. Проверьте в Explore запрос
hubris_balance_kopecks. Пусто — сборщик не доходит до Hubris: неверный ключ (401), ключ привязан к другому адресу (403), либо задание не подхватилось. - Часть панелей пустая. Панели расхода и токенов оживают после первых запросов через API: пока запросов не было, счётчиков ещё нет.
- Таблица лимитов пустая. В неё попадают только ключи, у которых задан лимит расхода.
Обновлено:
Make
Подключение Hubris к Make (бывший Integromat) — приложение с модулями «Создать текстовый ответ» и «Сгенерировать изображение», готовый сценарий для блога на WordPress и универсальный путь через HTTP-модуль.
Zabbix
Шаблон Zabbix для Hubris — баланс, расход, доля ошибок и лимиты ключей через HTTP-агента. Готовый файл импортируется одним действием.