NagiosGrapher Konfiguration

Aus Thomas-Krenn-Wiki
Wechseln zu: Navigation, Suche
Hinweis: Bitte beachten Sie, dass dieser Artikel / diese Kategorie sich entweder auf ältere Software/Hardware Komponenten bezieht oder aus sonstigen Gründen nicht mehr gewartet wird.
Diese Seite wird nicht mehr aktualisiert und ist rein zu Referenzzwecken noch hier im Archiv abrufbar.

NagiosGrapher ist ein Add-On für Nagios zur graphischen Darstellung von Performancecharts. Dieser Artikel beschreibt die Konfiguration von NagiosGrapher.

NagiosGrapher Parameter

Damit NagiosGrapher Grafiken für ein Service zeichnet muss eine NagiosGrapher Konfiguration auf den gewünschten Service zutreffen. Das folgende Tabelle zeigt die möglichen Konfigurationsparameter:

Parameter Bedeutung
service_name Suchmuster für den Service-Namen in Nagios:
  • muss auf den service_description Parameter in der Service-Definition in Nagios zutreffen
  • das Suchmuster 'USERS' trifft z.B. auf die service_description Current Users zu
graph_log_regex Regulärer Ausdruck (Perl Regular Expression), der den zu speichernden Wert aus dem normalen Plugin-Output (Status Information) herausfiltert[1]
graph_perf_regex Regulärer Ausdruck (Perl Regular Expression), der den zu speichernden Wert aus dem Performance-Data Plugin-Output (Performance Data) herausfiltert[2]
graph_value Name der Variablen in der RRD-Datenbank (keine Sonderzeichen/Leerzeichen, aber Underscore _ erlaubt). graph_value darf maximal 19 Zeichen lang sein.
graph_units Beschriftung der y-Achse
graph_legend Text in der Legende des Diagramms
rrd_plottype Darstellungsart des Graphen. Mögliche Werte:
  • AREA Flächendarstellung
  • LINE oder LINE1 dünne Linie
  • LINE2 mittelbreite Linie
  • LINE3 breite Linie
  • STACK
rrd_color Farbe der Linie bzw. der Fläche im Diagramm
page Wenn ein Plugin mehrere Werte liefert können diese Werte über einzelne Seiten abgefragt werden. Beispiel: check_ping liefert in den Performance-Daten z.B. rta (Response time average) und pl (Packet Loss). Siehe dazu auch check_ping.ncfg als Beispiel (bei Debian unter /etc/nagiosgrapher/ngraph.d/standard/check_ping.ncfg). Es können damit also mehrere ngraph Definitionen gemacht werden.

Hinweis: sobald eine ngraph Definition keine gültigen Werte enthält, wird für den Service kein Graph gezeichnet und es werden keine Daten erfasst.[3] In /var/log/nagiosgrapher/ngraph.log sieht dies z.B. so aus (für die Lüfter Fan3 und Fan4 gibt es hier ein ngraph Definition, der Server hat diese Lüfter aber nicht):

2009-10-12 11:42:06 PIPE: examplehost   Fans    Fan Status: Warning     Fan1=6480 Fan2=7020 Fan5=5535 Fan6=5265 Fan7=7020n
2009-10-12 11:42:06 VALUES: [examplehost][Fans]:No matching perfdata values found...
type Optional können über den type Parameter noch weitere Dinge gezeichnet/dargestellt werden:
  • CDEF berechnete Werte, wird über folgende Zusatz-Parameter definiert:
    • graph_calc: z.B. variable,8,* (Multiplikation mal acht, entspricht der Umrechung von Byte auf Bit)
  • VDEF besondere Werte (Min, Max, Avg, Last, ...), wird über folgende Zusatz-Parameter definiert:
    • graph_calc: z.B. variable,AVERAGE
  • GPRINT Kommentar bei der Legende, dieser wird dann über folgende Zusatz-Parameter definiert:
    • print_source: verweist auf den zugehörigen graph_value für den dieser Kommentar gilt)
    • print_description: Beschreibungstext für den Wert
    • print_function: definiert welcher Wert angezeigt werden soll:
      • LAST
      • MIN
      • MAX
      • AVERAGE
    • print_format: definiert das Anzeigeformat des Wertes, z.B. %2.2lf
    • print_eol: z.B. left
  • TICK vertikale Linie, wird über folgende Zusatz-Parameter definiert:
    • graph_calc
    • tick_fraction: z.B. 0.1
  • HRULE horizontale Linien, wird über folgende Zusatz-Parameter definiert:
    • hrule_value
  • VRULE vertikale Linien, wird über folgende Zusatz-Parameter definiert:
    • vrule_value
  • COMMENT Kommentare für das gesamte Diagramm, wird über folgende Zusatz-Parameter definiert:
    • print_description: Beschreibungstext
    • print_eol: z.B. justify

Beispiel mit graph_log_regex

Der folgende Inhalt zeigt /etc/nagiosgrapher/ngraph.d/standard/check_users.ncfg - ein einfaches Beispiel für die Verwendung von graph_log_regex:

