Benutzer-Werkzeuge

Webseiten-Werkzeuge


 [[anwenderwiki:nagios:nagiosgrapher]] 
no way to compare when less than two revisions

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.


anwenderwiki:nagios:nagiosgrapher [2013/06/09 00:17] (aktuell) – angelegt - Externe Bearbeitung 127.0.0.1
Zeile 1: Zeile 1:
 +{{tag> nagios}}
  
 +====== Nagiosgrapher: Zeigt Nagios-Checks in Zeitdiagrammen an ======
 +
 +{{:anwenderwiki:nagios:nagiosgrapher-temp-procs.jpg?800|}}
 +
 +Informationen dazu siehe: [[http://www.nagios-wiki.de/nagios/howtos/nagiosgrapher]]\\
 +**Achtung:** das Unbuntu-Paket verwendet teilweise andere Dateipfade und Namen!
 +
 +
 +Nagiosgrapher unter Ubuntu-server installieren:
 +  # aptitude install nagiosgrapher
 +Konfigurationsdatei **''/etc/nagios3/nagios.cfg''** von Nagios bearbeiten:
 +<code>
 +...
 +process_performance_data=1
 +
 +host_perfdata_command=process-host-perfdata
 +service_perfdata_command=ngraph-process-service-perfdata-pipe
 +
 +...
 +</code>
 +Danach Restart: (dies muss __immer__ bei Konfigurationsänderungen gemacht werden)
 +  # service nagios restart && service nagiosgrapher restart
 +Jetzt werden für alle Services, die eine ncfg-Datei unter **''/etc/nagiosgrapher/ngraph.d/*''** haben, Daten unter **''/var/lib/nagiosgrapher/''** abgelegt und unter **''/etc/nagiosgrapher/nagios3/serviceext''** passende Zusatzinfos.
 +Nach einer gewissen Zeitdauer (typ. 30 - 60 Minuten) die Nagios-Services wieder neu starten um die automatisch erzeugten Zusatzinfos unter **''/etc/nagiosgrapher/nagios3/serviceext''** in Nagios zu aktivieren. Diese Wartezeit lässt sich leider nicht umgehen.
 +
 +  # service nagios restart && service nagiosgrapher restart
 +
 +In Nagios erhält man dann bei den konfigurierten Services ein kleines Mini-Diagramm zum Anklicken, um das Gesamtdiagramm zu erhalten. 
 +  * Die y-Achsenskalierung wird dabei automatsch angepasst
 +  * Diagramme werden erst ab mind. 2 Datenpunkten erzeugt
 +  * Auch bei ganzzahligen Daten erscheinen im Diagramm durch zeitliche Mittelwertbildung Dezimalwerte
 +  * Nagiosgrapher übernimmt für jeden Service ca. alle 15 Minuten einen Wert ins Diagramm
 +
 +{{:anwenderwiki:nagios:nagios-minidiagrann.jpg?300|}}
 +
 +===== Fehlersuche: =====
 +
 +**Problem:** Erscheint kein Mini-Diagramm, dann fehlt die ncfg-Datei **oder** der "service_name" ist falsch **oder** auf die Service-Beschreibung passen mehrere "service_name".\\
 +
 +**Problem:** Erscheint dabei nur ein leeres Diagramm ohne Daten (mind. 30 Minuten warten), dann muss die ncfg-Datei angepasst werden, insbesondere die Regular-Expression-Suchoption für die Daten: "graph_log_regex" oder "graph_perf_regex"
 +
 +Fehlersuche in der Datei: **''/var/log/nagiosgrapher/ngraph.log''**. Diese Datei kann man mit folgendem Befehl live überwachen, abbrechen mit <ctrl-C>:
 +  # tail -f /var/log/nagiosgrapher/ngraph.log
 +Dort sollten z.B. folgende Logdaten auflaufen, bei den 'VALUES' werden Daten für den Nagiosgrapher übergeben. 
 +<code>
 +2013-05-31 12:31:45 PRG: Starting up nagiosgrapher (PID: 21666) ...
 +2013-05-31 12:31:45 PRG: using FIFO
 +2013-05-31 12:31:45 PIPE: created
 +2013-05-31 12:31:48 PIPE: server        SYS - disk:/home        DISK OK /home=85294MB;118115;132879;0;147644
 +2013-05-31 12:32:38 PIPE: server        SYS - host up/ping      PING OK - Packet loss = 0%, RTA = 2.43 ms       rta=2.427000ms;100.000000;500.000000;0.000000 pl=0%;20;60;0
 +2013-05-31 12:32:38 VALUES: [server][SYS - host up/ping]: RTA=2.43 Loss=0
 +2013-05-31 12:32:38 RRD: rrdtool update /var/lib/nagiosgrapher/rrd/server/375c15565af4e635b1de6f3a7a2b4265.rrd --template=RTA:Loss N:2.43:0
 +2013-05-31 12:33:08 PIPE: server        SYS - ldap server [port 389]    LDAP OK - 0,007 seconds response time   time=0,007271s;;;0,000000
 +2013-05-31 12:33:08 VALUES: [server][SYS - ldap server [port 389]]: sec=0.007
 +2013-05-31 12:33:08 RRD: rrdtool update /var/lib/nagiosgrapher/rrd/server/2ec1c405bf99f3bc9857b0ab215331be.rrd --template=sec N:0.007
 +...
 +</code> 
 +
 +**Problem:** Nach Korrektur der ncfg-Datei erscheint trotz Daten nur ein leeres Diagramm. Ggf. müssen alle alten, unbrauchbare Daten und Dateien gelöscht oder editiert werden, diese findet man unter:
 +  - /etc/nagiosgrapher/serviceext/...
 +  - /var/lib/nagiosgrapher/index.ngraph
 +  - /var/lib/nagiosgrapher/rrd/...
 +
 +===== Erstellen von ncfg-Dateien =====
 +
 +  * Unter **''/etc/nagiosgrapher/ngraph.d/''** liegen nach Installation ein paar vordefinierte <check_service>.ncfg - Dateien. Weitere findet man unter **''/usr/share/nagiosgrapher/debian/cfg/ngraph.d/standard/''**, die man nach **''/etc''** kopieren kann.
 +Diese funktionieren aber nicht immer sofort. Unter linuxmuster.net ist die Beschreibung des check_procs-Service vom Servers: "SYS - total process number". In der Datei **''/etc/nagiosgrapher/standard/check_procs.ncfg''** muss der "service_name" das Wort "process" sein, so dass Nagiosgraher für alle Services, die das Wort "process" in der Beschreibung haben, Daten anlegt.\\
 +Ebenso muss ggf das Suchmuster "graph_log_regex" angepasst werden, da eine Textausgabe des Service das deutsche Wort "Prozesse" enthält, falls Nagios auf deutsch eingestellt ist: "PROCS OK: 164 Prozesse"
 +-> [[http://www.danielfett.de/internet-und-opensource,artikel,regulaere-ausdruecke|Tutorial zu RegEx (Daniel Fett)]] - Regular Expressions.\\
 +  * Statt den Service-Informationen kann man mit der Option "graph_perf_regex" auch die Performance-Data nach den Werten absuchen lassen.\\
 +  * Man muss darauf achten, dass die verwendeten "service_name" eindeutig sind, somit kein Service auf mehrere ncfg-checks passt! 
 +
 +<code>
 +#---
 +#NagiosGrapherTemplateforcheck_procs
 +#Author:MariusHein
 +#---
 +
 +define ngraph{
 +   service_name      PROCESS
 +   graph_log_regex   ([0-9]+)\s+Prozesse
 +   graph_value       procs
 +   graph_units       procs
 +   graph_legend      Laufende Prozesse
 +   rrd_plottype      AREA
 +   rrd_color         ff0000
 +}
 +
 +...
 +
 +</code>
 +
 +Bei einem "service_name" mit Leerzeichen oder Sonderzeichen sollten Anführungsstriche gesetzt werden. Die Groß/Kleinschreibung ist __nicht__ relevant.
 +   service_name     'USV-Load'
 +
 +
 +Die folgende ncfg-Datei erzeugt zum APC-USV-Servicecheck einen Graph mit zwei horizontalen Linien. Genaueres zur Syntax der Dateien siehe: [[http://www.nagios-wiki.de/nagios/howtos/nagiosgrapher#definition_eines_graphen|www.nagios-wiki.de]]
 +
 +
 +<code text check_usvtemp.ncfg>
 +#---
 +#
 +#  Textausgabe bei Nagios:  "UPS OK - Temperature: 29 Celsius"
 +#---
 +
 +define ngraph{
 +  service_name             Temperature
 +  graph_log_regex          ([0-9]+)\s+Celsius
 +  graph_value              USV_temp
 +  graph_units              Celsius
 +  graph_legend             USV Temperatur
 +  graph_upper_limit        46
 +  graph_lower_limit        22
 +  rrd_plottype             LINE2
 +  rrd_color                0066c0
 +}
 +
 +define ngraph{
 +  service_name            Temperature
 +  type                    HRULE
 +  hrule_value             30
 +  rrd_plottype            LINE
 +  rrd_color               00ff00
 +}
 +
 +define ngraph{
 +  service_name            Temperature
 +  type                    HRULE
 +  hrule_value             40
 +  rrd_plottype            LINE
 +  rrd_color               ff0000
 +}
 +
 +#[EOF]
 +
 +</code>
 +Normalerweise wird die y-Achsenskalierung automatisch den Werten angepasst.\\
 +Die Optionen "graph_upper_limit" und "graph_lower_limit" setzen die Skalierung auf eine festen Wert, ggf. passt aber Nagiosgrapher das Intervall noch zur besseren Darstellung an.
 +
 +Folgende Datei erzeugt zur CPU-Load das passende Diagramm:
 +
 +<code text check_cpuload>
 +#---
 +#
 +#  Text: Performance Data: load1=0.020;6.000;15.000;0; load5=0.080;5.000;12.000;0; load15=0.200;4.000;8.000;0;
 +#---
 +
 +define ngraph{
 +        service_name            CPU
 +        graph_perf_regex        load1=(\d+\.\d+)
 +        graph_value             CPU_load1
 +        graph_units             Load
 +        graph_legend            CPU Load 1
 +        rrd_plottype            LINE2
 +        rrd_color               0066c0
 +}
 +
 +define ngraph{
 +        service_name            CPU
 +        graph_perf_regex        load5=(\d+\.\d+)
 +        graph_value             CPU_load5
 +        graph_units             Load
 +        graph_legend            CPU Load 5
 +        rrd_plottype            LINE2
 +        rrd_color               66cdaa
 +}
 +
 +define ngraph{
 +        service_name            CPU
 +        graph_perf_regex        load15=(\d+\.\d+)
 +        graph_value             CPU_load15
 +        graph_units             Load
 +        graph_legend            CPU Load 15
 +        rrd_plottype            LINE2
 +        rrd_color               ff7f24
 +}
 +
 +#[EOF]
 +
 +</code>
 +
 +===== Multigraphen: In einem Graph mehrere versch. Services anzeigen =====
 +
 +{{:anwenderwiki:nagios:nagiosgrapher-multigraph-2.jpg?800}}
 +
 +In der Datei **''/etc/nagiosgrapher/ngraph.ncfg''** zwei Optionen freischalten, es erscheinen dann die gelben Auswahlmenues (siehe Bild).
 +  ...
 +  fe_use_browser_all    true
 +  fe_use_browser_url    true
 +  ...
 + 
 +Dann die Datei **''/etc/nagiosgrapher/ngraph.d/nmgraph.ncfg''** editieren/erstellen:
 +
 +<code text nmgraph.ncfg>
 +# Multi Graphs #########################################
 +
 +define nmgraph{
 +        host_name               * Multigraphen
 +        service_name            all memory
 +        # RegEX
 +        hosts                   server
 +        # RegEX
 +        services                (memory|swapmem).*
 +        # line or stack or area
 +        graph_type              line2
 +        # normal or reverse or leave blank
 +        order                   reverse
 +        colors                  00ff00,ff0000,0000ff
 +}
 +
 +define nmgraph{
 +        host_name               * Multigraphen
 +        service_name            all http
 +        # RegEX
 +        hosts                   server
 +        # RegEX
 +        services                WEB.*
 +        # line or stack or area
 +        graph_type              line2
 +        # normal or reverse or leave blank
 +        order                   reverse
 +        colors                  ff8000, 00ff00, 0000ff
 +}
 +
 +define nmgraph{
 +        host_name               * Multigraphen
 +        service_name            all CPU load
 +        hosts                   .*?
 +        services                CPU.*
 +        graph_type              line2
 +        order                   normal
 +        colors                  98f5ff,6495ed,0000ff,caff70,32cd32,228b22,c2c2c2,858585,000000,ff7f24,ff4040,8b0000
 +}
 +
 +</code>
 +Die Option "order" bezieht sich auf die Darstellungsreihenfolge der Graphen.\\ Die RegEx ".*?" bezieht alle hosts mit ein.\\ Die Service-Beschreibungen beim Multigraphen "all CPU load" müssen den Begriff "CPU" enthalten.
 +
 +
 +Die mitgelieferte nmgraph.ncfg - Datei ist leider wenig brauchbar, da die Services von linuxmuster.net von Nagios anders benannt sind und deshalb die vordefinierten RegEx nicht passen.-> [[http://www.danielfett.de/internet-und-opensource,artikel,regulaere-ausdruecke|Tutorial zu RegEx (Daniel Fett)]] - Regular Expressions.\\
 +Nach jeder Änderung der Config-Dateien ist ein Restart notwendig:
 +  # service nagiosgrapher restart
 +Für die Multigraphen werden keine neuen Daten erzeugt sondern die vorhandenen in einem neuen Diagramm angezeigt. Die Diagramme sind somit nach dem Restart sofort verfügbar, falls alle RegEx korrekt gesetzt werden.
 [[anwenderwiki:nagios:nagiosgrapher]] anwenderwiki/nagios/nagiosgrapher.txt · Zuletzt geändert: 2013/06/09 00:17 von 127.0.0.1