Fachartikel

IT-Infrastrukturen mit Zabbix überwachen - Agenten in Admins Diensten

Viele freie Netzwerkmonitoring-Umgebungen kranken an einem ernst zunehmenden Problem: Sie sind umständlich in Betrieb zu nehmen sowie schwer zu konfigurieren und zu administrieren. Eine lobenswerte Ausnahme ist Zabbix, ein Open Source-Projekt zur Überwachung von IT-Strukturen. Die offene Umgebung setzt zunächst auf einfache Prüfungen über Standarddienste wie SNMP oder HTTP. Für komplexe und anspruchsvolle Monitoring-Aufgaben kommen spezielle Agenten zum Einsatz, die es erlauben, zahlreiche Parameter eines Netzwerks sowie den Zustand und die Integrität von Servern zu überwachen. Die Umgebung stellt einen flexiblen Warnmechanismus bereit, der das Anlegen und Konfigurieren von E-Mail-Warnungen für nahezu jedes Ereignis erlaubt. Dieser Workshop zeigt die Inbetriebnahme und Konfiguration des Überwachungshelfers.
IT-Infrastrukturen mit Zabbix überwachen
Zu den Highlights von Zabbix gehören die exzellenten Report- und Datenvisualisierungsfunktionen. Damit liefert Zabbix auch die notwendigen Informationen und wichtigen Input für zukünftige Planungen. Die Berichte und statistischen Informationen sind über die webbasierte Konfigurationsschnittstelle zugänglich, wie auch die Konfigurationsparameter der Umgebung. Laut Angaben des Entwicklerteams macht Zabbix in kleinen Infrastrukturen mit wenigen Servern eine genauso gute Figur wie bei einer Vielzahl von Unternehmensservern.

Im Unterschied zu Icinga und Nagios ist die Konfiguration einzelner Hosts direkt in der Weboberfläche von Zabbix möglich. Eine weitere Besonderheit: Graphen, Screens und sogenannte Maps können Sie in wenigen Schritten einrichten.

Die Zabbix-Architektur

Zabbix besteht aus mehreren Komponenten: Das Herzstück der Umgebung ist der Zabbix-Server. An diesen übermitteln die Agenten die gesammelten Daten und statistischen Informationen. Auf dem Server werden auch die Konfigurationen und operative Daten gespeichert. Die zweite wichtige Komponente ist die Datenbank, in der die gesammelten Daten gespeichert werden. Hierzu können Sie MySQL, PostgreSQL oder Oracle RDBMS verwenden.

Um den Zugriff auf die Umgebung von beliebigen Systemen und Plattformen aus zu ermöglichen, stellt Ihnen Zabbix eine Webschnittstelle zur Verfügung. Sie ist Teil des Zabbix-Servers und wird in der Regel auf der gleichen physikalischen Maschine wie der Server ausgeführt – dies muss aber nicht so sein. Verwenden Sie SQLite als Datenbanksystem, müssen jedoch beide auf dem gleichen Rechner betrieben werden. Für den Einsatz in sehr großen Umgebungen bietet es sich an, Zabbix-Proxyserver einzurichten, die die Last auf mehrere Schultern verteilen.

Eine weitere essentielle Komponente der Umgebung sind die Zabbix-Agenten, die die Zielsysteme aktiv überwachen, indem Sie beispielsweise lokale Ressourcen und Applikationen im Auge haben und die gesammelten Daten an den Zabbix-Server übermitteln. Die Agenten dienen dazu, einen tiefen Einblick in die Befindlichkeit der Zielsysteme zu erhalten. Sie können Informationen über Festplatten, Speicherbelegung, Prozessorlast et cetera sammeln. Da die Agenten die nativen Systemaufrufe analysieren und überwachen, agieren sie sehr effizient. Wir unterscheiden hinsichtlich der Ausführung zwischen passiven und aktiven Checks: Bei den passiven Prüfungen reagiert der Agent auf eine Datenanforderung. Der Zabbix-Server oder womöglich auch ein Zabbix-Proxyserver fordert bestimmte Informationen an und der Agent gibt die gewünschten Informationen zurück – sofern verfügbar. Aktive Prüfungen verlaufen ein wenig komplizierter. Der Agent holt sich zunächst eine Liste der Netzwerkkomponenten vom Zabbix-Server. Dann sendet er periodisch neue Werte an den Server, die dort konsolidiert und aufbereitet werden.

