Best practice von uns für Sie

Tipp des Monats

Hier finden Sie einmal im Monat unsere Tipps um Ihre OTRS, i-doit, SNAG-View und NeDi Konfiguration zu verbessern. Benötigen Sie Unterstützung beim Einrichten Ihrer Systeme oder brauchen Spezialanpassungen, dann kontaktieren Sie uns einfach unter +49 441 390 10 10 40 oder schreiben Sie uns eine Mail, wir beraten Sie gerne.

Über 100 Kunden aus allen Bereichen der Wirtschaft und der öffentlichen Verwaltung vertrauen unseren Softwarelösungen und Dienstleistungen.

SECTOR NORD AG Tipp des Monats

[SNAG-View] Verwenden eigener Performancegraphen in SNAG-View - Teil 3

In den ersten beiden Teilen dieser Anleitung zum Verwenden eigener Performancegraphen in SNAG-View ging es darum, wie eigene Performancegraphen grundsätzlich eingebunden und optisch ansprechender gestaltet werden können. Im letzten Teil der Reihe wird beschrieben, wie Performancedaten in Graphen zusammengefasst werden können. Ziel ist dabei, dass übersichtliche Performancegraphen entstehen, die auf einen Blick die gewünschten Werte darstellen und dass nicht für alle Performancedaten ein separater Graph erzeugt wird.

An folgenden Checks in SNAG-View soll das gewünschte Ergebnis demonstriert werden:

  1. SNMP-SV-TRAFFIC (nur verfügbar, wenn SNMP-Agent installiert ist)
  2. ICMP (dahinter verbirgt sich der Check für die Erreichbarkeit von Hosts, ping)

Performancegraphen für SNMP-SV-TRAFFIC Check

Dieser Check liefert folgende Performancedaten:

/usr/bin/vault_wrapper execute "" /var/lib/nagios/libexec/snagview-traffic.php -host XXX.XXX.XXX.XXX -ifnr 67 -type 64 -mxsp 1000M,1000M -warn-in 75 -crit-in 90 -warn-out 75 -crit-out 90   -snmp v2c   -comm {snmp_community}
...
OK: Bandwidth usage: 1.50% / 0.07% (in/out)(up)|perc_in=1.5012960000%;75;90;0;100 perc_out=0.0705624000%;75;90;0;100 bit_in=15012960bps;750000000;900000000;0;1000000000 bit_out=705624bps;750000000;900000000;0;1000000000 byte_in=1876620Bps;93750000;112500000;0;125000000 byte_out=88203Bps;93750000;112500000;0;125000000 total_in=7239147748925B;;;; total_out=2457110806125B;;;;

Mit diesen Daten (ab | perc_in=1.5012960000%;75;90;0;100 perc_out=0.0705624000%;...) werden ingesamt acht Performancegraphen erzeugt:

Es verbessert die Übersicht wahrscheinlich, wenn die Werte für "in" und "out" jeweils in einem und nicht in zwei Performancegraphen dargestellt werden. Auch ist es unter Umständen sinnvoll, nicht alle Performancegraphen darzustellen, z.B. ist die Darstellung für "byte" unter Umständen ausreichend, die restlichen Performancegraphen werden dann nicht benötigt.

 

Beginnen wir mit dem Zusammenfassen der Werte für "in" und "out" in jeweils einem Performancegraphen. Um die Werte zusammenzufassen, ist eine Analyse der *.xml-Datei des Services für die Erzeugung der Performance-Daten (in *.rrd-Dateien notwendig). Diese Daten befinden sich in folgendem Pfad: "/var/lib/nagios/perfdata/HOST_SVID/HOST_SVID_SERVICE_SVID.xml

