Inhaltsverzeichnis
Nagios
Installation:
Server
Doku Ubuntu 8.04.1
Hilfreiche Befehle zum Einrichten … ne Gedankenstütze eben
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
/etc/init.d/nagios restart
Windows-Client
Linux-Client
auf dem Client installieren!
Ubuntu:
apt-get install nagios-nrpe-server apt-get install nagios-plugins
Konfigurieren:
vim /etc/nagios/nrpe.cfg
Ändern:
allowed_hosts=[IP vom Nagios-Server] command[check_hda1]=/usr/lib/nagios/plugins/check_disk -w 20 -c 10 -p /dev/hda1
hda1 durch richtige Platte (sda1?) ersetzen → siehe /etc/fstab, ggf. noch weitere Platten hinzufügen (check_sda2 usw.)
NRPE-Server nach jeder Änderung in der nrpe.cfg restarten nicht vergessen
/etc/init.d/nagios-nrpe-server restart
Test auf dem Server:
Klappt die Verbindung?
/usr/local/nagios/libexec/check_nrpe -H [Host des Clients]
sollte die NRPE-Version liefern:
NRPE v2.8.1
Klappt der Zugriff auf die checks?
/usr/local/nagios/libexec/check_nrpe -H [Host des Clients] -c check_users
sollte die Anzahl der auf dem Client angemeldeten User liefern:
USERS OK - 2 users currently logged in |users=2;5;10;0
Commands bauen (/usr/local/nagios/objects/commands.cfg)
############################################################################### # NRPE-Checks ############################################################################### # MyServer # users define command{ command_name check_MyServer_users command_line $USER1$/check_nrpe -H MyServer -c check_users } # load define command{ command_name check_MyServer_load command_line $USERS1$/check_nrpe -H MyServer -c check_load }
MyServer.cfg bauen (/usr/local/nagios/objects/myserver.cfg)
############################################################################### ############################################################################### # # SERVICE DEFINITIONS # ############################################################################### ############################################################################### # Define a service to "ping" the local machine define service{ use local-service ; Name of service template to use host_name MyServer service_description PING check_command check_ping!100.0,20%!500.0,60% } # Define a service to check the disk space of the root partition # on the local machine. Warning if < 20% free, critical if # < 10% free space on partition. define service{ use local-service ; Name of service template to use host_name MyServer service_description SDA1 Partition check_command check_MyServer_sda1 } # Define a service to check the number of currently logged in # users on the local machine. Warning if > 20 users, critical # if > 50 users. define service{ use local-service ; Name of service template to use host_name MyServer service_description Current Users check_command check_MyServer_users }
MyServer in /usr/local/nagios/etc/nagios.cfg verewigen:
# Definition for MyServer cfg_file=/usr/local/nagios/etc/objects/MyServer.cfg
Config-Files ok?
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
Wenn ja, restarten und schauen, obs geklappt hat, wenn nicht: Config-Files richtig machen
/etc/init.d/nagios restart
WMS überwachen:
Verzeichnisse anlegen:
/usr/local/nagios/etc/scripts /usr/local/nagios/etc/scripts/test chmod 777 test
File bauen: /usr/local/nagios/etc/scripts/check_wms.sh
#!/bin/bash # # WMS-Test script # KBL 23.08.2008 # # verzeichnis einrichten if ! test -d /usr/local/nagios/etc/scripts/prob${1}; then mkdir /usr/local/nagios/etc/scripts/prob_${1} fi # ab ins bastelverzeichnis cd /usr/local/nagios/etc/scripts/prob_${1} # saubermachen rm /usr/local/nagios/etc/scripts/prob_${1}/* # WMS ziehen aus uebergebenem Parameter wget -O testbild.png ${2} # umbenennen mv * /usr/local/nagios/etc/scripts/prob_${1}/wmsbild.png # ermitteln der Art des Files WMSART=$(file wmsbild.png) # auseinanderpuzzeln WMSART=${WMSART:13:3} # Festlegen der Soll-Fileart SOLL="PNG" # Test auf richtige Fileart if [ $WMSART == $SOLL ]; then # Alles ok AUSGABE="OK" else # hat nicht geklappt # Ermitteln der Fehlermeldung ueblicherweise msloadmap() INHALT=$(grep -ri "()" /usr/local/nagios/etc/scripts/prob_${1}/wmsbild.png) # Ausgabestring bauen und ausgeben AUSGABE="FEHLER "$INHALT echo $AUSGABE # exitcode auf 2 setzen Ausfuehrung ging schief exit 2 fi # wenn alles geklappt hat, Ausgabe echo $AUSGABE
Aufruf des Files mit einem GetMap-Request in command.cfg einbauen und in der host-declaration entsprechende checks zusammenbauen.
Ach so, Aufbau ist historisch gewachsen, klappt so aber, lässt sich sicher noch optimieren …
2010 … oder eben so