Interessant ist in diesem Zusammenhang ein Blick auf den Datenfluss innerhalb der Zabbix-Umgebung. Um eine Netzwerkkomponente zu überwachen, müssen Sie zunächst einen Host anlegen. Als Nächstes benötigen Sie eine Komponente, für die Sie einen Trigger anlegen, der wiederum eine Aktion auslöst. Soll beispielsweise eine Warnung ausgegeben werden, wenn die CPU-Last eines Servers einen bestimmten Schwellenwert übersteigt, legen Sie eine entsprechende Verarbeitungsregel samt Warn-E-Mail an. Für das Anlegen solcher Regeln stellt Ihnen Zabbix eine Template-Funktion zur Verfügung, dank derer sich derlei Aufgaben deutlich vereinfachen.

Der Zabbix-Serverprozess ist für das Abrufen und Einsammeln der Netzwerkdaten zuständig. Er kalkuliert die Trigger und verschickt die Warnungen. Er ist die Komponente, an die die Zabbix-Agenten und die Zabbix-Proxyserver die Daten über Verfügbarkeit und Integrität der Systeme übermitteln. Zabbix speichert alle Konfigurationsinformationen in der Datenbank, mit der sowohl der Server als auch das Web-Interface interagieren. Wenn Sie über das Web-Frontend eine neu zu überwachende Netzwerkkomponente anlegen, wird dazu ein entsprechender Eintrag in der Objekt-Tabelle der Datenbank hinzugefügt.

Bild 1: Nach der Erstinstallation ist Zabbix einsatzbereit und kann mit den ersten Host-Konfigurationen gespeist werdenBild 1: Nach der Erstinstallation ist Zabbix einsatzbereit und kann mit den ersten Host-Konfigurationen gespeist werden

Daten sammeln und verarbeiten

Die Sammlung der Infrastruktur-Daten steuern Sie in der Zabbix-Umgebung durch die sogenannten Items. Dabei steht der Begriff Item für eine Messgröße und der Item-Value ist der zugehörige Messwert. Welche Informationen in den Items enthalten sind, ist natürlich von Quelle zu Quelle unterschiedlich. Prinzipiell können darin beliebige Formate und Daten enthalten sein, etwa der Festplattenverbrauch in Prozent, die Systemuhrzeit als Datum, ein Logfile-Eintrag als Text oder der CPU-Verbrauch als Fließkommawert. Zabbix speichert die Item-Werte in einer externen SQL-Datenbank. Für das Sammeln von Daten kann Zabbix auf folgende Datenquellen zurückgreifen:

  • Zabbix-Agenten werden auf dem zu überwachenden Host installiert. Der Vorteil dabei ist, dass der Agent unmittelbar auf die Kennwerte des Betriebssystems zugreift.
  • Beim Simple Check handelt es sich um einfache Prüfungen, die der Zabbix-Server eigenständig durchführen kann, beispielsweise Portscans.
  • Der SNMP-Daemon sammelt Daten über den zu überwachenden Host.
  • In Zabbix-Aggregaten werden Daten aus mehreren Quellen zusammengefügt und als ein Item gespeichert.
  • Der IPMI-Agent wird auf dem Ziel-Host installiert ist. Ein IPMI-Daemon wird meist von Hardwareherstellern zusammen mit den Remote Management-Konsolen bereitgestellt.
  • Datenbank-Monitor: Der Zabbix-Server kann auch Datenbanken abfragen und die Ergebnisse als Items speichern.
  • Externe Checks: Auf dem Zabbix-Server können auch Dritt-Skripts ausgeführt und deren Rückgabewerte in der Datenbank gespeichert werden.
  • Beim Zabbix Trapper handelt es sich um Daten, die mittels Zabbix-Sender vom Client an den Server geschickt werden.
  • SSH oder Telnet: Schließlich können Sie mithilfe des integrierten SSH- oder Telnet-Clients, der Bestandteil des Zabbix-Servers ist, beliebige Kommandos auf entfernten Hosts ausführen. Die Ausgaben der Kommandos werden dann als Item-Values gespeichert.

