Skip to content

Мониторинг

Sapsan пишет структурированные логи, отдает метрики в формате Prometheus и экспортирует трейсы по OpenTelemetry (OTLP) — встраивается в стандартный стек наблюдаемости: Prometheus/Grafana, Jaeger/Tempo, Loki.

Логи

Уровень логирования управляется переменной окружения RUST_LOG:

RUST_LOG=info sapsan
RUST_LOG=debug,hls=trace sapsan   # подробнее для отдельного модуля

Note

TODO: формат логов, куда пишутся по умолчанию в deb/Docker-инсталляции.

Метрики Prometheus

GET /streamer/api-v4/runtime/metrics отдает метрики процесса в формате Prometheus (включая аллокатор jemalloc). Рядом — метрики лайва, сессий и DVR: /live-metrics, /sessions-metrics, /dvr/metrics (см. Admin API).

Счетчики качества

Что доступно для алертинга:

  • MPEG-TS прием: по каждому PID — CC-ошибки, TEI, скремблированные пакеты, ошибки CRC PSI, битые PES, состояние буфера декодера (HRD).
  • SRT: RTT, потери и ретрансмиты в обе стороны, размеры буферов, таймауты keepalive.
  • Источники (LSI): время на основном/резервном входе, время без данных, ретраи, валидность резервов, расхождение параметров между входами.
  • Сессии: открытые, отклоненные, авторизованные, отказы переавторизации.
  • DVR: место на дисках, счетчики операций, число блобов, занято архивом, прогресс перестройки каталога.
  • Пуши и агенты Peeklio: состояние соединений, байты, ошибки.

Трейсы

Sapsan экспортирует трейсы по протоколу OTLP.

Note

TODO: переменные окружения OTLP-экспортера (endpoint, sampling), что покрыто трейсами.

Здоровье сервера

  • Readiness-проба: GET /streamer/api/v3/monitoring/readiness — для Kubernetes и балансировщиков.
  • Состояние потоков: GET /streamer/api/v3/streams.

Диагностические инструменты

Встроенные валидаторы HLS и DASH активно проверяют собственную (или чужую) раздачу: задержку LL-HLS, целостность таймлайнов, выравнивание ABR-лесенки.