Skip to content

Monitoramento

O Sapsan escreve logs estruturados, serve métricas em formato Prometheus e exporta traces por OpenTelemetry (OTLP) — se encaixa no stack padrão de observabilidade: Prometheus/Grafana, Jaeger/Tempo, Loki.

Logs

O nível de log é controlado pela variável de ambiente RUST_LOG:

RUST_LOG=info sapsan
RUST_LOG=debug,hls=trace sapsan   # mais detalhe para um módulo específico

Note

TODO: formato dos logs, destinos padrão nas instalações deb/Docker.

Métricas Prometheus

GET /streamer/api-v4/runtime/metrics serve métricas do processo em formato Prometheus (incluindo o alocador jemalloc). Ao lado estão as métricas de live, de sessões e de DVR: /live-metrics, /sessions-metrics, /dvr/metrics (veja o Admin API). Os endpoints do scrape exigem a opção de licença de contadores estendidos; sem ela, os gráficos são servidos pelo servidor Prometheus embutido (um datasource Grafana pronto). O percurso completo pelos canais de estatística, os campos e as receitas de alertas está na página Estatísticas.

Contadores de qualidade

O que está disponível para alertar:

  • Captura MPEG-TS: por cada PID — erros CC, TEI, pacotes cifrados, erros CRC de PSI, PES quebrados, estado do buffer do decodificador (HRD).
  • SRT: RTT, perdas e retransmissões nos dois sentidos, tamanhos de buffer, tempos limite de keepalive.
  • Fontes (LSI): tempo na entrada principal/reserva, tempo sem dados, tentativas, validade das reservas, divergência de parâmetros entre as entradas.
  • Sessões: abertas, recusadas, autorizadas, recusas de reautorização.
  • DVR: espaço em disco, contadores de operações, número de blobs, bytes usados pelo arquivo, progresso da reconstrução do catálogo.
  • Pushes: por push — status com a causa da falha, velocidade de envio, bytes, erros, reconexões, retransmissões SRT/RIST. Veja Estatísticas de pushes.
  • Agentes do Peeklio: estado das conexões, bytes, erros.

Traces

O Sapsan exporta traces pelo protocolo OTLP.

Note

TODO: variáveis de ambiente do exportador OTLP (endpoint, sampling), o que os traces cobrem.

Saúde do servidor

  • Sonda de readiness: GET /streamer/api-v3/monitoring/readiness — para Kubernetes e balanceadores.
  • Estado dos streams: GET /streamer/api-v3/streams.

Ferramentas de diagnóstico

Os validadores HLS e DASH embutidos verificam de forma ativa a entrega própria (ou a alheia): latência LL-HLS, integridade dos timelines, alinhamento da escada ABR.