Eine Messgröße, also ein Item, ist immer an einen Host gebunden. Konkret bedeutet das, dass Zabbix immer angewiesen wird, einen Wert X auf einem Host Y zu messen. Dabei kann ein Host natürlich beliebig viele Items besitzen, aber ein Item kann nur einem Host zugeordnet sein.

Sobald Zabbix die Messwerte entgegennimmt, steht die nächste Verarbeitungsstufe an. Für die Weiterverarbeitung der Daten sind die sogenannten Trigger zuständig. Dabei folgt ein Abgleich der Messwerte mit definierten Schwellenwerten. Die Trigger sind eine der zentralen Elemente des Zabbix-Systems, denn nur sie können eine Folgeaktion auslösen.

Für die Auswertung der Messergebnisse verwendet die Monitoring-Umgebung neben regulären Ausdrücken auch verschiedene mathematische Funktionen, die mit den logischen Operatoren “AND” und “OR” kombiniert werden können. Hat ein Trigger einen Messwert ausgewertet, bestimmt er dessen Status, der den Wert wahr (“TRUE”) oder falsch (“FALSE”) annehmen kann. Der Status “TRUE” zeigt an, dass ein bestimmter Grenzwert über- oder unterschritten wurde und dass daher ein Problem vorliegt. Zabbix speichert den Status des Triggers in seiner Datenbank und wartet dort auf Folgeschritte des Administrators. Sie sollten einen Trigger jedoch nicht mit einer Alarmierung verwechseln. Ein Trigger kann lediglich die Grundlage für eine Folgeaktion bilden und beispielsweise bestimmen, welche Alarme generiert werden.


Inhalt des Artikels:

    Seite 1: Die Zabbix-Architektur
    Seite 2: Zabbix in Betrieb nehmen
    Seite 3: Daten mit Agenten sammeln und aufbereiten



Seite 1 von 3 Nächste Seite >>
1.06.2013/von Dr. Holger Reibold Artikel aus dem IT-Administrator Juni 2013

Nachrichten

Vereinfachte Maschinen-Analyse [2.11.2018]

genua präsentiert das Industrial Gateway GS.Gate, das jetzt über eine Management Station zentral administriert werden kann. So lassen sich viele Gateways über eine Bedienoberfläche verwalten, Konfigurationen und Updates im gesamten Netzwerk mit wenigen Mausklicks aufspielen. [mehr]

Digitalisierung von Maschinendaten testen [26.10.2018]

Endian bietet ein Proof-of-Concept (PoC)-Kit, um Maschinendaten zu extrahieren und zu visualisieren. Damit können Unternehmen auf Basis ihrer eigenen Daten entscheiden, wie sie Big-Data-Modelle für sich nutzen wollen. Mit dem PoC-Kit lassen sich unterschiedliche Einsatzzwecke abklopfen wie für Predictive Maintenance, Machine Learning oder Supportunterstützung mit Alarmen. [mehr]

Tipps & Tools

Kabellose Ladestation für unterwegs [15.09.2018]

Mittlerweile ist eine Powerbank schon regulärer Standard für mobile Arbeitsbienen und ihre Geräte. Daher muss der moderne Geek aufrüsten und das Smartphone mittels Induktion zum Weiterleben anregen. Dabei machen Sie sich gleichzeitig auch noch unterwegs vom Kabelwirrwarr frei. Die drahtlose Powerbank von Vooni ist mit allen Qi-zertifizierten Geräten bis 5 Watt kompatibel. Gleichzeitig lassen sich parallel außerdem das Tablet oder andere Telefone mit dem USB-Kabel laden. [mehr]

Drucker oder Docker - Tickets für Herbsttrainings verfügbar [3.09.2018]

Für vier Termine im Herbst sind noch Trainingstickets erhältlich. Das Training 'Drucker in Windows-Netzen' liefert Best Practices für den Druck unter Windows und zeigt die Behandlung typischer Fehler. Im Training 'Docker und Linux-Container' im November erfahren Sie, worum es bei Docker geht, wie Container aufgebaut sind, Sie eigene Container bauen und mit anderen zu Anwendungen verbinden. [mehr]

Buchbesprechung

Praxisbuch IT-Dokumentation

von Manuela und Georg Reiss

Anzeigen