Zabbix

Software zur Überwachung von Computernetzwerken

Zabbix ist ein Open-Source-Netzwerk-Monitoringsystem, welches hauptsächlich von Alexei Vladishev entwickelt wurde. Inzwischen wird Zabbix von der Firma Zabbix SIA weiterentwickelt. Es dient der Überwachung von IT-Infrastrukturen. 2001 wurde die erste Version veröffentlicht.[7]

Zabbix


Zabbix 4.0
Basisdaten

Hauptentwickler Alexei Vladishev
Entwickler Zabbix
Erscheinungsjahr 2001[1]
Aktuelle Version 7.0.0[2]
(4. Juni 2024)
Aktuelle Vorabversion 4.0.0alpha2[3]
(8. Januar 2018)
Betriebssystem GNU/Linux, Solaris, macOS, HP-UX, NetBSD, FreeBSD, IBM Power Systems, AIX
Programmier­sprache C, PHP, Java
Kategorie Netzwerküberwachung
Lizenz AGPL-3.0[4][5][6]
deutschsprachig ja
www.zabbix.com

Komponenten

Bearbeiten

Grundsätzlich unterteilt sich Zabbix in den Zabbix-Server, den Zabbix-Proxy, den Zabbix-Agent, das Webinterface und ein Datenbank-Backend.[8]

Die Server-Software wiederum besteht aus mehreren verschiedenen Subprozessen, welche alle auf derselben oder separaten Maschine(n) laufen können, wodurch Zabbix sehr gut skaliert und somit auch für sehr große Infrastruktur-Umgebungen geeignet ist.

Der Server ist zuständig für das Sammeln und Auswerten der Monitoring-Daten. Gesammelte Daten werden in einer Datenbank gespeichert.

Die Geräte können passiv per SNMP/IPMI, ssh oder einfach nur via Ping abgefragt werden, die Daten können aber auch durch den Zabbix-Agent aktiv auf den Hosts erhoben werden. Zudem können normierte Daten (Zeitstempel, Variable, Wert) mit dem Zabbix Sender aktiv an den Server gesendet werden.

Überschreiten die erfassten Werte bestimmte Schwellenwerte, kann der Zabbix-Server Aktionen auslösen, wie z. B. Benachrichtigungen versenden oder Maßnahmen direkt auf den überwachten Systemen durchführen.

Es ist eine „Discovery“-Funktion integriert, mit welcher neue Geräte im Netzwerk erkannt und automatisch dem Monitoring hinzugefügt werden können.

Der Zabbix Server kann auf allen UNIX-ähnlichen Betriebssystemen installiert werden, benötigt für seinen Betrieb aber noch eine Datenbank. Dafür kommen alle gängigen SQL-Datenbank-Systeme in Frage[9][10]:

Der Zabbix-Server besteht aus diversen Sub-Prozessen. Wie viele dieser Prozesse jeweils laufen, lässt sich in der Regel in der zabbix_server.conf einstellen.

Im Einzelnen sind dies:

poller
sammelt die Daten vom Zabbix-Agent
unreachable poller
prüft, ob nicht erreichte Hosts immer noch nicht erreichbar sind
trapper
nimmt alle eingehenden Daten von aktiven Zabbix-Agents/-Proxys an
icmp pinger
pingt einzelne Hosts an
alerter + alert manager
sind für das Senden von Benachrichtigungen verantwortlich
housekeeper
Aufräum-Job, löscht alte Daten
history syncer
schreibt die gesammelten Daten in die Datenbank
proxy poller
sammelt die Daten von den passiven Proxys
http poller
prüft die Erreichbarkeit und ggf. Rückgabecode von Webservern/-seiten (Webseitenmonitoring)
ipmi poller
sammelt die Daten per [IPMI]
vmware collector
zuständig für das VMware-Monitoring
timer
ist für zeitabhängige Trigger zuständig
db watchdog
prüft, ob die Datenbank verfügbar ist – wenn nicht, wird dies protokolliert und (konfigurationsabhängig) eine Benachrichtigung versandt
escalator
zuständig für das Eskalieren der einzelnen Auslöser
discoverer
zuständig für Netzwerkscan („Autodiscovery“)
preprocessing manager + worker
zuständig für Vorverarbeitung von Daten, bevor diese in den History-Cache geschrieben werden

Webinterface

Bearbeiten

Das komplette Monitoring wird über ein in PHP geschriebenes Web-Interface verwaltet, so dass ein normaler Browser als Client ausreicht. Mittels Kombination von Hosts/Actions/Items/Triggers kann jedes erdenkliche Szenario zum Erfassen von Daten realisiert werden. Vor allem die Darstellung von Hosts auf Karten (Maps) verschiedenster Art (Landkarten, Infrastrukturplänen etc.) ist bereits von Haus aus integriert und sehr komfortabel gelöst. Eine JSON-Schnittstelle bietet die Möglichkeit zur Automatisierung der Verwaltung des Gesamtsystems.

