Überwachung des Nagios-Servers Stephan Schmidt 31. August 2007
Inhaltsverzeichnis Erläuterung der Arbeitsumgebung Warum wurde das Projekt durchgeführt Server NFN Server Nagios Server Konfiguration Shell-Script auf Nagios-Server zur Service Überwachung Shell-Script auf NFN zum Abrufen und Auswerten der Daten Zukunftsaussichten 31.08.07 stephan.schmidt@rrze.uni-erlangen.de
Was ist Nagios? Tool für Linux Zur Überwachung verschiedener Dienste Windows-Server PING RDP Linux-Server SSH Benachrichtigung bei Ausfall Mail SMS + Zusatztool HTTP Oberfläche 31.08.07 stephan.schmidt@rrze.uni-erlangen.de
Wer überwacht die Überwachung? Derzeitige Situation: Ausfall von Nagios wird nicht bemerkt Keine Meldungen bei Serverausfall Sinn des Projekts: Neuer Server NFN: Unabhängige Überwachungs „Hardware“ für Nagios Benachrichtigung via Mail 31.08.07 stephan.schmidt@rrze.uni-erlangen.de
Server Nagios – Hostinformation Bereits Bestehender Nagios-Server der die Nagios-Clients Prüft Hostname: nagios.rrze.uni-erlangen.de IP: 131.188.3.82 Userverwaltung: Aus bestehendem NIS des RRZE beibehalten + User nfn für die Überwachung Eingetragen in /etc/sudoers für checkproc auf nagios SSH-Agent für Automatische Datenübertragung eingerichtet Führt die cronjobs zur Überwachung aus 31.08.07 stephan.schmidt@rrze.uni-erlangen.de
Server Nagios – Konfiguration Shell-Script das Nagios Daemon auf <running> prüft Dieses Script wird zu jeder vollen Stunde via cronjob ausgeführt 0 */1 * * * nfn …/check_service_nagios Siehe Shell-Script check_service_nagios Konfig-Files /usr/lib/nagios/plugins/check_service/nagios 31.08.07 stephan.schmidt@rrze.uni-erlangen.de
Server NFN - Hostinformation Hardware: VMWare-Machine auf hp-test3.rrze.uni-erlangen.de Hostname: nfn.rrze.uni-erlangen.de IP: 131.188.2.80 System: SLES10 nach RRZE-Standart installiert Userverwaltung: Aus bestehendem NIS des RRZE + User nfn für die Überwachung Führt die cronjobs zur Überwachung aus 31.08.07 stephan.schmidt@rrze.uni-erlangen.de
Server NFN - Konfiguration Shell-Script zur Überwachung des Nagios-Server auf: Service Nagios Service HTTP (nagios plugin – check_http) Ping (nagios plugin – check_icmp) Dieses Script wird 10 Minuten nach jeder vollen Stunde via cronjob ausgeführt /etc/crontab: 10 */1 * * * * nfn …/check_the_nagios Siehe Shell-Script check_the_nagios Konfig-Files /usr/lib/nagios/plugins/check_http /usr/lib/nagios/plugins/check_icmp /usr/lib/nagios/plugins/check_the_nagios 31.08.07 stephan.schmidt@rrze.uni-erlangen.de
31.08.07 stephan.schmidt@rrze.uni-erlangen.de
Shell-Script auf Nagios #!/bin/bashfunction check_service_nagios() { sudo /sbin/checkproc /usr/sbin/nagios if [ $? -ne 0 ]; then echo "CRITICAL: Service NAGIOS is DOWN!" exit 2 Else echo "OK: Service NAGIOS is UP!„ exit 0 Fi } check_service_nagios > /tmp/ng-status/ng-status.txt 31.08.07 stephan.schmidt@rrze.uni-erlangen.de
Shell-Script auf NFN – Datenholen #!/bin/bash scp nfn@nagios:/tmp/ng-status/ng-status.txt /tmp/ng-status/ng-status.txt TRANSFER=$? /usr/lib/nagios/plugins/check_http -H nagios.rrze.uni-erlangen.de -u https://nagios.rrze.uni-erlangen.de/nagios/ -s "Copyright" > /dev/null MAILCONTACT=unrzxxx@rz-mail.uni-erlangen.de,unrzxxy... HTTP=$? /usr/lib/nagios/plugins/check_icmp -H nagios.rrze.uni-erlangen.de > /dev/null NGPING=$? 31.08.07 stephan.schmidt@rrze.uni-erlangen.de
Shell-Script auf NFN – Daten auswerten grep -l "OK:" /tmp/ng-status/ng-status.txt > /dev/null SERVICENAGIOS=$? if [ $SERVICENAGIOS -ne 0 ]; then echo "CRITICAL Service NAGIOS is DOWN!" mail -s "NAGIOS.RRZE: Service NAGIOS is DOWN„ $MAILCONTACT < /usr/lib/nagios/messages/NG-DOWN exit 1 Else echo "OK: HOST and SERVICES UP!" exit 0 fi 31.08.07 stephan.schmidt@rrze.uni-erlangen.de
Zukunftsaussichten Eigene Hardware für NFN Zusatzfunktion als SNMP-Trapdoor GSM-Modem für NFN zur zukünftigen Benachrichtigung auch via SMS Benachrichtigung nur einmal (nicht jede Stunde) 31.08.07 stephan.schmidt@rrze.uni-erlangen.de
Vielen Dank für Ihre Aufmerksamkeit 31.08.07 stephan.schmidt@rrze.uni-erlangen.de