Skip to content

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.