Instalación y configuración de Watchdog
Cómo proteger tu servidor de bloqueos y cuelgues con un watchdog timer.
El watchdog timer es un mecanismo de protección respaldado por hardware que evita que tu servidor se quede bloqueado indefinidamente. La idea es sencilla: el sistema envía periódicamente una señal de «heartbeat» para reiniciar el temporizador. Si esa señal deja de llegar — porque el sistema se ha colgado, ha fallado o ha entrado en un bucle infinito — el temporizador se dispara y provoca un reinicio. Según la configuración, ese reinicio puede ser un reinicio limpio a nivel de software o un reinicio forzado a nivel de hardware (por ejemplo, activando la línea RST).
En los servidores dedicados y los VPS a los que no puedes acceder físicamente, este tipo de recuperación automática resulta enormemente valioso.
Instalación en Ubuntu / Debian
sudo apt-get install watchdog
El paquete instala los siguientes archivos principales:
/etc/init.d/watchdog— script de inicio del servicio/etc/watchdog.conf— archivo de configuración principal/etc/default/watchdog— opciones de arranque/dev/watchdog— el dispositivo watchdog/usr/sbin/watchdog— el binario watchdog
Parámetros clave en /etc/watchdog.conf
Temporización y registro:
interval— con qué frecuencia el watchdog escribe en el dispositivo. Por defecto: 10 segundos. Los valores superiores a 60 segundos requieren el flag-fal arrancar.logtick— controla con qué frecuencia se escriben eventos en el log. Conlogtick = 60einterval = 10, los eventos se registran como máximo una vez cada 10 minutos.
Carga del sistema:
max-load-1,max-load-5,max-load-15— valores máximos aceptables de carga media del sistema en 1, 5 y 15 minutos. Si se supera algún umbral, el watchdog provoca un reinicio. Establece el valor a0para desactivar una comprobación.
Memoria y temperatura:
min-memory— memoria virtual libre mínima aceptable. Establece el valor a0para desactivar.max-temperature— temperatura máxima aceptable antes de que se produzca un reinicio.watchdog-device— ruta al dispositivo watchdog (normalmente/dev/watchdog).temperature-device— ruta al sensor de temperatura.
Monitorización de archivos y procesos:
fileychange— monitoriza un archivo para detectar cambios.changeestablece el intervalo de comprobación.pidfile— ruta al archivo PID del proceso que quieres mantener activo. Ejemplo:pidfile = /var/run/apache2.pid. Si el proceso no está en ejecución, el watchdog reiniciará el sistema.
Red:
pingeinterface— comprueba la conectividad de red haciendo ping a un host.interfaceespecifica qué interfaz de red utilizar.
Tests personalizados:
test-binary— ruta a un script o programa de prueba personalizado.test-timeout— tiempo máximo de ejecución del test en segundos (0para sin límite).repair-binary— programa que se ejecuta automáticamente cuando se detecta un problema, antes de recurrir al reinicio.
Notificaciones y prioridad:
admin— dirección de correo para las notificaciones de eventos. Déjalo en blanco para desactivar.realtime = Yes— fija el módulo watchdog en memoria para que no pueda ser intercambiado a swap.priority— prioridad de planificación en tiempo real para el proceso watchdog.
Nuestros servicios y productos
Ejemplo de configuración con Intel TCO Watchdog
Cargar el módulo del kernel:
sudo modprobe iTCO_wdt
En /etc/watchdog.conf, descomentar o añadir:
watchdog-device = /dev/watchdog
interval = 10
En /etc/default/watchdog, especificar el nombre del módulo:
watchdog_module="iTCO_wdt"
Para habilitar el registro detallado en syslog durante la depuración:
watchdog_options="-v"
Reiniciar el servicio:
sudo /etc/init.d/watchdog restart
Ver los logs en tiempo real para confirmar que todo funciona correctamente:
tail -f /var/log/syslog
Ayuda
¿Tienes dudas o necesitas ayuda? Escríbenos a través del sistema de tickets — siempre estamos aquí para ayudarte!