nagios

warning: Creating default object from empty value in /htdocs/OLD_velt.de/modules/taxonomy/taxonomy.module on line 1390.

check_icmp liefert mit Squeeze mehr PerfDatas als mit Lenny

Alternativ-Titel: Keine PNP4Nagios-Graphen mehr mit check_icmp nach Squeeze-Upgrade

Irgendwann zwischen den Releases 1.4.12 (Lenny) und 1.4.15 (Squeeze) sind bei "check_icmp" zwei zusätzliche PerfData-Werte hinzugekommen "rtmin" und "rtmax". Beim Update meiner privaten Nagios-Installation ist mir das natürlich ziemlich auf die Füße gefallen, denn die vorhandenen RRD-Files von PNP4Nagios kannten nur die zwei bisherigen "rta" und "pl" PerfDatas bzw. Datasources.

Jetzt hätte man natürlich einfach alle RRDs, die es betrifft, löschen können, dann hätte sie PNP4Nagios wieder neu angelegt. Aber damit wären dann ja auch die alten Werte verloren gegangen. Also habe ich nach einer Lösung gesucht, wie man die RRD-Dateien erweitern kann.

Da das leider nicht so einfach möglich ist, habe ich mir ein Python-Skript geschrieben, dass letztendlich die Daten aus der RRD-Datei dump't (XML), das XML an den entsprechenden Stellen erweitert, und dann aus diesem "neuen" XML wieder eine RRD-Datei baut. Und siehe da, es funktioniert :)

BITTE VORHER DIE RRD-DATEIEN SICHERN!

Aufruf: add_ds.py [-v] Ping.rrd
Dadurch wir eine neue Datei "Ping.rrd.new" erzeugt, die entsprechend erweitert ist.

Theoretisch wäre es sogar möglich, das Tool folgendermaßen aufzurufen:
cd /var/lib/pnp4nagios/perfdata; add_ds.py --rename */Ping.rrd
ICH würd's aber nur mit einer vorherigen Sicherung machen ;-)

Update 1:
Das Skript ist so (vor)eingestellt, dass es genau für diesen Fall (Lenny->Squeeze) funktioniert.

Update 2:
Noch etwas genauer: Es überprüft, dass genau zwei ("--expect=2") DS/Datasources in der RRD-Datei existieren und fügt dann zwei weitere ("--addds=2") des Typs GAUGE ("--adddstype=GAUGE") hinzu. Über die Parameter kann man dies steuern und natürlich für andere Fälle auch andere Datasources hinzufügen.

Download
Da ich noch nicht ganz schlüssig bin, wo ich das Skript letztendlich hinlegen werde, wird es einfach mal hier angehängt.

Nagios-Portal Workshop in Hannover

Die letzten beiden Tage fand in Hannover der Nagios-Portal Workshop in Hannover bei der Kassenärztliche Vereinigung Niedersachsen statt. Erst einmal ein herzliches Dankeschön an die KVN für die Bereitstellung der Räume und Getränke und natürlich auch dem Organisator für das Essen und das Rahmenprogramm!

Ich kann mich im Prinzip nur Wiederholen: Über solche Veranstaltungen kann man sich viel Input der verschiedenen Projekte holen, schnell einen Überblick über Neuigkeiten bekommen und natürlich kommen auch Gespräche mit anderen Nagios-Admins hier nicht zu kurz.

Deswegen nochmal ein Dank an die Veranstalter - und ich freu mich schon auf nächstes Jahr :)

Running MK-Multisite without installing check_mk

Before starting this you should have MK-Livestatus up and running!

Updated to 1.1.12p3!

  1. Download check-mk 1.1.12p3 from http://mathias-kettner.de/download/check_mk-1.1.12p3.tar.gz
  2. % cd /tmp
  3. % tar .../xzf check_mk-1.1.12p3.tar.gz
  4. % mkdir /usr/local/nagios/mk-multisite
    or wherever you want to put it. If you change this path you also have to change/fix the config files
  5. cd /usr/local/nagios/mk-multisite
  6. % tar xzf /tmp/check_mk-1.1.12p3/web.tar.gz
  7. % mkdir -p var/web
  8. % chown -R www-data:www-data var
    (on Suse use "wwwrun:www" as new owner)
  9. Download attached mk-multisite-etc.tar.gz
  10. % tar xzf .../mk-multisite-1.1.12-etc.tar.gz
  11. Install and enable "mod_python" in your Apache2, on Debian: apt-get install libapache2-mod-python && a2enmod python
  12. % ln -s /usr/local/nagios/mk-multisite/etc/apache.conf /etc/apache2/conf.d/mk-multisite.conf
  13. % ln -s /usr/local/nagios/mk-multisite/etc/defaults.py /usr/local/nagios/mk-multisite/htdocs/
  14. % /etc/init.d/apache2 reload
  15. Have fun :)
  16. If it doesn't work have a look to etc/defaults.py (path names) and/or etc/multisite.mk

    Feedback welcome ;-)

