Zabbix Daten sammeln Items konfigurieren

So sammelt und speichert Zabbix die Daten

Daten, die der Zabbix-Server von entfernten Hosts sammelt, werden als Items bezeichnet. Im Menü Configuration|Hosts konfigurieren Sie, welche Daten von welchen Hosts abgerufen werden sollen. Sie können die Items für einen einzelnen Host oder für ein Template konfigurieren. Weisen Sie einem Template ein Item zu, so werden die entsprechenden Daten von allen Hosts gesammelt, die dieses Template verwenden.

Möchten Sie einem Host oder Template ein Item hinzufügen, so müssen Sie im Menü Configuration|Hosts über die Dropdown-Menüs oben rechts zuerst die Hostgruppe oder die Templategruppe auswählen.

In der Liste der Hosts klicken Sie dann in der dritten Spalte auf den Link Items. Sie sehen nun eine Liste mit allen für den Host eingerichteten Items. Mit dem Knopf Create Item oben rechts legen Sie ein neues Item für den ausgewählten Host oder das Template an.

Möchten Sie ein Item ändern, klicken Sie in der Übersicht der Items in der Spalte „Name“ auf die Bezeichnung des Items.

Durch Klicken auf den grünen Link Active in der Spalte „Status“ deaktivieren Sie ein Item. Die entsprechenden Daten werden dann nicht mehr gesammelt. Wenn Sie ein Item in einem Template deaktivieren, wird es für alle Hosts deaktiviert, die das entsprechende Template verwenden.

Zabbix 2.4: Über den Link Items werden Items konfiguriert und neue angelegt.
Zabbix 3.0: Anderer Look doch gleiches Vorgehen beim Anlegen neuer Items

Der generelle Aufbau von Items

Itemname und die Datenquelle

Da ein Host über mehrere IP-Adressen oder DNS-Namen überwacht werden kann, müssen Sie beim Anlegen eines neuen Items auswählen, über welche Netzwerkverbindung (Host Interface) der Zabbix-Server Kontakt mit dem überwachten Host aufnehmen soll.

Im Feld „Description“ geben Sie an, was überwacht wird, zum Beispiel „Ping Check“ oder „CPU Load Avg 5min“. Seien Sie präzise, denn der Name des Items wird in Benachrichtigungen weiter verwendet. Wenn Sie per Postscan die Erreichbarkeit von Port 80 prüfen, nennen Sie das Item beispielsweise „HTTP Daemon listening“ und nicht „Webserver running“. Wenn ein TCP-Port nicht antwortet, muss das nicht zwangsläufig daran liegen, dass ein bestimmter Daemon nicht läuft.

Über das Dropdown-Menü „Type“ wählen Sie aus, wie der Zabbix-Server die Daten des Items abrufen soll.

Auswahl des Datentyps für ein Item
Die Datenquellen des Zabbix-Servers. Bei jedem Item muss über den Typ angegeben werden, aus welcher Quelle die Daten stammen.
Zabbix-Agent Daten des Items werden über den Zabbix-Agenten auf dem Host abgefragt.
Zabbix-Agent(active) Die Daten des Items werden vom Agenten selbstständig an den Server geschickt.
Simple Check Daten des Items ruft der Zabbix-Server selbstständig ab (Portscans und ICMP Ping).
SNMPv1 agent Daten werden per SNMP-Version 1 abgerufen.
SNMPv2 agent Daten werden per SNMP-Version 2 abgerufen.
SNMPv3 agent Daten werden per SNMP-Version 3 abgerufen.
Zabbix trapper Die Daten des Items werden per zabbix_sender an den Zabbix-Server geschickt.
Zabbix internal Zugriff auf interne Daten des Zabbix-Servers
Zabbix agregate Zusammenfassen (Summe, Durchschnitt) verschiedener Item-Values aus einer Hostgruppe zu einem Item
External check Daten des Items werden über Hilfsskripte oder Zusatzprogramme auf dem Zabbix-Server gesammelt.
Database Monitor Daten werden über Datenbankabfragen gesammelt.
IPMI-Agent Daten werden per IPMI von einem IPMI-Gerät abgerufen.
SSH Agent Daten werden über eine SSH-Verbindung abgerufen.
Telnet Agent Daten werden über eine Telnet-Verbindung abgerufen.
Calculated Neue Items werden durch Berechnung vorhandener Items erzeugt.
VMware Performance-Daten von ESX-Servern abrufen

Der Item-Key

