Das Problem
Der Nagios-Netzwerküberwachungsdienst kann nach dem Neustart nicht gestartet werden.
-- 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
Die Lösung
In der Datei „/etc/nagios/nagios.cfg “, wurde der Parameter lock_file auf „/var/run/nagios/nagios.pid gesetzt “. In CentOS/RHEL wird es nicht empfohlen, in /var/run zu schreiben, da /var/run normalerweise als tmpfs gemountet wird, was eine Partition ist, die Ihrem RAM zugeordnet ist. Offensichtlich wird RAM beim Neustart gelöscht, ebenso wie alle tmpfs-Dateisysteme. Daher konnte die Datei „/var/run/nagios/nagios.pid“ nicht gefunden werden.
# cat /etc/nagios/nagios.cfg lock_file=/var/run/nagios/nagios.pid
In /etc/nagios/nagios.cfg sollte der Parameter „lock_file“ auf ein Verzeichnis zeigen, in dem Daten über den Neustart hinweg persistent sind. Dies ist die Sperrdatei, die Nagios verwendet, um seine PID-Nummer zu speichern, wenn es im Daemon-Modus läuft. Ändern Sie den Parameter lock_file von „/var/run/nagios/nagios.pid“ in „/nagios/nagios.pid“.
Speichern Sie die Änderungen und starten Sie den „nagios“-Dienst neu.