X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=obsess.README;h=c54255fe0ad1e39566b9f15307b77b114383a077;hb=50a45b3c9cb2a105931bf62c08775cab3c220d06;hp=72c0edf852145ae78c90e47e9e5810d9d642f75e;hpb=15bff4c4c0a936da52c8aa309715a07a46162ee2;p=nagixsc.git diff --git a/obsess.README b/obsess.README index 72c0edf..c54255f 100644 --- a/obsess.README +++ b/obsess.README @@ -7,7 +7,6 @@ obsess_over_hosts=1 ochp_command=ochp2out - commands: ========= @@ -22,32 +21,31 @@ define command { } -Vorteile: -========= +Advantages/benefits: +==================== + +- Do NOT start a shell to analyse the return-code and then format a string + using "printf" as documented in the original documentation. +- Block the Nagios process for a minimum amount of time. The original script + calls "send_nsca" directly, thus blocking Nagios until the NSCA network + packet has been sent (which might include a timeout in case the server is + unreachable). Here, we only write a single spool-file from the shell started + by Nagios. +- Send multiple check results at once. Nagios writes multiple check results + basically at the same time. While NSCA uses one network connection for every + single one of those (which requires a TCP handshake, etc. for each of them), + Nag(ix)SC creates a single XML file from all entries in the spool file. +- A separate, stand-alone process ("obsess_daemon.py") takes care of sending + the XML file. + -- Anders als in der originalen Dokumentation wird NICHT noch eine Shell - gestartet, die die Return-Codes analysiert und dann mit Hilfe von "printf" - den String formatiert. -- Das Original-Skript ruft "send_nsca" direkt auf. Dies wiederum blockiert den - Nagios so lange, bis das NSCA-Netzwerkpaket verschickt werden konnte (Man - bedenke das Timeout, wenn der Server nicht erreicht werden kann). - Das Wegschreiben der Spool-Datei hier macht die von Nagios sowieso geforkte - und gestartete Shell. Die Blockierung des Nagios-Prozess (sollte) ist somit - minimal. -- Nagios schreibt mehrere Check-Ergebniss praktisch auf einmal weg (vgl. - Zeitstempel). NSCA schickt alle Pakete einzeln (für jedes einen - TCP-Handshake...), Nag(ix)SC packt die Ergebnisse aus einem Spool-File in - ein XML und schickt mehrere bis viele Check-Ergebnisse auf einmal los. -- Das Senden der XML-Files passiert unabhängig von Nagios durch einen eigenen - Prozess ("obsess_daemon.py") - - -Hinweis: +Caveats: ======== -- "obsess_daemon.py" ist noch kein richtiger Daemon, einfach an der - Kommandozeile start und gut laufen lassen (Debug-Ausgaben!) -- Zum "auf die Finger guggen": +- "obsess_daeon.py" is not a real daemon yet. Start it in a terminal (and + watch the debugging output). +- Watch what's going on: % cd /tmp/nagixsc.spool - % watch -n2 "cat */*[0-9] |wc -l; (for F in xmlout/*; do ~/src/nagixsc/nagixsc_read_xml.py -f \$F; done)|grep -c RetCode" + % watch -n2 "cat */*[0-9] | wc -l; (for F in xmlout/*; do + ~/src/nagixsc/nagixsc_read_xml.py -f \$F; done) | grep -c RetCode"