Als „Key“ eines Items tragen Sie den festgelegten Schlüssel des Items ein. Je nach Typ des Items müssen Sie einen festgelegten Key verwenden oder einen eigenen Key vergeben. Wenn Sie Daten über den Zabbix-Agenten, Zabbix-Internal oder per Simple Check sammeln, müssen Sie einen der festgelegten Keys verwenden. Bei allen anderen Typen vergeben Sie einen eigenen Key. Über den Key erfährt der Zabbix-Server, welche Daten gemessen werden sollen. Zum Beispiel veranlasst der Key net.tcp.service[http] den Zabbix-Server, auf einem Host zu prüfen, ob der TCP-Port 80 geöffnet ist.

Bei Items vom Typ Zabbix-Agent, Zabbix-Internal und Simple Check unterstützen Sie Wizards bei der Auswahl des richtigen Keys. Klicken Sie einfach auf den Knopf Select.

Die Item-Keys dürfen keine Sonder- oder Leerzeichen enthalten. Für die meisten Items ist noch die Angabe weiterer Optionen nötig, welche Sie dann nach der Auswahl über den Select-Knopf im Feld „Key“ ergänzen müssen. Möchten Sie zum Beispiel prüfen, ob der TCP-Port 99 auf einem Host auf Verbindungen hört, tragen Sie als Key net.tcp.service[tcp,,99] ein.
Je nach Item-Typ ist die Angabe von Optionen möglich oder zwingend erforderlich. Viele Items des Zabbix-Agenten benötigen die Angabe von Optionen. Diese Optionen werden in eckigen Klammern angegeben, zum Beispiel vfs.fs.size[e:,pfree]. In diesem Beispiel löst der Item-Key vfs.fs.size die Messung des Festplattenverbrauchs aus. Mit der Option „e:“ wird angegeben, um welche Festplatte es sich handelt. Die Option „pfree“ gibt an, dass der Rückgabewert den freien Platz in Prozent enthalten soll.

Datentypen und Einheiten

Zabbix arbeitet typensicher. Deshalb müssen Sie über das Dropdown-Menü „Type of information“ dem Zabbix-Server immer angeben, welchen Datentyp ein Item liefert. Wenn diese Einstellung nicht korrekt vorgenommen wird, funktioniert die Überwachung nicht. Ein falscher Datentyp ist eine häufige Fehlerquelle. Wenn Sie zum Beispiel den Speicherverbrauch einer Festplatte in Bytes messen, ist der Datentyp „Numeric (unsigned)“ (Ganzzahl).
Bei Tests, die als Resultat nur „erfolgreich“ oder „fehlgeschlagen“ zurückliefern, entspricht 0 fehlgeschlagen und 1 erfolgreich. Das Item icmpping zum Beispiel liefert 1, wenn der Host auf einen Ping geantwortet hat, und 0, wenn keine Antwort kommt.

Mögliche Datentypen für ein Item. Zabbix arbeitet strikt typisiert.
Numeric (unsigned) Das Item liefert immer eine ganze Zahl zurück.
Numeric (float) Das Item liefert „Kommazahlen“ zurück.
Character Das Item liefert maximal 255 Buchstaben zurück.
Log Das Item liefert Teile eines Logfiles zurück.
Text Das Item liefert einen Text beliebiger Länge zurück.
Wenn Sie für ein Item nicht den richtigen Datentyp wählen, werden keine Daten gespeichert.

Im Feld Unit können Sie die Daten des Items mit einer Einheit versehen. Die gängigste Einheit ist „B“ für Bytes. Sobald Sie eine Einheit für ein Item eingetragen haben, rechnet der Zabbix-Server alle Werte in eine einfach zu lesende Einheit um. Hat zum Beispiel ein Item den Wert 2048B, benutzt Zabbix zur Darstellung automatisch den Wert 2KB.

Die Umrechnung der Einheiten geschieht nur während der Darstellung im Frontend. In der Datenbank werden die rohen, nicht umgerechneten Werte gespeichert. Die Trigger werten ebenfalls die rohen Messwerten aus. Bei sehr kleinen Werten kann es passieren, dass diese im Frontend zu 0 abgerundet werden. Wundern Sie sich nicht, wenn Trigger nicht auslösen, denn der Originalwert des Items ist nicht 0.

Zulässige Einheiten sind:

Einheiten, die Zabbix kennt
B = Bytes werden automatisch umgerechnet in KB, MB, und GB, 1024B=1KB
b = Bits werden automatisch umgerechnet in kb, mb, gb, 1000b=1kb
unixtime rechnet die Anzahl der Sekunden seit dem 01.01.1970 in ein Datum des Formats „yyyy.mm.dd hh:mm:ss“ um
s = Sekunden werden in Millisekunden, Minuten und Stunden umgerechnet

