AiHummer
Русский
Войти
v1.0.x
{ }Swagger

Наблюдаемость

v1.0.x · обновлено 2026-07-07

У наблюдаемости AiHummer две поверхности: gateway отдаёт эндпоинт Prometheus GET /metrics для скрейпа базовых метрик и, опционально, пушит телеметрию по OTLP на эндпоинт OpenTelemetry, который вы настраиваете. Скрейпьте /metrics для базового мониторинга; для трейсов и подробных метрик направьте AiHummer на свой OTLP-коллектор и визуализируйте данные поставляемыми дашбордами Grafana.

[!NOTE] pprof (/debug/pprof) не экспонируется.

Эндпоинт Prometheus /metrics

GET /metrics отдаёт метрики в текстовом формате Prometheus без дополнительной настройки. Экспонируются только нечувствительные показатели — информация о сборке, аптайм и рантайм процесса, состояние пула соединений с БД и gauge готовности; никаких данных арендаторов, секретов и per-request меток. Для трейсов и богатых метрик используйте OTLP-push.

Push по OTLP

Включается одной переменной:

# gateway.env — экспорт телеметрии в ваш OTLP-коллектор
AIHUMMER_OTEL_ENDPOINT=http://otel-collector:4317

Когда задан AIHUMMER_OTEL_ENDPOINT, gateway отправляет телеметрию в этот коллектор. Оттуда маршрутизируйте её в свой бэкенд (Tempo, хранилище метрик, логи) и в Grafana.

Отчёты об ошибках (Bugsink / Sentry)

Gateway включает клиент отчётов об ошибках по протоколу Sentry — он работает с self-hosted Bugsink или любым Sentry-совместимым DSN. Задайте DSN, и паники и ошибки (включая фазу загрузки и фоновые воркеры) будут отправляться в ваш трекер с тегами компонента и инстанса:

# gateway.env — отчёты об ошибках (Bugsink или любой Sentry-совместимый DSN)
AIHUMMER_SENTRY_DSN=https://<key>@<ваш-bugsink-или-sentry>/<project>
AIHUMMER_SENTRY_ENVIRONMENT=production   # опционально; по умолчанию production

Обе ручки — это настройки из каталога (группа Observability), поэтому их можно задать и из веб-админки; значение из БД имеет приоритет над env. Пока DSN не задан, отчёты выключены.

Живые логи в админке

Страница «Логи» админки — живой хвост журнала gateway: новые строки подтягиваются автоматически каждые несколько секунд, с автопрокруткой у нижнего края. В тулбаре — поиск по строкам и фильтр по уровню (все / ошибки / предупреждения / инфо / debug). Ряд других страниц (Дашборд, Сессии, Каналы) тоже обновляется автоматически, а длинные списки (аудит, изменения, уведомления и т.д.) подгружаются постранично кнопкой «Показать ещё».

Полные журналы всех сервисов по-прежнему живут в systemd — aihummer logs [unit] или journalctl -u aihummer-gateway.

Дашборды Grafana

Готовые дашборды Grafana поставляются вместе с релизом. Импортируйте их в свой экземпляр Grafana, чтобы получить операционные представления без сборки панелей с нуля.

За чем следить

Это сигналы, которые говорят, что система здорова и ходы проходят:

Сигнал Почему важно
Латентность хода Сквозная отзывчивость ходов агента
Доля ошибок Падающие ходы / запросы — первый признак проблем
Диспозиции доставки Доходят ли ответы реально до каналов
Глубина outbox / DLQ Очередь недоставленных сообщений; растущий DLQ = доставка застряла

Растущая глубина outbox или очереди мёртвых писем (DLQ) — самый явный ранний сигнал, что доставка копится; следите за ней во время выкаток и инцидентов.

Системные эндпоинты

Помимо OTLP gateway предоставляет небольшие HTTP-эндпоинты, полезные для проб, часов и клиентской диагностики:

Метод Эндпоинт Назначение
GET /metrics Метрики Prometheus (сборка, рантайм, пул БД, готовность)
GET /healthz Liveness + версия
GET /readyz Готовность (проверяет Postgres; 503 при недоступности)
GET /v1/ping Лёгкая проверка доступности
GET /v1/time Время сервера
POST /v1/client-log Приём клиентских лог-событий

Пробы здоровья и готовности подробно описаны в разделе systemd и health-проверки.

Куда дальше