Für jedes „Item“ (ein zu erfassender Wert) kann nach Belieben ein Zeitgraph direkt aufgerufen oder aber selbst definiert werden. Mehrere Graphen können frei konfigurierbar auf einer Übersichtsseite (heute auch als „Dashboard“ bezeichnet) dargestellt werden. Für die verschiedenen Applikationen gibt es fertige Templates, so dass der initiale Aufwand zur Konfiguration der „Items“ von Zabbix minimal ist.

Für externes Alarmhandling gibt es die Möglichkeit, „Events“ per E-Mail, Jabber oder SMS/GSM zu versenden. Auch können eigene Scripts integriert werden, die besondere Formen der Benachrichtigung umsetzen.

Passives oder agentenfreies Monitoring

Bearbeiten

Ohne Softwareinstallation auf den zu überwachenden Hosts kann der Zabbix-Server Daten seiner Schützlinge per SNMP, IPMI oder WMI (ab Zabbix 2.2) erheben. Einfache Prüfungen wie z. B. auf offene Ports und/oder Antwortzeiten von Webseiten können ebenfalls im Zabbix-Server direkt konfiguriert werden.

Ab der Version 2.2 kann Zabbix mittels JMX-Schnittstelle Java-Applikationsserver (wie JBoss oder Apache Tomcat) überwachen.

Aktiv – mit Agent

Bearbeiten

Reicht das Monitoring per Ping, IPMI oder SNMP nicht aus, installiert man den Zabbix-Agent auf dem zu überwachenden Rechner. Dabei handelt es sich um ein (C-)Programm, das wesentlich mehr und z. T. auch genauere Daten auf dem Host erhebt, und sie an den Zabbix-Server sendet. Die Verbindung zwischen Zabbix-Server/Proxy und Zabbix-Agent sowie zwischen Zabbix-Server und -Proxy kann ab Version 3.0 verschlüsselt werden. Auch ist es möglich mit dem Agent über sogenannte „Aktionen“ Scripts/Befehle direkt auf dem überwachten Host auszuführen.

Die Agents sind für folgende Plattformen vorkompiliert verfügbar:

Eine Zabbix-Installation kann über Zabbix-Proxies auf mehrere Standorte oder getrennte Netzwerke verteilt werden. Zabbix-Proxys synchronisieren sich regelmäßig mit dem Zabbix-Server und führen das Monitoring stellvertretend für den Haupt-Zabbix-Server aus. Auf diese Weise kann der Zabbix-Server entlastet werden.[11]

Zabbix SIA

Bearbeiten

Die Zabbix SIA wurde 2005 mit dem Fokus auf professionellen technischen Support für Zabbix gegründet. Es werden Partner-Programme, Integrationsdienste sowie Update-Services angeboten.

Zabbix stand bis Version 6.4 unter der GNU GPL Version 2, danach unter der Lizenz AGPL-3.0, und ist somit freie Software.[12]

Trainings

Bearbeiten

Es werden auch global verfügbare Schulungen in mehreren Sprachen angeboten.

Siehe auch

Bearbeiten

Literatur

Bearbeiten
  • Diego Wyllie: Netzwerkmanagement und Monitoring. Die besten Web-Tools für Server-Admins. In: Computerwoche. 16. Februar 2015 (Online).
  • Diego Wyllie: Zabbix: Quelloffenes Monitoring der Enterprise-Klasse. In: Computerwoche. Nr. 41, 8. Oktober 2012 (Online).
  • Jürgen Donauer: Open Source Server Monitoring. Server- und Client-Überwachung mit Zabbix 1.4.2, Teil 1. In: Computerwoche. tecChannel.de. 7. November 2007 (Online).
  • Jürgen Donauer: Open Source Server Monitoring. Server- und Client-Überwachung mit Zabbix 1.4.2, Teil 2: Frontend. In: Computerwoche. tecChannel.de. 16. November 2007 (Online).
Bearbeiten

Einzelnachweise

Bearbeiten
  1. www.zabbix.com. (englisch, abgerufen am 5. Oktober 2022).
  2. Release Notes for Zabbix 7.0.0.
  3. www.zabbix.com. (abgerufen am 19. Januar 2018).
  4. Zabbix software released under AGPLv3. (abgerufen am 13. Juni 2024).
  5. COPYING. 13. Mai 2024 (abgerufen am 13. Juni 2024).
  6. blog.zabbix.com. 3. April 2024 (abgerufen am 13. Juni 2024).
  7. 2 What is Zabbix. Abgerufen am 16. Januar 2023.
  8. 4 Zabbix overview. Abgerufen am 16. Januar 2023.
  9. 2 Requirements. Abgerufen am 16. Januar 2023.
  10. 1 Database creation. Abgerufen am 16. Januar 2023.
  11. 4 Proxy. Abgerufen am 16. Januar 2023.
  12. Zabbix software released under AGPLv3. Zabbix, abgerufen am 10. August 2024.