{{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: ... process_performance_data=1 host_perfdata_command=process-host-perfdata service_perfdata_command=ngraph-process-service-perfdata-pipe ... 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 : # tail -f /var/log/nagiosgrapher/ngraph.log Dort sollten z.B. folgende Logdaten auflaufen, bei den 'VALUES' werden Daten für den Nagiosgrapher übergeben. 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 ... **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 .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! #--- #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 } ... 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]] #--- # # 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] 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: #--- # # 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] ===== 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: # 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 } 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.