NagTrap on PHP 5.3 - newer OpenSUSE and Debian 6 Squeeze

Well... an other "wonderful" change between PHP 5.2 and 5.3... "parse_ini_file" behaves different on some characters. You will see a
Database-Error
Can't connect to database!
Check your configuration!
Errors: Access denied for user 'www-data@localhost' (using password: NO)

or on OpenSUSE:
Errors: Access denied for user 'wwwrun@localhost' (using password: NO)

You have to change one line in "nagtrap/etc/config.ini.php" from:

illegalCharJavabox = <,>,'

to:

illegalCharJavabox = "<,>,'"

After this small change everything works fine.

PS: Also remember "short_open_tags" settings on OpenSUSE. Must be turned "On" in ''/etc/php5/apache2/php.ini''!

PNP4Nagios in Debian

Short english version: It's finally done! PNP4Nagios is now a part of Debian. Thanks to Sebastian Harl for finishing the work I started.

Es ist endlich geschafft! PNP4Nagios (und seine ganzen Abhängigkeiten) ist ein Teil von Debian. Im Moment befindet es sich "nur" in Wheezy und Sid, wir wollen es aber auf jeden Fall noch in die Backports von Lenny und Squeeze bekommen.

Begonnen hat das ganze Abenteuer ja schon vor langer, langer Zeit, aber die vielen Feinheiten (insbesondere Lizenzen diverser "Kleinteile") haben einen Upload leider sehr lange verzögert. Sebastian "tokkee" Harl hat sich nun dem fitzeligen Rest angenommen, es in ein Debian-würdiges Format gebracht und (weil er eben DD ist) es auch gleich nach Debian hochgeschoben. Ein Danke von mir nochmals an dieser Stelle :)

Nag(ix)SC - Anbindung an MK-Livestatus

Seit Anfang September (Commit auf GitHub) kann Nag(ix)SC nicht nur die Checks selbst ausführen, sondern diese Daten aus aus einem MK-Livestatus Socket lesen. Dabei ist natürlich egal, ob über lokalen UNIX-Socket oder über TCP (es sollte sowohl IPv4 als auch IPv6 funktionieren) abgefragt wird.

Die Funktionalität findet sich einmal in nagixsc_live2xml.py (direktes Erstellen eines XMLs auf der Command Line) und auch in nagixsc_conf2http.py (Als "conf"-File in der URL einfach "_livestatus" verwenden und vorher den Socket-Pfad in der Config hinterlegen).

Ich verwende dieses Feature zur Zeit um von einem (eigentlich unabhängigen) Nagios mir die aktuellen Check-Ergebniss in einem zweiten ("Master") anzeigen zu lassen. Die Nagios-Konfiguration am Master erstelle ich dabei natürlich NICHT von Hand, sondern lasse diese von nagixsc_xml2cfg.py mit entsprechenden Host- und Service-Templates erzeugen.

Nag(ix)SC - Timeouts und Ausgabeformat

Wieder mal etwas neues bei Nag(ix)SC. Über die Parameter "plugin_timeout" und "plugin_timeout_returncode" kann man nun einstellen, wie lange ein Plugin laufen darf, bis es mit Timeout abgebrochen wird. Gleichzeitig ist es möglich, dass man den Default-Returncode von "CRITICAL" bzw. 2 auf einen anderen Wert setzt. Zur Demonstration gibt es eine neue Config-Datei "sample-configs/conf/timeout.conf", mit der man sich überzeugen kann, dass es auch wirklich funktioniert ;-)