Auszug aus der XML-Datei für den Check SNMP-SV-TRAFFIC Check.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<NAGIOS>
  <DATASOURCE>
    <TEMPLATE>00fx</TEMPLATE>
    <RRDFILE>/var/lib/nagios/perfdata//009c/009c00fv_perc_in.rrd</RRDFILE>
    <RRD_STORAGE_TYPE>MULTIPLE</RRD_STORAGE_TYPE>
    <RRD_HEARTBEAT>8460</RRD_HEARTBEAT>
    <IS_MULTI>0</IS_MULTI>
    <DS>1</DS>
    <NAME>perc_in</NAME>
    <LABEL>perc_in</LABEL>
    <UNIT>%%</UNIT>
    <ACT>0.0114344000</ACT>
    <WARN>75</WARN>
    <WARN_MIN></WARN_MIN>
    <WARN_MAX></WARN_MAX>
    <WARN_RANGE_TYPE></WARN_RANGE_TYPE>
    <CRIT>90</CRIT>
    <CRIT_MIN></CRIT_MIN>
    <CRIT_MAX></CRIT_MAX>
    <CRIT_RANGE_TYPE></CRIT_RANGE_TYPE>
    <MIN>0</MIN>
    <MAX>100</MAX>
  </DATASOURCE>
  <DATASOURCE>
    <TEMPLATE>00fx</TEMPLATE>
    <RRDFILE>/var/lib/nagios/perfdata//009c/009c00fv_perc_out.rrd</RRDFILE>
    <RRD_STORAGE_TYPE>MULTIPLE</RRD_STORAGE_TYPE>
    <RRD_HEARTBEAT>8460</RRD_HEARTBEAT>
    <IS_MULTI>0</IS_MULTI>
    <DS>1</DS>
    <NAME>perc_out</NAME>
    <LABEL>perc_out</LABEL>
    <UNIT>%%</UNIT>
...
  • $ds_name[1] = "Prozent"; >> definiert den angezeigten Namen des Performancegraphen
  • $def[1] .= "DEF:var1=$RRDFILE[1]:$DS[1]:AVERAGE ";" >> RRDFile 009c00fv_perc_in.rrd wird angesprochen
  • $def[1] .= "DEF:var2=$RRDFILE[2]:$DS[1]:AVERAGE "; >> RRDFile 009c00fv_perc_out.rrd wird angesprochen

Hinweis: In SNAG-View werden die Performancegraphen in alphabetischer Reihenfolge dargestellt. Die Darstellung kann daher von der Reihenfolge im Template abweichen.

Durch das Ansprechen der zusammengehörigen RRD-Dateien in einem Block werden die Daten beider RRD-Dateien in einem Performancegraphen dargestellt. Sollen nicht alle Performancegraphen dargestellt werden, so werden die nicht benötigen Blöcke aus dem Template entfernt. Hier der komplette Block für den Performancegraphen "Byte":

$opt[3] = '--vertical-label "' . $vlabel . '" --title "' . $hostname . ' / ' . $servicedesc . '"' . $lower;
$ds_name[3] = "Byte";
$def[3] .= "DEF:var1=$RRDFILE[5]:$DS[1]:AVERAGE ";
$def[3] .= "AREA:var1#368BB8:\" \" ";
$def[3] .= "GPRINT:var1:MIN:\"IN_MIN\: %0.02lf $UNIT[5] \" ";
$def[3] .= "GPRINT:var1:MAX:\"IN_MAX\: %0.02lf $UNIT[5] \" ";
$def[3] .= "GPRINT:var1:LAST:\"IN_LAST\: %0.02lf $UNIT[5] \\n\" ";
$def[3] .= "GPRINT:var1:AVERAGE:\"IN_Average\: %0.02lf $UNIT[5] \\n\" ";
 
$def[3] .= "DEF:var2=$RRDFILE[6]:$DS[1]:AVERAGE ";
$def[3] .= "AREA:var2#56f442:\" \" ";
$def[3] .= "GPRINT:var2:MIN:\"OUT_MIN\: %0.02lf $UNIT[5] \" ";
$def[3] .= "GPRINT:var2:MAX:\"OUT_MAX\: %0.02lf $UNIT[5] \" ";
$def[3] .= "GPRINT:var2:LAST:\"OUT_LAST\: %0.02lf $UNIT[5] \\n\" ";
$def[3] .= "GPRINT:var2:AVERAGE:\"OUT_Average\: %0.02lf $UNIT[5] \\n\" ";
$def[3] .= sprintf("HRULE:$WARN[3]#FFFF00:\"Warning  \: %0.02lf $UNIT[5]\\n\" ", $WARN[5]);
$def[3] .= sprintf("HRULE:$CRIT[3]#FF0000:\"Critical \: %0.02lf $UNIT[5] \\n\" ", $CRIT[5]);

Der Performancegraph sieht nun so aus:

Das komplette Template kann hier heruntergeladen werden.

Zurück