ELX-Software

Supervisión de servidores

ELX-HealthMonitor

Qué está haciendo ahora un servidor Linux y qué hacía la semana pasada

Un agente de supervisión con interfaz web, historial en SQLite y avisos por correo. Un único ejecutable sin dependencias: la interfaz está dentro del binario y la base se crea sola. En un Celeron de cuatro años cuesta alrededor del cuatro por ciento de un núcleo y once megabytes de memoria.

v1.0.0 LinuxARM Gratuito

Leído del núcleo, no adivinado

Todo procede directamente de /proc, /sys y smartctl. Ningún recolector que instalar, ninguna base de series temporales que mantener y ninguna pareja agente-servidor que llevar acompasada.

Los discos antes de que fallen

Salud SMART, temperatura, horas de funcionamiento, sectores reasignados y pendientes, errores de CRC, desgaste de los SSD y bytes escritos en toda la vida — con la tabla completa de atributos cuando quiera mirar más de cerca.

El RAID, incluida la parte incómoda

Estado de la matriz, nivel, miembros, discos averiados y avance de la resincronización — más el mapa de intenciones de escritura, que dice si en este momento las copias son de verdad idénticas, y el número de discrepancias de la última comprobación.

Los servicios con su propia actividad de disco

Cada unidad systemd con su procesador, su memoria, sus lecturas y escrituras en disco, su número de tareas y sus reinicios — y botones para arrancar, parar y cambiar el arranque automático.

Avisos que no gritan sin motivo

Una regla lleva un tiempo de espera: un pico de diez segundos a plena carga no envía nada, diez minutos a ese nivel sí. Es ese solo ajuste el que separa los mensajes que se leen de los que se filtran.

Un historial que no crece sin fin

Tres días a resolución completa, luego tramos de cinco minutos que guardan media, mínimo y máximo, y nada más antiguo de un mes. Los picos sobreviven al aclarado; los gigabytes no.

Qué se mide

SecciónMedidas
ProcesadorCarga total y por núcleo, user/system/iowait/steal, frecuencia, carga media, cambios de contexto, cola
MemoriaOcupada, disponible, caché, búferes, slab, páginas sucias, intercambio y con qué intensidad se usa
DiscosVelocidad de lectura y escritura, IOPS, latencia, ocupación del dispositivo, modelo, capacidad
Sistemas de archivosOcupado, libre, porcentaje, inodos
SMARTSalud, temperatura, horas de funcionamiento, sectores reasignados y pendientes, errores de CRC, desgaste de los SSD, bytes escritos en toda la vida, tabla completa de atributos
RAIDEstado de las matrices md, nivel, miembros, discos averiados, avance y velocidad de la resincronización, igualdad actual de las copias y discrepancias de la última comprobación
RedBytes y paquetes de entrada y salida, errores y pérdidas, estado del enlace, velocidad del puerto, direcciones, MTU
TemperaturaTodos los sensores hwmon y zonas térmicas ACPI, más las temperaturas de los discos según SMART
ServiciosEstado y arranque automático de las unidades systemd, procesador, memoria, actividad de disco por servicio, número de tareas, reinicios
ProcesosLos primeros por procesador y por memoria, actividad de disco, propietario, unidad

Cada sección se desactiva por separado, y una sección desactivada no se interroga en absoluto.

La pregunta sobre el RAID que conviene hacer

Una matriz en espejo guarda los mismos datos en los dos discos, pero las escrituras no los alcanzan en el mismo instante. El núcleo anota las zonas que podrían diferir en un mapa de intenciones de escritura, y este agente muestra ese mapa directamente: mientras el número de zonas sucias sea cero las copias son idénticas; por encima de cero hay una resincronización en marcha.

Al lado figura el número de discrepancias de la última comprobación de integridad. Un valor distinto de cero significa que un disco o una controladora ha devuelto datos distintos de las dos mitades de un espejo — y ése es precisamente el fallo por el que existe la supervisión, y precisamente el que oculta un indicador verde de «matriz sana».

Cuánto cuesta tenerlo funcionando

Las lecturas caras siguen su propio calendario, aparte del ciclo principal: despertar cinco discos cada tres segundos para preguntarles la temperatura sería peor que no vigilarlos.

AjustePor omisiónQué gobierna
interval_sec3 sEl ciclo principal de interrogación
services.interval_sec15 sUn recorrido completo por las unidades systemd
disk.smart_interval_sec900 sLa interrogación SMART — es la que despierta los discos
storage.persist_interval_sec30 sLa escritura de una instantánea en el historial

Medido en un Celeron J1900 de cuatro núcleos, con 165 unidades systemd y cinco discos: alrededor del cuatro por ciento de un núcleo y once megabytes de memoria. En un Xeon E5-2690, menos del tres por ciento de un núcleo.

La interfaz

  • El navegador recuerda sus decisiones: el periodo de cada gráfico, las curvas ocultas con un clic en la leyenda, y los filtros de las tablas de servicios y sucesos. Recargar no borra ninguna.
  • Todas las curvas suben desde cero, la unidad del eje sigue el intervalo de valores y el número de decimales sigue el paso de la rejilla — así dos marcas contiguas nunca llevan la misma etiqueta.
  • Tras una actualización, una pestaña abierta advierte por sí sola el cambio de versión, lo dice y se recarga, en lugar de dejar una interfaz vieja en la caché del navegador.
  • Los botones de reinicio y apagado de la máquina están en la cabecera; si no los quiere ahí, una clave de configuración los retira.
  • Cada acción irreversible está detrás de una confirmación que explica la consecuencia, y el botón lleva el nombre de la acción en vez de «Aceptar».

En pocas palabras

Sistemas operativos
Debian y Ubuntu con systemd
Arquitecturas
amd64, arm64, armhf
Interfaz web
Puerto 8555 por omisión
Historial
SQLite; 3 días en bruto, 31 días condensados
Dependencia opcional
smartmontools, para la sección SMART
Coste habitual
~4 % de un núcleo, ~11 MB de memoria
Avisos
Correo por SMTPS, STARTTLS o en claro
Configuración
Interfaz web, o config.json

ELX-HealthMonitor

Qué está haciendo ahora un servidor Linux y qué hacía la semana pasada

Descargar