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.


[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

[OTRS] Bilder in OTRS-Signaturen einfügen

Manchmal ist es gewünscht, dass in die Signatur(en) von OTRS-Mails Bilder eingefügt werden. Dazu gibt es zwei Möglichkeiten:

  • Einbinden von Grafiken, die über einen Webserver erreichbar sind.

Die Grafiken, die über einen erreichbaren Webserver eingebunden werden sollen, werden über die Quelltextansicht des Signatureditors als Image-Tag (<img src= .../>) eingefügt.

  • Einbinden von Grafiken, die direkt in der Signatur vorgehalten werden.

Grafiken, die direkt in der Signatur vorgehalten werden, müssen als Base64 konvertierte Grafiken vorliegen. Dazu gibt es verschiedene (Online-) Tools, z.B. https://www.browserling.com/tools/image-to-base64

An Hand folgender Grafik (thumbs_up.jpg) soll die Vorgehensweise demonstriert werden. Die Grafik wurde nach Base64 kodiert, der Code ist in der hier vorliegenden Textdatei (base64_thumbs_up.txt) enhalten. Die Grafik muss in den Quelltext via Image-Tag eingefügt werden (<img src="data:image/DATEITYP;base64, ... />).

Dazu den Signatur-Editor in OTRS öffnen und in die Quellcode-Ansicht wechseln:

Weiterlesen …

[SNAG-View] Verwenden von benutzerdefinierten Variablen in SNAG-View

In SNAG-View können für Hosts und Services benutzerdefinierte Variablen (Benutzerdefinierte Variable 1 - Benutzerdefinierte Variable 10) oder "Eigene Custom Variablen) verwendet werden. Beispiele für den Einsatz solcher Variablen sind:

  • Übergabe von Parametern an Checks (Datenbanknamen für Datenbank-Checks, Timeouts, ...)
  • Übergabe von Parametern für Links

Weiterlesen …

[SNAG-View] Nagios-Community Plugins installieren

Neben den Standard-Nagios-Plugins, die bei jeder SNAG-View oder Nagios-Installation mitinstalliert werden, bietet die Nagios-Community viele weitere Plugins für viele Anwendungszwecke an:
https://exchange.nagios.org/directory/Plugins 

Hier können verschiedenste spezielle Plugins für z.B. Fortigate-Firewall-Checks oder auch Mail-Queuestatus-Checks gefunden werden.
Grundsätzlich sind diese Plugins Nagios-konform und damit SNAG-View-kompatibel.

Weiterlesen …

[SNAG-View] SNAG-View Board: Grafana

Grafana ist eine Opensource Plattform zur grafischen Aufbereitung von Daten. Die Daten können aus diversen Quellen angezeigt und mit anderen geteilt werden.

Datasourcen:

  • Klassische Datenbanken (MySQL, MSSQL, ProgreSQL usw.)
  • Logtools (Loki)
  • Time Serielle Datenbanken (InfluxDB,  Graphite)
  • usw.

Weitere Datasourcen finden Sie unter grafana.com (https://grafana.com/grafana/plugins?orderBy=weight&direction=asc)

Um SNAG-View Performancedaten in Grafana zu nutzen, brauchen wir noch Graphite. Graphite nutzen wir als middleware zwischen SNAG-View und Grafana.

Die Performancedaten (/var/lib/nagios/perfdata) zu Graphite übertragen werden. Das lässt sich als nfs share oder mit sshfs realisieren. 

Grafana kann danach mit über die Graphite (Port 8080) auf die SNAG-View Metriken zugreifen.

 

Weiterlesen …

[((OTRS)) Community Edition] Tickets archivieren

Bei großen Mengen von Tickets (Größenordnung 100.000) in der Datenbank kann das Laden von bestimmten Ansichten (z.B. Queue-, Statusansichten) beschleunigt werden, wenn Tickets im Archiv liegen. Archivierte Tickets werden bei diesen Abfragen und auch bei der Suche nicht berücksichtigt. Um Revisionssicherheit zu gewähren sollen Tickets nicht gelöscht werden - daher ist das Archiv eine gute Option.

Weiterlesen …

[((OTRS)) Community Edition] Validierung von Dynamischen Feldern

Die Verwendung von Dynamischen Feldern in ((OTRS)) Community Edition ist vor allem bei Verwendung von Prozessen sehr hilfreich. In einigen Fällen kann dem Benuter kein Auswahlfeld (Drop-Down) angeboten werden, sondern man muss auf ein Textfeld zurückgreifen. Beispielsweise wenn in einem Feld "geschätzte Kosten" eingetragen werden. Damit dieses Feld besser auswertbar ist, kann beim Anlegen eines Dynamischen Feldes ein Regulärer Ausdruck hinterlegt werden, auf den die Benutzereingabe treffen muss. In dem hier vorgestellten Beispiel eine Zahl mit exakt zwei Nachkommastellen:

Weiterlesen …