Saltar a contenido

Supervisión y registros

Dónde ver lo que está haciendo el servidor, para el administrador que quiere comprobar su estado más que arreglar algo: desde lo que se reproduce ahora mismo hasta las estadísticas del mes, con los registros por medio. Si tienes un síntoma que investigar, empieza por Solución de problemas.

Lo que se reproduce ahora

Administración → Reproduciendo ahora muestra todos los flujos en curso: quién, qué, en qué dispositivo, y cómo, pista por pista (copiada, transcodificada, y el backend que la codifica). Un administrador puede Detener una sesión o Enviar mensaje al espectador.

La tarjeta Quién está en línea del panel principal muestra quién está conectado ahora mismo, por perfil, con el tiempo que ha pasado desde la última señal de cada app. Un Chromecast cuya televisión mantiene cargado el receptor de Evey sigue en la lista después de que su reproducción haya terminado y haya salido de Reproduciendo ahora; Detener este Chromecast le envía una orden de parada, que la televisión aplica en unos 30 segundos.

Administración → Estado del sistema muestra el procesador, la memoria, el ancho de banda y el almacenamiento, y qué parte de la capacidad de transcodificación está en uso. También lista los discos de la máquina, cada uno con el tiempo medio que esperó una petición durante el último minuto, su ocupación y sus caudales de lectura y escritura. La espera es la cifra que hay que vigilar: un disco puede estar ocupado al 100 % y seguir el ritmo, mientras que uno que hace esperar a cada petición varias veces más que en reposo convierte la reproducción en almacenamiento en búfer, aunque el procesador parezca libre. Un disco se marca como Saturado cuando su espera alcanza al menos 20 ms y al menos 2,5 veces su espera en reposo, con el disco ocupado o el procesador esperándolo. La tarjeta de CPU indica qué parte del tiempo del procesador se pasó esperando a los discos.

Tendencias, bajo las tarjetas en directo, dibuja las últimas 24 horas, 7 días o 30 días a partir de las muestras que el servidor registra cada minuto: procesador y espera de disco, memoria, la espera de disco con sus líneas de reposo y de saturación, ocupación y caudal de los discos, red entrante y saliente junto al streaming realmente servido, flujos y transcodificaciones, y el llenado de los discos de las bibliotecas. Procesador, discos y red son de toda la máquina: una copia u otro servicio que lea los mismos discos aparece ahí también. El panel lleva una tarjeta Discos con el disco que más espera.

Administración → Estado del sistema en el servidor de demostración
Administración → Estado del sistema, con el trabajo en segundo plano que se ejecuta debajo (interfaz en inglés).

Registros

Administración → Registros y depuración busca en el registro del servidor y lo sigue en directo (En vivo), filtrado con Zona a una sola parte (reproductor y transcodificación, índice de posicionamiento, subtítulos, detección de intros, Chromecast, autenticación, infraestructura...). Es el primer sitio donde mirar cuando un usuario informa de un problema.

El mismo registro está en el disco, un archivo JSON por día en ./evey-data/logs/ (/data/logs/evey-YYYY-MM-DD.log en el contenedor), más un archivo con sufijo de hora (evey-YYYY-MM-DD-HH.log) cuando un archivo pasa de 50 MB (EVEY_LOG_MAX_SIZE_MB), y se guarda 90 días por defecto. docker compose logs evey solo muestra lo que el contenedor escribe mientras arranca, que es lo que hay que leer cuando el servidor no llega a arrancar. Ver Solución de problemas.

Cómo ha ido de verdad la reproducción

Administración → Calidad de streaming se construye con lo que informan los reproductores mientras reproducen (nivel del búfer, recargas, velocidad, en formato CMCD): cada cuánto han tenido que esperar los espectadores, los títulos que más se detienen y los tipos de dispositivo que tienen problemas, en el último día o la última semana.

El servidor también actúa en consecuencia. Cuando un tipo de fuente hace esperar a los espectadores una y otra vez, baja durante un tiempo la calidad máxima para ese tipo de fuente, además del techo calibrado, y después quita el límite por sí solo. Los límites activos aparecen en Límites de calidad automáticos, con el motivo y la fecha de caducidad; Restablecer quita uno en el momento.

Historial y estadísticas

  • Administración → Analítica: reproducciones de hoy y de esta semana, usuarios activos, los títulos más vistos de los últimos 30 días.
  • Administración → Actividad: el historial de reproducciones y de acciones de administración, y el trabajo en segundo plano en curso.

El tiempo que se guarda cada tipo de historial se fija en Administración → Configuración del servidor → Datos y conservación (sesiones de reproducción, registro de auditoría, métricas del servidor, calidad de streaming). Un cambio se aplica en la siguiente limpieza diaria.

Métricas de Prometheus

GET /metrics sirve los contadores del servidor en el formato de texto de Prometheus, todos con nombres evey_.... Responde a un token fijo puesto en EVEY_METRICS_SCRAPE_TOKEN y enviado como Authorization: Bearer <token>, para que Prometheus o Grafana puedan recogerlas desde cualquier sitio sin iniciar sesión; una sesión de administrador solo se acepta desde el propio loopback del contenedor (Copias de seguridad, registros y supervisión). Las familias con las que conviene empezar los gráficos:

Métrica Qué indica
evey_transcodes_active, evey_transcode_queue_depth Las tareas de transcodificación en segundo plano (fuera de la reproducción en directo) en marcha, y las que esperan un hueco.
evey_hlsvod_sessions_active, evey_hlsvod_sessions_rejected_total Los procesos FFmpeg que producen segmentos de reproducción, y los arranques rechazados porque el servidor estaba en su límite.
evey_hlsvod_cache_size_bytes, evey_hlsvod_cache_evicted_bytes_total El tamaño de la caché de segmentos en disco, y lo que ha liberado la limpieza.
evey_mkvgo_walks_in_flight, evey_mkvgo_plan_stats El empaquetador integrado en el proceso: ventanas en lectura, lecturas en cola (stat="slot_waits"), ver MKVGo en Evey.
evey_http_requests_total, evey_http_request_duration_seconds Peticiones y latencia por método y por ruta.
evey_watcher_alive, evey_scan_queue_depth Si el monitor de archivos de cada biblioteca respondió a su última comprobación (1 o 0), y los archivos que esperan a ser escaneados.

Línea de comandos

evey admin doctor revisa todo el servidor en un solo informe; los demás comandos de diagnóstico están en Línea de comandos.