Monitorización¶
Sapsan escribe logs estructurados, sirve métricas en formato Prometheus y exporta trazas por OpenTelemetry (OTLP) — se integra en el stack de observabilidad estándar: Prometheus/Grafana, Jaeger/Tempo, Loki.
Logs¶
El nivel de log se controla con la variable de entorno RUST_LOG:
RUST_LOG=info sapsan
RUST_LOG=debug,hls=trace sapsan # más detalle para un módulo concreto
Note
TODO: formato de los logs, destinos por defecto en las instalaciones deb/Docker.
Métricas Prometheus¶
GET /streamer/api-v4/runtime/metrics sirve métricas del proceso en formato Prometheus (incluido el asignador jemalloc). Al lado están las métricas de live, de sesiones y de DVR: /live-metrics, /sessions-metrics, /dvr/metrics (véase el Admin API). Los endpoints del scrape requieren la opción de licencia de contadores extendidos; sin ella, los gráficos los sirve el servidor Prometheus integrado (un datasource de Grafana listo). El recorrido completo por los canales de estadística, los campos y las recetas de alertas está en la página Estadísticas.
Contadores de calidad¶
Lo que hay disponible para alertar:
- Captura MPEG-TS: por cada PID — errores CC, TEI, paquetes cifrados, errores CRC de PSI, PES rotos, estado del búfer del decodificador (HRD).
- SRT: RTT, pérdidas y retransmisiones en ambas direcciones, tamaños de búfer, tiempos de espera de keepalive.
- Fuentes (LSI): tiempo en la entrada principal/reserva, tiempo sin datos, reintentos, validez de las reservas, divergencia de parámetros entre las entradas.
- Sesiones: abiertas, rechazadas, autorizadas, denegaciones de reautorización.
- DVR: espacio en los discos, contadores de operaciones, número de blobs, bytes ocupados por el archivo, progreso de la reconstrucción del catálogo.
- Pushes: por cada push — estado con la causa del fallo, velocidad de envío, bytes, errores, reconexiones, retransmisiones SRT/RIST. Véase Estadísticas de pushes.
- Agentes de Peeklio: estado de las conexiones, bytes, errores.
Trazas¶
Sapsan exporta trazas por el protocolo OTLP.
Note
TODO: variables de entorno del exportador OTLP (endpoint, sampling), qué cubren las trazas.
Salud del servidor¶
- Sonda de readiness:
GET /streamer/api-v3/monitoring/readiness— para Kubernetes y balanceadores. - Estado de los streams:
GET /streamer/api-v3/streams.
Herramientas de diagnóstico¶
Los validadores HLS y DASH integrados comprueban de forma activa la entrega propia (o la ajena): latencia LL-HLS, integridad de los timelines, alineación de la escalera ABR.