#---
#NagiosGrapherTemplateforcheck_users
#Author:MariusHein
#---

define ngraph{
        service_name            USERS
        graph_log_regex         ([0-9]+)\s*users
        graph_value             user
        graph_units             users
        graph_legend            Logged in users
        rrd_plottype            AREA
        rrd_color               0066c0
}

#[EOF]

Beispiel mit graph_perf_regex

Das folgende Beispiel zeigt die Konfiguration von check_fan_sr2500-6fans.ncfg. Damit werden die Lüfterdrehzahlen eines Intel SR2500 dargestellt. Das IPMI Plugin liefert dazu folgende Performance an Nagios:

Performance Data:	'Fan 1'=5805 'Fan 2'=6321 'Fan 3'=5805 'Fan 4'=6278 'Fan 5'=9052 'Fan 6'=8122

Zuerst wird ein ngraph für die Erfassung der Drehzahl des ersten Lüfters definiert:

define ngraph{
        service_name            SR2500-6fans
        graph_perf_regex        1=(\d+)
        graph_value             Fan1
        graph_units             RPM
        graph_legend            Fan 1 speed:
        rrd_plottype            LINE2
        rrd_color               00008B
        page                    Fan 1
        }

Nun wird noch die Beschriftung verfeinert. Diese Definition zeigt den letzten (aktuellen) Wert in der Legende:

define ngraph{
        service_name            SR2500-6fans
        type                    GPRINT
        print_source            Fan1
        print_description       Latest:
        print_function          LAST
        print_format            %2.2lf
        }

Diese Definition zeigt den Minimal-Wert in der Legende:

define ngraph{
        service_name            SR2500-6fans
        type                    GPRINT
        print_source            Fan1
        print_description       Minimum:
        print_function          MIN
        print_format            %2.2lf
        }

Diese Definition zeigt den Maximal-Wert in der Legende:

define ngraph{
        service_name            SR2500-6fans
        type                    GPRINT
        print_source            Fan1
        print_description       Maximum:
        print_function          MAX
        print_format            %2.2lf
        }

Diese Definition zeigt den Durchschnitts-Wert in der Legende:

define ngraph{
        service_name            SR2500-6fans
        type                    GPRINT
        print_source            Fan1
        print_description       Average:
        print_function          AVERAGE
        print_format            %2.2lf
        print_eol               left
        }

Weiters folgen die entsprechenden Definitionen für die weiteren Lüfter:

define ngraph{
        service_name            SR2500-6fans
        graph_perf_regex        2=(\d+)
        graph_value             Fan2
        graph_units             RPM
        graph_legend            Fan 2 speed:
        rrd_plottype            LINE2
        rrd_color               006400
        page                    Fan 2
        }
[...]

Tip: Für die Definition der unterschiedlichen Farben ist z.B. http://de.selfhtml.org/diverses/anzeige/farbnamen_netscape.htm hilfreich.

Die Darstellung sieht dann wie folgt aus:

NagiosGrapher 1.6.1 IPMI Plugin Fan Beispiel

Multigraphen

Multigraphen fassen mehrere (bestehende) einzelne Graphen in einem sogenannten Multigraph zusammen. Die Daten für Multigraphen müssen also zuerst über einzelne Graphen erfasst werden.[4]

RRDtool

Zur Darstellung verwendet NagiosGrapher RRDtool. RRD steht dabei für Round-Robin-Database. Unter Debian werden die NagiosGrapher RRD Daten in folgendem Verzeichnis abgelegt:

  • /var/lib/nagiosgrapher/rrd/

Einzelnachweise

  1. Nagios Plugin API siehe den dort rot angeführten Text TEXT OUTPUT
  2. Nagios Plugin API siehe den dort orange angeführten Text OPTIONAL PERFDATA
  3. http://www.icinga-portal.org/wbb/index.php?page=Thread&postID=83167#post83167
  4. http://www.nagios-portal.org/wbb/index.php?page=Thread&postID=87084#post87084

Weitere Informationen


Foto Werner Fischer.jpg

Autor: Werner Fischer

Werner Fischer, tätig im Bereich Communications / Knowledge Transfer bei Thomas-Krenn, hat sein Studium zu Computer- und Mediensicherheit an der FH Hagenberg abgeschlossen. Er ist regelmäßig Autor in Fachzeitschriften und Speaker bei Konferenzen wie LinuxCon, OSDC, OSMC, LinuxTag u.v.m. Seine Freizeit gestaltet er sehr abwechslungsreich. In einem Moment absolviert er seinen Abschluss im Klavierspielen, im anderen läuft er beim Linzmarathon in der Staffel mit oder interessiert sich für OpenStreetMap.


Das könnte Sie auch interessieren

Icinga Graphen mit PNP unter Debian 6.0 Squeeze
Installation von Icinga 2 unter Ubuntu Server 14.04
SMS Benachrichtigungen mit Icinga und Braintower SMS Gateway S Advanced