Le problème
Impossible de démarrer le service Nagios Network Monitoring après le redémarrage.
-- var/log/messages ---- May 6 09:14:28 [hostname] nagios: Checking global event handlers... May 6 09:14:28 [hostname] nagios: Checking obsessive compulsive processor commands... May 6 09:14:28 [hostname] nagios: Checking misc settings... May 6 09:14:28 [hostname] nagios: Total Warnings: 0 May 6 09:14:28 [hostname] nagios: Total Errors: 0 May 6 09:14:28 [hostname] nagios: Things look okay - No serious problems were detected during the pre-flight check May 6 09:14:28 [hostname] nagios: Failed to obtain lock on file /var/run/nagios/nagios.pid: No such file or directory May 6 09:14:28 [hostname] nagios: Bailing out due to errors encountered while attempting to daemonize... (PID=9029) May 6 09:14:28 [hostname] systemd: nagios.service: control process exited, code=exited status=254 May 6 09:14:28 [hostname] systemd: Failed to start Nagios Network Monitoring. May 6 09:14:28 [hostname] systemd: Unit nagios.service entered failed state. May 6 09:14:28 [hostname] systemd: nagios.service failed.
$ less installed-rpms | grep nagios nagios-4.3.4-3.el7.x86_64 Mon Feb 18 14:30:00 2019 nagios-common-4.3.4-3.el7.x86_64 Mon Feb 18 14:29:59 2019
La solution
Dans le fichier "/etc/nagios/nagios.cfg », le paramètre lock_file était défini sur « /var/run/nagios/nagios.pid “. Dans CentOS/RHEL, il n'est pas recommandé d'écrire dans /var/run car /var/run est généralement monté en tant que tmpfs, qui est une partition mappée dans votre RAM. Évidemment, la RAM est effacée au redémarrage, de même que tous les systèmes de fichiers tmpfs. Par conséquent, le fichier "/var/run/nagios/nagios.pid" n'a pas pu être trouvé.
# cat /etc/nagios/nagios.cfg lock_file=/var/run/nagios/nagios.pid
Dans /etc/nagios/nagios.cfg, le paramètre "lock_file" doit pointer vers un répertoire où les données sont persistantes lors du redémarrage. C'est le fichier de verrouillage que Nagios utilisera pour stocker son numéro PID lorsqu'il fonctionnera en mode démon. Changez le paramètre lock_file de "/var/run/nagios/nagios.pid" à "/nagios/nagios.pid".
Enregistrez les modifications et redémarrez le service "nagios".