Wenn der Indianer mal wieder streikt …
Ab und an kommt es mal vor, dass der Indianer mal wieder nicht so will wie er soll. Gerade bei der älteren Installation eines Bekannten eher häufiger.
Jedesmal von unterwegs den Service neustarten ist also keine Option. Mein Eventhandler besteht wieder aus zwei Scripten. Eines läuft auf dem Nagios, das andere wird über ssh auf dem Remotehost gestartet. Die Authentifizierung läuft natürlich zeitgemäß über public keys.
1. Remoteserver konfigurieren:
1.1 Benutzerkonfiguration
der User Nagios muss auf dem Remotehost angelegt sein und auch ein Homedir besitzen. Die Datei ~/authorized_keys muss mit dem ssh-public-key des Nagios Users vom Nagios-Server befüllt sein.
1.2 Script ablegen
Das Script [ restart_apache ] zuerstmal in restart_apache.sh umbenennen und dann nach /usr/bin/ kopieren. Sicherstellen, dass der user nagios das script auch ausführen darf 🙂
1.3 SUDO konfigurieren
Da wir Nagios keinen Vollzugriff aufzwängen wollen, führt kein Weg an sudo vorbei. über visudo dann die folgende Zeile in die /etc/sudoer eintragen:
nagios ALL=NOPASSWD: /etc/init.d/apache2, /usr/bin/killall apache2
2. Nagiosserver
2.1 Script ablegen
Das Script [evt_apache2 ] zuerst wieder in .sh umbenennen und dann nach /usr/local/nagios/libexec/eventhandlers/ kopieren, den User nagios zum owner machen und die rechte setzen.
wget http://www.christian-veith.de/wp-content/uploads/2010/04/evt_apache2.txt -O /usr/local/nagios/libexec/eventhandlers/evt_apache2.sh && chown nagios:nagios evt_apache2.sh && chmod 0755 evt_apache2.sh
2.3 Konfiguration
Dann noch in die Nagioskonfiguration einbinden. Aber die Infos gibts in der Nagios Dokumentation.