Tutorial04 - Übergabe der Ergebnisse aus der XML-Datei an den Nagios

Sollten in der XML-Datei die Ergebnisse der Checks korrekt sein, kann man sie auch mit Hilfe von "nagixsc_xml2nagios" an den Nagios übergeben. Um zu sehen, was im Hintergrund passiert, sollte man die passiven Checks bzw. das, was später in das "Nagios External Command File" geschrieben wird, sich am Bildschirm anzeigen lassen:

 1 % ./nagixsc_xml2nagios.py -f results.xml -O passive -p /dev/stdout
 2 [1275564841] PROCESS_HOST_CHECK_RESULT;host1;0;OK - 127.0.0.1 responds to ICMP. Packet 1, rta 0.051ms|pkt=1;;0;5 rta=0.051;1000.000;1000.000;;
 3 [1275564841] PROCESS_SERVICE_CHECK_RESULT;host1;Disk_Root;0;DISK OK - free space: / 7217 MB (51% inode=73%);| /=6865MB;12674;13378;0;14083
 4 [1275564841] PROCESS_SERVICE_CHECK_RESULT;host1;Disk_Home;0;DISK OK - free space: /home 25030 MB (53% inode=96%);| /home=21428MB;42241;44588;0;46935
 5 [1275564842] PROCESS_SERVICE_CHECK_RESULT;host1;Load;0;OK - load average: 0.07, 0.06, 0.01|load1=0.070;5.000;10.000;0; load5=0.060;5.000;10.000;0; load15=0.010;5.000;10.000;0;
 6 [1275564842] PROCESS_SERVICE_CHECK_RESULT;host2.foo.bar;Procs_Total;0;PROCS OK: 174 processes
 7 [1275564842] PROCESS_SERVICE_CHECK_RESULT;host2.foo.bar;Swap;0;SWAP OK - 95% free (1794 MB out of 1906 MB) |swap=1794MB;953;476;0;1906
 8 [1275564842] PROCESS_SERVICE_CHECK_RESULT;host2.foo.bar;Users;0;USERS OK - 10 users currently logged in |users=10;10;15;0
 9 %

Zuerst zu den Aufruf-Optionen von "nagixsc_xml2nagios":

  • -f results.xml ("File") gibt an, welche Datei gelesen werden soll
  • -O passive ("Output") sagt, dass die Ergebnisse als passive Checks an den Nagios gehen
  • -p /dev/stdout ("Pipe") übergibt den Pfad zum "Nagios External Command File", hier allerdings die Standard-Ausgabe bzw. der Bildschirm

Eine vollständige Aufstellung aller Optionen findet sich auf der Seite zu "nagixsc_xml2nagios".

Schön ist erkennbar, dass für den Host-Check von "host1" und für je drei Service-Checks der beiden Hosts "host1" und "host2.foo.bar" eine Zeile bzw. "External Command" geschrieben werden.

Ist man mit dem Ergebnis zufrieden, kann man es an den Nagios weiterreichen:

1 % ./nagixsc_xml2nagios.py -f results.xml -O passive
2 %
Anmerkungen:
  1. Ohne Angabe von "-p" versucht "nagixsc_xml2nagios" selbständig das "Nagios External Command File" (die Pipe) zu finden
  2. Die Hosts und deren (passive) Services müssen natürlich im Nagios konfiguriert sein. Eventuell kann hierbei "nagixsc_xml2cfg" helfen