Geben Sie immer nur Grundeinheiten und (sec, Byte) an und keine skalierten Einheiten wie ms oder kByte.

Über das Dropdown-Menü Use multiplier können Sie angeben, ob und mit welchem Faktor Sie den Wert eines Items multiplizieren möchten, bevor dieser weiterverarbeitet wird. Wenn Ihnen zum Beispiel ein Item den Wert MB (Mega Bytes) zurückgibt, Sie möchten aber mit mb (Mega Bits) weiterarbeiten, dann tragen Sie als „multiplier“ 8 ein. „Multiplier“ können auch Dezimalzahlen sein, die Sie nach amerikanischer Notation mit Punkt eintragen, zum Beispiel „0.25“, um eine Division durch vier zu erreichen.
Wenn Sie einen Multiplier verwenden, wird das Resultat der Multiplikation in der Datenbank gespeichert. Die Originalwerte werden nicht gespeichert.

Update interval

Mit dem Wert im Feld „Update interval (in sec)“ legen Sie fest, in welchem Intervall der Zabbix-Server die Daten abruft. Sie sollten sich bei jedem Item überlegen, ob die voreingestellten 30 Sekunden ein angemessener Wert sind. Je häufiger Sie Daten abrufen, desto mehr Last erzeugen Sie auf dem Zabbix-Server und der Datenbank. Beim Festlegen des Intervalls denken Sie an einen eventuellen Trigger und einen Alarm, den Sie auf dem Item einrichten werden. Wenn Sie dem Alarm keine Dringlichkeit einräumen, ist es in der Regel auch nicht nötig, die Daten alle 30 Sekunden abzurufen. Berücksichtigen Sie ebenfalls, wie die Daten gesammelt werden. Simple Checks oder Items, die der Zabbix-Agent ohne zusätzliche Programme liefert, erzeugen wenig Last. Items, die auf dem Host aber zusätzliche Programme oder Skripte aufrufen, können u.U. viel Last erzeugen. Sie sollten zudem sicherstellen, dass das Programm oder Skript, welches der Agent aufruft, sich auch innerhalb des Update-Intervalls beendet.

Über das Feld Flexible intervals haben Sie die Möglichkeit, das Update-Intervall je nach Tag oder Uhrzeit zu ändern. Tragen Sie dazu im Feld „Delay“ ein abweichendes Update-Intervall ein und definieren Sie im Feld „Period“ eine Zeitspanne, wann das abweichende Update-Intervall gelten soll. Die Begriffe „Delay“ und „Interval“ sind in diesem Formular Synonyme.

Tage und Uhrzeiten werden mit einem Komma getrennt. 1 entspricht Montag und 7 Sonntag.

Möchten Sie montags bis freitags von 9 bis 17 Uhr ein abweichendes Intervall verwenden, tragen Sie im Feld „Period“ den Wert „1-5,9-17“ ein.

Wenn Sie als Intervall „0“ eintragen, wird der Check ausgesetzt.

Im unten abgebildeten Screenshot sehen Sie ein Item, welches täglich nur zwischen 8:00 Uhr und 22:00 Uhr geprüft wird. Um das zu erreichen, wurde der Check über „Interval=0“ zwischen 22:00 und 8.00 Uhr ausgesetzt.

Ein flexibles Intervall. Zwischen 22:01 und 7:59 Uhr wird dieses Item nicht überwacht.

Wichtig: Möchten Sie das Update-Intervall für ein vorhandenes Item ändern oder ein weiteres hinzufügen, so werden Ihre Änderungen erst dann gespeichert, wenn Sie das gesamte Formular unten mit dem Save speichern.

Wenn Sie das Standard-Update-Intervall ändern, während ein abweichendes flexibles Intervall aktiv ist, kann es passieren, dass alle Änderungen erst nach Ablauf des zuvor konfigurierten flexiblen Intervalls aktiv werden. In einigen Versionen von Zabbix hilft nur ein Restart des Zabbix-Servers und ggf. des zuständigen Zabbix-Proxys, damit das neue Standard-Update-Intervall sofort aktiviert wird.

Historische Daten speichern

Im Feld „Keep history (in days)“ tragen Sie ein, wie lange die gesammelten Daten des Items in der Datenbank gespeichert werden sollen. Daten, die älter sind als in den Feldern „Keep history“ und „Keep trends“ angegeben, werden von den Zabbix-Server-Housekeepern automatisch gelöscht.

Im Feld „Keep trends (in days)“ legen Sie fest, wie lange die zusammengefassten Daten eines Items gespeichert werden. Als Trend speichert Zabbix den stündlichen Minimal- und Maximalwert sowie den Durchschnittswert eines Items.

