Installation et configuration du Watchdog

Comment protéger votre serveur contre les blocages et les gels à l'aide d'un watchdog timer.

Le watchdog timer est un mécanisme de protection matériel qui empêche votre serveur de rester bloqué indéfiniment. Le principe est simple : le système envoie périodiquement un signal « heartbeat » pour réinitialiser le timer. Si ce signal s'arrête — parce que le système s'est figé, a planté ou est entré dans une boucle infinie — le timer se déclenche et provoque un redémarrage. Selon la configuration, ce redémarrage peut être un redémarrage propre au niveau logiciel ou un redémarrage forcé au niveau matériel (par exemple, en activant la ligne RST).

Sur les serveurs dédiés et les VPS auxquels vous ne pouvez pas accéder physiquement, ce type de récupération automatique est vraiment précieux.

Installation sur Ubuntu / Debian

sudo apt-get install watchdog

Le paquet installe les fichiers clés suivants :

  • /etc/init.d/watchdog — script d'initialisation du service
  • /etc/watchdog.conf — fichier de configuration principal
  • /etc/default/watchdog — options de démarrage
  • /dev/watchdog — le périphérique watchdog
  • /usr/sbin/watchdog — le binaire watchdog

Paramètres clés dans /etc/watchdog.conf

Timing et journalisation :

  • interval — fréquence à laquelle le watchdog écrit sur le périphérique. Par défaut : 10 secondes. Les valeurs supérieures à 60 secondes nécessitent le flag -f au démarrage.
  • logtick — contrôle la fréquence d'écriture des événements dans le journal. Avec logtick = 60 et interval = 10, les événements sont journalisés au maximum une fois toutes les 10 minutes.

Charge système :

  • max-load-1, max-load-5, max-load-15 — charges moyennes système maximales acceptables sur 1, 5 et 15 minutes. Si un seuil est dépassé, le watchdog déclenche un redémarrage. Mettre à 0 pour désactiver une vérification.

Mémoire et température :

  • min-memory — mémoire virtuelle libre minimale acceptable. Mettre à 0 pour désactiver.
  • max-temperature — température maximale acceptable avant qu'un redémarrage soit déclenché.
  • watchdog-device — chemin vers le périphérique watchdog (généralement /dev/watchdog).
  • temperature-device — chemin vers le capteur de température.

Surveillance des fichiers et des processus :

  • file et change — surveille les modifications d'un fichier. change définit l'intervalle de vérification.
  • pidfile — chemin vers le fichier PID d'un processus à maintenir actif. Exemple : pidfile = /var/run/apache2.pid. Si le processus ne tourne pas, le watchdog redémarre le système.

Réseau :

  • ping et interface — vérifie la connectivité réseau en pingant un hôte. interface précise quelle interface réseau utiliser.

Tests personnalisés :

  • test-binary — chemin vers un script ou programme de test personnalisé.
  • test-timeout — durée maximale d'exécution du test en secondes (0 pour aucune limite).
  • repair-binary — programme exécuté automatiquement lorsqu'un problème est détecté, avant de recourir au redémarrage.

Notifications et priorité :

  • admin — adresse e-mail pour les notifications d'événements. Laisser vide pour désactiver.
  • realtime = Yes — verrouille le module watchdog en mémoire pour qu'il ne puisse pas être swappé.
  • priority — priorité d'ordonnancement temps réel du processus watchdog.

Nos produits et services

Hébergement webFonctionne sur des disques NVMe ultra-rapides. Convient aux sites de toute complexité.
Commande
VPSInfrastructure cloud flexible avec accès root complet.
Commande
Serveurs dédiésServeurs physiques pour une performance maximale.
Commande

Exemple de configuration avec Intel TCO Watchdog

Charger le module noyau :

sudo modprobe iTCO_wdt

Dans /etc/watchdog.conf, décommenter ou ajouter :

watchdog-device = /dev/watchdog
interval = 10

Dans /etc/default/watchdog, spécifier le nom du module :

watchdog_module="iTCO_wdt"

Pour activer la journalisation détaillée dans syslog à des fins de débogage :

watchdog_options="-v"

Redémarrer le service :

sudo /etc/init.d/watchdog restart

Surveiller les logs en temps réel pour confirmer le bon fonctionnement :

tail -f /var/log/syslog

Aide

Une question ou besoin d'un coup de main ? Écrivez-nous via le système de tickets — nous sommes toujours là pour vous aider !

Besoin d’aide?Nos ingénieurs vous aideront gratuitement pour n’importe quelle question en quelques minutesNous contacter