Comprobaciones

Una comprobación vigila una cosa concreta de un equipo: que responde al ping, que un puerto está abierto, que una web contesta bien, que un servidor DNS resuelve, que un plugin de Nagios da el visto bueno, que un comando por SSH devuelve lo esperado o que las interfaces de un router siguen arriba. Cada equipo tiene las suyas y se ven al pulsar su nombre en la lista de equipos.

La comprobación de presencia

Todo equipo nuevo nace con una comprobación ping marcada como presencia del equipo. Es la que dice si el equipo está encendido:

No se puede borrar, pero sí cambiar su intervalo, el número de pings o desactivarla. Un equipo sin comprobación de presencia activa no sabe si está encendido: sus demás comprobaciones avisan siempre.

Tipos

TipoQué compruebaDatos que pide
PingQue el equipo responde, la latencia y la pérdida de paquetesNúmero de pings (3) y, si quieres, una latencia a partir de la cual avisar
TCPQue un puerto acepta conexiones y cuánto tardaEl puerto: 22 para SSH, 445 para SMB, 1883 para MQTT, 8080 para otras webs…
HTTP(S)Que una web o API responde con un código válido, que contiene un texto y, en HTTPS, cuánto le queda al certificadoLa URL (por defecto http://<dirección>/), los códigos válidos (200-399) y el texto esperado
DNSQue el equipo, como servidor DNS, resuelve un nombreEl nombre que se consulta, el tipo de registro (A, AAAA, MX…) y, si quieres, la respuesta esperada
Certificado TLSCuántos días le quedan al certificado de cualquier puerto con TLS (web, correo, LDAP…)El puerto (443) y, si quieres, los días de aviso (21) y crítico (7)
DominioCuántos días faltan para que caduque el registro de un dominio (RDAP)El dominio y, si quieres, los días de aviso (30) y crítico (7)
ScriptQue un plugin con la convención de Nagios devuelve «bien»El programa y sus argumentos (ver más abajo)
SSHQue un comando remoto devuelve lo esperado, sin instalar el agenteUna credencial SSH, el usuario y el comando (ver más abajo)
SNMPEl estado y el tráfico de las interfaces de un router, switch o NASUna credencial SNMP (ver más abajo)
No uses una comprobación TCP contra el puerto de MariaDB o MySQL: cada conexión que se abre y se cierra sin iniciar sesión cuenta como error, y a las 100 (max_connect_errors) el servidor de bases de datos bloquea esa IP, también para Atalaya si comparten equipo. Vigila la base de datos con el ping del equipo hasta que llegue una sonda específica.

En la URL de una comprobación HTTP, {address} se sustituye por la dirección del equipo: https://{address}:8006/ vigila la web de Proxmox sin repetir la IP.

Para equipos con certificado autofirmado, desmarca Comprobar el certificado TLS: la web se comprueba igual y la caducidad del certificado también se vigila (aviso a 21 días, crítico a 7).

Caducidad de certificados y dominios

Dos comprobaciones sirven para que no te pille por sorpresa una caducidad. Su valor es el número de días que quedan.

La dirección del equipo al que añadas una comprobación de dominio no se usa; un buen sitio es un equipo «Dominios» creado para eso (sin presencia activa, para que no dé alarmas de apagado). Estas dos comprobaciones las ejecuta siempre el servidor, aunque el equipo tenga un satélite asignado.

Script (plugins de Nagios)

Ejecuta un programa de /usr/lib/nagios/plugins (el paquete monitoring-plugins de Debian trae casi un centenar: check_disk, check_load, check_procs, check_smtp…), de /usr/lib/atalaya/plugins, de /usr/local/lib/atalaya/plugins o de /etc/atalaya/plugins, para tus propios scripts. Se usa la convención de Nagios:

Código de salidaEstado
0Bien
1Aviso
2Crítico
3 u otroSin datos (el plugin no pudo comprobarlo)

La primera línea de la salida es el resultado que ves en Atalaya; lo que va detrás de | son datos de rendimiento, y el primero se guarda como valor de la comprobación. Los argumentos se escriben uno por línea, sin comillas, y {address} se cambia por la dirección del equipo. No se usa ninguna shell, y el programa se ejecuta con el usuario atalaya, sin privilegios; si pasa del tiempo máximo se corta.

SSH sin agente

Ejecuta un comando en el equipo por SSH con la clave de una credencial. Sirve para vigilar equipos donde no quieres o no puedes instalar el agente: systemctl is-active nginx, df --output=pcent / | tail -1 | tr -d ' %', cut -d' ' -f1 /proc/loadavg…

SNMP

Lee la tabla de interfaces de un router, switch, NAS o impresora con SNMP v2c o v3 (con la credencial que elijas). Cada vez comprueba:

El valor de la comprobación es el número de interfaces arriba. El equipo debe tener SNMP activado y permitir consultas desde el servidor de Atalaya.

Valores concretos (OID)

Con Qué se vigila → Valores concretos la comprobación lee los OID que le indiques en vez de las interfaces: la temperatura de un sensor, la carga de un servidor, el nivel de tóner de una impresora, un contador de un SAI… Hasta 10 por comprobación. Cada valor tiene:

El valor de la comprobación es el del primer OID, su estado el peor de todos, y cada valor numérico se guarda como métrica (snmp.oid) y sale en las gráficas de la ficha del equipo, agrupado por unidad.

Estados

EstadoSignificado
BienLa última vez funcionó.
AvisoFunciona, pero pasa un umbral: tarda más de lo indicado, pierde algún ping o el certificado caduca pronto.
CríticoNo funciona: puerto cerrado, error HTTP, sin respuesta…
Sin datosAún no se ha ejecutado.
SuspendidaEl equipo está apagado y no tiene por qué estar encendido; se reanuda sola al volver.

Cuándo se da por fallida

Un fallo suelto no cambia el estado. Tras el primer fallo, Atalaya repite la comprobación a los 10 segundos y solo la marca en aviso o crítico cuando falla las veces seguidas que indique Fallos seguidos para dar la alarma (2 por defecto). En cuanto vuelve a funcionar una vez, pasa a «Bien».

Comprobar ahora

El botón ▶ de cada comprobación la lanza en el momento, sin esperar a su intervalo. Es útil tras arreglar algo, para ver que ya funciona.