Bei der Konfiguration der beiden Werte sollten Sie sich Gedanken darüber machen, ob die historischen Werte des Items von Nutzen sind. Von vielen Items sind die Daten aus der Vergangenheit bei der Fehlersuche oder bei der Analyse von Performance-Engpässen Gold wert. Auch einfache Daten wie „war Datenbank A vor 14 Tagen um 7 Uhr online“ können von großem Nutzen sein, denn sie könnten zum Beispiel erklären, warum Datenbank B zur gleichen Zeit eine höhere Last als üblich hatte. Wenn Datenbank B die Last von Datenbank A übernehmen musste, dann ergibt sich aus den historischen Daten eine logische Erklärung.

Es gibt aber auch Items, bei denen eine lange Speicherung der Daten wenig sinnvoll ist. Im Zweifelsfalle sollten Sie lieber zu viele als zu wenige Daten speichern.

Wenn Sie ein großes Setup planen, in dem mehrere Hundert Hosts überwacht werden, überlegen Sie sich gut, wie lange Sie historische Daten brauchen. Die Tabellen mit den Historien wachsen schnell auf mehrere Gigabyte an. Vermeiden Sie schon im Vorfeld die Speicherung unnützer Daten.

Differenzbildung und Werte-Mapping

Über das Dropdown-Menü Store Value können Sie festlegen, ob der Wert, so wie er gesammelt wurde („as is“), gespeichert und weiterverarbeitet werden soll.

Wählen Sie bei „Store value“ „Delta (simple change)“ aus, dann wird in der Datenbank nur die Differenz zum letzten gemessenen Wert gespeichert.

Wählen Sie „Delta (speed per second)“ aus, dann wird die Differenz zum letzten Wert geteilt durch den Wert „Update Interval“ gespeichert.

Viele Items liefern den Wert eines Zählers zurück, der erst durch die Differenzbildung zu einer sinnvollen Information wird. Zum Beispiel zählt eine MySQL-Datenbank die Anzahl der Abfragen, indem der Zähler mit jeder Abfrage um eins erhöht wird. Speichern Sie in Zabbix das Delta pro Sekunde, dann bekommen Sie ein sinnvolles Item, das anzeigt, wie viele SQL-Abfragen die Datenbank pro Sekunde verarbeitet.

net.if.in und net.if.out liefern ebenfalls einen fortlaufenden Zähler der gesendeten bzw. empfangenen Bytes. Erst durch die Differenzbildung wird aus diesen Werten die Angabe MBytes/sec.

Über das Dropdown-Menü Show Value können Sie die rohen Werte eines Items, in der Regel Zahlen, durch aussagekräftigere Wörter ersetzen. Diese Ersetzung erfolgt aber nur für die Anzeige auf der Weboberfläche. In der Datenbank werden die rohen Werte gespeichert.

Bevor Sie die rohen Werte durch eigene Bezeichnungen ersetzen können, müssen Sie ein Value Mapping anlegen. Dies können Sie über das Menü Configuration|General|Value Mapping oder über den Link show value mappings in der Spalte „Show value“ vornehmen. Für einen „Ping Check“ können Sie zum Beispiel ein Value Mapping anlegen, bei dem der Wert 0 durch „offline“ und der Wert 1 durch „online“ ersetzt wird. Einige nützliche Mappings sind bereits angelegt.

Items kategorisieren, klonen und deaktivieren

Items, die eine logische Einheit bilden, zum Beispiel weil sie alle einen bestimmten Dienst überwachen, sollten Sie in einer Application zusammenfassen. Im Feld „New Application“ können Sie eine neue Item-Kategorie anlegen und das Item dieser Application sofort hinzufügen. Alternativ können Sie das Item auch einer vorhandenen Application über die Auswahl „Applications“ hinzufügen.

Mit dem Knopf clone haben Sie die Möglichkeit, ein Item zu duplizieren. Das duplizierte Item wird demselben Host oder Template zugewiesen wie das Original. Das Ändern des Hosts ist beim Klonen nicht möglich. Möchten Sie ein Item duplizieren und dabei einem anderen Host oder Template zuweisen, nutzen Sie dafür die Funktion „copy selected to“ in der Tabellenansicht der Items.

Kopieren eines Items von einem Host zu einem anderen

Über das Dropdown-Menü Status legen Sie fest, ob das Item aktiv ist, das heißt, ob der Zabbix-Server die konfigurierten Daten sammeln und weiterverarbeiten soll. Wenn Sie ein Item auf „Disabled“ setzen, dann werden auch alle nachfolgenden Trigger und Aktionen (Alarme) nicht ausgeführt.