Installazione e configurazione di Watchdog
Come proteggere il server da blocchi e freeze con un watchdog timer.
Il watchdog timer è un meccanismo di protezione hardware che impedisce al server di bloccarsi indefinitamente. Il principio è semplice: il sistema invia periodicamente un segnale „heartbeat" per azzerare il timer. Se questo segnale si interrompe — perché il sistema si è bloccato, è andato in crash o è entrato in un loop infinito — il timer scatta e avvia un riavvio. A seconda della configurazione, il riavvio può essere un normale riavvio software oppure un riavvio forzato a livello hardware (ad esempio, attivando la linea RST).
Sui server dedicati e sui VPS ai quali non puoi accedere fisicamente, questo tipo di ripristino automatico è davvero prezioso.
Installazione su Ubuntu / Debian
sudo apt-get install watchdog
Il pacchetto installa i seguenti file principali:
/etc/init.d/watchdog— script di init del servizio/etc/watchdog.conf— file di configurazione principale/etc/default/watchdog— opzioni di avvio/dev/watchdog— il dispositivo watchdog/usr/sbin/watchdog— il binario watchdog
Parametri principali in /etc/watchdog.conf
Timing e logging:
interval— frequenza con cui il watchdog scrive sul dispositivo. Default: 10 secondi. Valori superiori a 60 secondi richiedono il flag-fall'avvio.logtick— controlla con quale frequenza gli eventi vengono scritti nel log. Conlogtick = 60einterval = 10, gli eventi vengono registrati al massimo una volta ogni 10 minuti.
Carico di sistema:
max-load-1,max-load-5,max-load-15— valori massimi accettabili di carico medio del sistema su 1, 5 e 15 minuti. Se una soglia viene superata, il watchdog avvia un riavvio. Impostare a0per disabilitare un controllo.
Memoria e temperatura:
min-memory— memoria virtuale libera minima accettabile. Impostare a0per disabilitare.max-temperature— temperatura massima accettabile prima che venga avviato un riavvio.watchdog-device— percorso del dispositivo watchdog (in genere/dev/watchdog).temperature-device— percorso del sensore di temperatura.
Monitoraggio di file e processi:
fileechange— monitora un file per eventuali modifiche.changeimposta l'intervallo di verifica.pidfile— percorso al file PID del processo da tenere in esecuzione. Esempio:pidfile = /var/run/apache2.pid. Se il processo non è attivo, il watchdog riavvia il sistema.
Rete:
pingeinterface— verifica la connettività di rete eseguendo il ping di un host.interfacespecifica quale interfaccia di rete utilizzare.
Test personalizzati:
test-binary— percorso a uno script o programma di test personalizzato.test-timeout— tempo massimo di esecuzione del test in secondi (0per nessun limite).repair-binary— programma eseguito automaticamente quando viene rilevato un problema, prima di ricorrere al riavvio.
Notifiche e priorità:
admin— indirizzo email per le notifiche degli eventi. Lasciare vuoto per disabilitare.realtime = Yes— blocca il modulo watchdog in memoria in modo che non possa essere rimosso con lo swap.priority— priorità di scheduling in tempo reale per il processo watchdog.
I nostri prodotti e servizi
Esempio di configurazione con Intel TCO Watchdog
Caricare il modulo del kernel:
sudo modprobe iTCO_wdt
In /etc/watchdog.conf, decommentare o aggiungere:
watchdog-device = /dev/watchdog
interval = 10
In /etc/default/watchdog, specificare il nome del modulo:
watchdog_module="iTCO_wdt"
Per abilitare il logging dettagliato su syslog a scopo di debug:
watchdog_options="-v"
Riavviare il servizio:
sudo /etc/init.d/watchdog restart
Monitorare i log in tempo reale per verificare che tutto funzioni correttamente:
tail -f /var/log/syslog
Aiuto
Hai domande o ti serve una mano? Scrivici tramite il sistema di ticket — siamo sempre qui per aiutarti!