check_icmp liefert mit Squeeze mehr PerfDatas als mit Lenny

  • warning: Illegal string offset 'data' in /htdocs/OLD_velt.de/includes/tablesort.inc on line 110.
  • warning: Illegal string offset 'data' in /htdocs/OLD_velt.de/includes/tablesort.inc on line 110.

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.

AnhangGröße
add_ds.py.txt4.73 KB

Trackback URL for this post:

http://velt.de/trackback/285

Was sprach dagegen den

Was sprach dagegen den RRD_STORAGE_TYPE auf MULTI umzustellen? Dazu gibt es ja schon einen Konverter. Nutzt du noch kein PNP >0.6.3?

Grüße,
Christian

Re: Was sprach dagegen den

Hi!

Klar verwende ich ein neueres PNP - meistens genau das, was in Debian und/oder Backports ist ;-)

Das Problem mit dem "RRD_STORAGE_TYPE" auf "MULTI" ist einfach die höhere Load. Und da ich nicht davon ausgehe, dass sich die Anzahl der PerfDatas bei check_icmp alle 5 Tage ändert, will ich den Aufwand lieber einmal Hoch (manuelles Umstellen bzw. erweitern der RRDs) und dann wieder niedrige ("besseres" IO) - RRDTool Caching Daemon hin oder her.

Klar wäre Deine Lösung auch eine, aber das muss halt jeder selbst entscheiden.

Danke für den Kommentar bzw. Deine Ergänzung trotzdem!

Kommentar hinzufügen

Der Inhalt dieses Feldes wird nicht öffentlich zugänglich angezeigt.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Zeilen und Absätze werden automatisch erzeugt.
  • You may link to Gallery2 items on this site using a special syntax.

Weitere Informationen über Formatierungsoptionen

To combat spam, please enter the code in the image.
Inhalt abgleichen
Powered by Olark