Translations of this page:

Performance-Daten

Einführung

Nagios ist so konzipiert, dass Plugins neben den normalen Rückgabewerten auch sog. Performancedaten annimt, sowie deren weitere Verarbeitung durch externe Programme erlaubt.
Nachfolgend eine Eklärung , welche verschiedneen Typen von Performancedaten es überhaupt gibt, und wie man diese Daten verarbeitet.

Unterscheidung

Es gibt zwei grundlegende Arten von Performancedaten, die von Nagios empfangen werden können:

  1. Check Performance-Daten
  2. Plugin Performance-Daten

Check-Performance-Daten sind interne Daten die sich auf die Ausführung von Host- oder Servicechecks beziehen, so z.b. Service Check Latency (wieviel später wurde ein Service Check nach seiner von Nagios geplanten Ausführungszeit ausgeführt), oder die Anzahl der Sekunden, die ein Service-Check zur Ausführung benötigte.
Diese Art von Performance-Daten ist für alle Checks verfügbar, die Nagios ausführt. Hierzu dienen die Makros

  • $HOSTEXECUTIONTIME$ und $SERVICEEXECUTIONTIME$ (=Zeit, die ein Check benötigt)
  • $HOSTLATENCY$ und $SERVICELATENCY$ (=Dauer der „Verspätung“ der Ausführung)

Plugin-Performance-Daten sind externe Daten, die von den Plugins zurückgegeben werden, die die eigentlichen Host- und Service-Checks vollziehen. Diese Daten können z.b. beinhalten, wieviel % der erwarteten Antwortpakete verloren gingen (Packet Loss), freier Festplatten-Platz, Prozessor-Auslastung, Anzahl der aktuell angemeldeten User, usw. - also sämtliche Daten, die ein Plugin bei seiner Ausführung messen / prüfen kann.
Plugin-Performance-Daten sind optional und werden nicht von allen Plugins unterstützt. Zum Zeitpunkt der Erstellung dieser Dokumentation unterstützte kein Plugin.

FIXME Soll ich mich stur an die Doku halten? Die 1.4.-Plugins geben ja PD zurück…
Ruhig auf die 1.4er Plugins hinweisen — pitchfork 01.03.2006 09:55

Wenn Plugin-Performance-Daten vom Plugin ausgegeben werden, können diese mit den Makros $HOSTPERFDATA$ und $SERVICEOUTPUT$ abgegriffen werden. Im Folgenden werden die Möglichkeiten aufgezeigt, mit denen Performancedaten an Nagios übergeben werden können.

Performancedaten-Unterstützung bei Plugins

In der Regel geben Plugins bei Ihrer Ausführung eine einzelne Zeile zurück, die das Ergebnis des Checks, und evt. andere Messbare Daten beinhalten. So gibt z.b. das check_ping-Plugin folgende Zeile zurück:
PING ok - Packet loss = 0%, RTA = 0.80 ms

Dieser Output wird in den Makros $HOSTOUTPUT$ oder $SERVICEOUTPUT$ gespeichert (je nachdem, ob das Plugin für einen Host- oder Service-Check verwendet wurde).
Um nun auch Performancedaten an Nagios liefern zu können, wurde die Spezifikation der Plugins erweitert: das Plugin fügt an den „normalen“ Output (siehe oben) eine Pipe (|), gefolgt von den Performancedaten. Die „erweiterte“ Ausgabezeile des Plugins sieht damit so aus:
PING ok - Packet loss = 0%, RTA = 0.80 ms | percent_packet_loss=0, rta=0.80

In diesem Fall nun teilt Nagios die Ausgabezeile in zwei Teile: Alles bis zur Pipe (|) wird als „normaler“ Output, und alles, was nach der Pipe kommt, als Performancedaten behandelt. Die Daten werden wie folgt gespeichert:
PING ok - Packet loss = 0%, RTA = 0.80 ms | percent_packet_loss=0, rta=0.80

„Normaler“ Output Performancedaten
$HOSTOUTPUT$ $SERVICEOUTPUT$ $HOSTPERFDATA$ $SERVICEPERFDATA$

$HOSTOUTPUT$ bzw. $SERVICEOUTPUT$ enthalten also „PING ok - Packet loss = 0%, RTA = 0.80 ms“, $HOSTPERFDATA$ bzw $SERVICEPERFDATA$ „percent_packet_loss=0, rta=0.80“ (jeweils ohne Anführungszeichen).

Format

Nagios verarbeitet Performancedaten nicht auf direktem Wege - es ist ihm erst einmal ziemlich egal, wie diese aussehen. Es gibt keine Einschränkungen oder Regeln für die Formatierung oder den Inhalt. Werden bestimmte Addons zur Verarbeitung von Performancedaten verwendet (wie z.b. PerfParse), allerdings schon. Hierbei ist die Dokumentation des jeweiligen Tools die richtige Informationsquelle.
Aufschlussreich für die Erstellung von Plugins sind außerdem die Plugin Developer Guidelines, die bei Sourceforge herunterzuladen sind.

Aktivierung der PD-Verarbeitung

Um die Verarbeitung von Performancedaten zu aktivieren, muss:

  1. die process_performance_data-Option enabled sein
  2. Nagios so konfiguriert werden, dass die Performancedaten an externe Kommandos weitergereicht werden oder in Dateien geschrieben werden.

Weg 1: Performance-Daten in Dateien

Nagios kann mit der Option host_perfdata_file bzw. service_perfdata_file so konfiguriert werden, dass alle Host- und Service-Performancedaten in Dateien geschrieben werden. Wie die Daten dorthin geschrieben werden, bestimmen die Optionen host_perfdata_file_template und service_perfdata_file_template. Die Optionen host_perfdata_file_processing_command und service_perfdata_file_processing_command lassen Nagios regelmäßig Kommandos anstoßen, die die in den Dateien gesammelten Daten verarbeiten.

Weg 2: Performance-Daten an externe Kommandos

Nagios kann Performancedaten aber auch über externe Kommandos verarbeiten, wenn die Option host_perfdata_command bzw. service_perfdata_command verwendet wird. Nachfolgend ein Beispiel, wie ein solches Kommando aussehen kann:

define command{
command_name process-service-perfdata
command_line /bin/echo -e „$LASTSERVICECHECK$\t$HOSTNAME$\t$SERVICEDESC$\t$SERVICESTATE$\t$SERVICEATTEMPT$\t$SERVICESTATETYPE$\t$SERVICEEXECUTIONTIME$\t$SERVICELATENCY$\t$SERVICEOUTPUT$\t$SERVICEPERFDATA$“ » /usr/local/nagios/var/service-perfdata.dat
}\\

performancedata.txt · Zuletzt geändert: 2006/03/01 09:56 von pitchfork
CC Attribution-Noncommercial-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0