Und noch eine kleine Änderung: "nagixsc_read_xml.py" sucht nun nicht mehr nach einer Datei "nagixsc.xml", wenn der Parameter "-f" nicht angegeben wurde, sondern liest von der Standardeingabe. Dazu wurde die Ausgabe so verändert, dass die gelesenen Ergebnisse nur noch "menschenlesbar" ausgegeben werden. Wer wieder die "pprint"-Ausgabe haben möchte, nimmt einfach dem Parameter "-P" zu Hilfe.

NSCA - still no "make install" in offical versions...

Long, long time ago I sent a patch to Ethan to add a "make install", "make install-client", "make install-daemon" to NSCA. I talked with him on "Netways Conference On Nagios" about that patch. But nothing happend.

As I compile and install the NSCA package regularly in my workshops I now put the patch and the patched nsca-2.7.2.sv.tar.gz on http://people.teamix.net/~svelt/Monitoring/nsca/

Feedback, Patches, ... welcome!

OSMC, zum Fünften

Die OSMC - Open Source Monitoring Conference wirft auch 2010 ihre Schatten voraus. Rechtzeitig, bevor sich alle in den Sommerurlaub verabschieden, ist nun auch der "Call for Papers" eröffnet. Brav wie ich bin, habe ich natürlich meine Vorschläge auch schon eingereicht ;-)

Natürlich ist auch wieder mein Einsteiger-Workshop mit dabei (wie in den letzten 4 Jahren eben auch ;-). Zusätzlich gibt's vielleicht auch noch einen Vortrag zu Nag(ix)SC. Mal sehen, wie entschieden wird... ([Update]Der Vortrag wurde angenommen und steht auf dem Programm![/Update])

Es würde mich freuen, den ein oder anderen dort wieder zu treffen - als Teilnehmer oder natürlich auch als Referent!

Man sieht sich!


Nag(ix)SC - Init-Skripte, PID-File-Fehlermeldung, Config-Files

Ein paar Neuerungen in Nag(ix)SC:

  • Neue init.d-Skripts im Verzeichnis "init.d/", getestet auf SuSE 10.2 und Debian - sollten aber auch auf anderen funktionieren
  • Sollten die HTTP-Daemons keine PID-Files schreiben können, gibt's nun eine Fehlermeldung bevor der Daemon stirbt
  • Für die Config-Files der HTTP-Daemons gibt's jetzt Defaults, welche in "sample-config/*.cfg" ab sofort auskommentiert sind. In diesem Rahmen wurde auch das Parsing der Config-Files etwas umgebaut und (hoffentlich) robuster gemacht

Die nächsten Baustellen:

  • Ideen bzgl. redundanter/kaskadierter Installationen auf Basis der "(ocsp|ochp)_commands" und/oder MK-Livestatus weiterverfolgen

Nag(ix)SC - Ein Ersatz für NRPE und NSCA

Am 01. Juni 2010 war es soweit: Mein Projekt "Nag(ix)SC" wurde im Rahmen des "Nagios-Portal Workshops" der Öffentlichkeit vorgestellt.

Nag(ix)SC versucht eine bessere Alternative zu NRPE und NSCA zu sein. Dazu gehört u.a. das als Transport-Protokoll HTTP(S) verwendet werden kann - durch jede Art von (Reverse-)Proxy!

Da zur Zeit alles ein wenig verstreut liegt, hier mal die wichtigsten URLs:

NagiosBP 0.9.4 with MERLIN support

Just a small reminder:

Bernd released version 0.9.4 of NagiosBP with MERLIN support. Feedback welcome ;-)

PNP4Nagios - 0.4 continues

Long, long time ago I can still remember...

New packages available:

I'm also working on 0.6 (more work than I thought) - stay tuned!

I'm working on...

... Debian packages of ...

As soon as I have some packages available it'll blog it here.

OSMC - Open Source Monitoring Conference

Ich werde auch dieses Jahr wieder an der OSMC ("Open Source Monitoring Conference", ehemals "Nagios Conference") als Referent dabei sein. Wie auch schon die letzten Jahre werde ich meinen Einsteiger-Workshop halten. Eventuell (muss mal sehen, wie schnell ich mit dem Programmieren vorankomme) könnte ich sogar noch einen 2. Vortrag halten, der dann über einen NSCA-Ersatz geht. Na, mal sehen ;-)


Inhalt abgleichen
Powered by Olark