Was ist Zabbix
Zabbix wurde von Alexei Vladishev entwickelt und wird derzeit aktiv von Zabbix SIA weiterentwickelt und unterstützt.
Zabbix ist eine Open-Source-Lösung für verteiltes Monitoring auf Enterprise-Niveau.
Zabbix ist eine Software, die zahlreiche Parameter eines Netzwerks sowie den Zustand und die Integrität von Servern, virtuellen Maschinen, Anwendungen, Diensten, Datenbanken, Websites, der Cloud und mehr überwacht. Zabbix verwendet einen flexiblen Benachrichtigungsmechanismus, mit dem Benutzer E-Mail-basierte Warnmeldungen für praktisch jedes Ereignis konfigurieren können. Dies ermöglicht eine schnelle Reaktion auf Serverprobleme. Zabbix bietet hervorragende Funktionen für Berichterstellung und Datenvisualisierung auf Grundlage der gespeicherten Daten. Dadurch ist Zabbix ideal für die Kapazitätsplanung.
Zabbix unterstützt sowohl Polling als auch Trapping. Auf alle Zabbix-Berichte und -Statistiken sowie auf Konfigurationsparameter wird über ein webbasiertes Frontend zugegriffen. Ein webbasiertes Frontend stellt sicher, dass der Status Ihres Netzwerks und der Zustand Ihrer Server von jedem Standort aus beurteilt werden können. Bei korrekter Konfiguration kann Zabbix eine wichtige Rolle bei der Überwachung der IT-Infrastruktur spielen. Dies gilt gleichermaßen für kleine Organisationen mit wenigen Servern wie auch für große Unternehmen mit einer Vielzahl von Servern.
Zabbix ist kostenlos. Zabbix wird unter der Lizenz AGPL-3.0 geschrieben und verbreitet. Das bedeutet, dass der Quellcode frei verbreitet wird und der Allgemeinheit zur Verfügung steht.
Kommerzieller Support ist verfügbar und wird von Zabbix Company und ihren Partnern weltweit bereitgestellt.
Erfahren Sie mehr über die Zabbix-Funktionen.
Benutzer von Zabbix
Viele Organisationen unterschiedlicher Größe auf der ganzen Welt verlassen sich auf Zabbix als primäre Monitoring-Plattform.
Architektur
Zabbix besteht aus mehreren wichtigen Softwarekomponenten. Ihre Aufgaben sind unten beschrieben.
Server
Der Zabbix Server ist die zentrale Komponente, an die Agenten Verfügbarkeits- und Integritätsinformationen sowie Statistiken melden. Der Server ist das zentrale Repository, in dem alle Konfigurations-, Statistik- und Betriebsdaten gespeichert werden.
Datenbankspeicherung
Alle Konfigurationsinformationen sowie die von Zabbix erfassten Daten werden in einer Datenbank gespeichert.
Weboberfläche
Für einen einfachen Zugriff auf Zabbix von überall und von jeder Plattform aus wird eine webbasierte Oberfläche bereitgestellt. Die Oberfläche ist Teil des Zabbix-Servers und läuft in der Regel (aber nicht zwingend) auf derselben physischen Maschine wie der Server.
Proxy
Zabbix Proxy kann Performance- und Verfügbarkeitsdaten im Auftrag des Zabbix Server erfassen. Ein Proxy ist ein optionaler Bestandteil einer Zabbix-Bereitstellung; er kann jedoch sehr nützlich sein, um die Last eines einzelnen Zabbix Server zu verteilen.
Agent
Zabbix-Agents werden auf Überwachungszielen eingesetzt, um lokale Ressourcen und Anwendungen aktiv zu überwachen und die erfassten Daten an den Zabbix-Server zu melden. Seit Zabbix 4.4 sind zwei Arten von Agents verfügbar: der Zabbix Agent (leichtgewichtig, auf vielen Plattformen unterstützt, in C geschrieben) und Zabbix Agent 2 (besonders flexibel, mit Plugins einfach erweiterbar, in Go geschrieben).
Datenfluss
Außerdem ist es wichtig, einen Schritt zurückzutreten und sich den gesamten Datenfluss innerhalb von Zabbix anzusehen. Um einen Datenpunkt zu erstellen, der Daten sammelt, müssen Sie zuerst einen Host erstellen. Am anderen Ende des Zabbix-Spektrums müssen Sie zuerst einen Datenpunkt haben, um einen Auslöser zu erstellen. Sie müssen einen Auslöser haben, um eine Aktion zu erstellen. Wenn Sie also eine Warnung erhalten möchten, dass Ihre CPU-Last auf Server X zu hoch ist, müssen Sie zuerst einen Host-Eintrag für Server X erstellen, gefolgt von einem Datenpunkt zur Überwachung seiner CPU, dann einem Auslöser, der aktiviert wird, wenn die CPU-Auslastung zu hoch ist, gefolgt von einer Aktion, die Ihnen eine E-Mail sendet. Auch wenn das nach vielen Schritten aussehen mag, ist es mit der Verwendung von Vorlagen in Wirklichkeit nicht so. Aufgrund dieses Designs ist es jedoch möglich, eine sehr flexible Einrichtung zu erstellen.
Funktionen
Zabbix ist eine hochintegrierte Lösung zur Netzwerküberwachung und bietet eine Vielzahl von Funktionen in einem einzigen Paket.
- Verfügbarkeits- und Leistungsprüfungen
- Unterstützung für SNMP (sowohl Traps als auch Polling), IPMI, JMX, VMware-Monitoring
- benutzerdefinierte Prüfungen
- Erfassung gewünschter Daten in benutzerdefinierten Intervallen
- durchgeführt durch Server/Proxy und durch Agenten
Flexible Schwellenwertdefinitionen
- Sie können sehr flexible Problemschwellenwerte definieren, sogenannte Auslöser, die auf Werte aus der Backend-Datenbank verweisen
Hochgradig konfigurierbare Benachrichtigungen
- das Senden von Benachrichtigungen kann für Eskalationsplan, Empfänger und Medientyp angepasst werden
- Benachrichtigungen können mithilfe von Makrovariablen aussagekräftig und hilfreich gestaltet werden
- automatische Aktionen umfassen Remote-Befehle
- überwachte Datenpunkte werden mithilfe der integrierten Diagrammfunktion sofort grafisch dargestellt
- Zabbix kann einem Pfad simulierter Mausklicks auf einer Website folgen und Funktionalität sowie Antwortzeit prüfen
Umfangreiche Visualisierungsoptionen
- Möglichkeit, benutzerdefinierte Diagramme zu erstellen, die mehrere Datenpunkte in einer einzigen Ansicht kombinieren können
- Netzwerkkarten
- Diashows in einer Dashboard-ähnlichen Übersicht
- Berichte
- übergeordnete (geschäftsbezogene) Ansicht überwachter Ressourcen
Speicherung historischer Daten
- Daten werden in einer Datenbank gespeichert
- konfigurierbare Historie
- integriertes Housekeeping-Verfahren
- überwachte Geräte als Hosts hinzufügen
- Hosts werden zur Überwachung herangezogen, sobald sie sich in der Datenbank befinden
- Vorlagen auf überwachte Geräte anwenden
- Gruppierung von Prüfungen in Vorlagen
- Vorlagen können andere Vorlagen erben
- automatische Erkennung von Netzwerkgeräten
- automatische Agent-Registrierung
- Erkennung von Dateisystemen, Netzwerkschnittstellen und SNMP-OIDs
- ein webbasiertes Frontend in PHP
- von überall zugänglich
- Sie können sich per Klick durch die Oberfläche bewegen
- Audit-Log
- Die Zabbix API bietet eine programmierbare Schnittstelle zu Zabbix für Massenänderungen, die Integration von Drittanbietersoftware und andere Zwecke.
Umfangreich ausgestatteter und leicht erweiterbarer Agent
- auf Überwachungszielen bereitgestellt
- kann sowohl unter Linux als auch unter Windows bereitgestellt werden
- in C geschrieben, für hohe Leistung und geringen Speicherbedarf
- leicht portierbar
Bereit für komplexe Umgebungen
- Remote-Monitoring wird durch die Verwendung eines Zabbix Proxy vereinfacht
Glossar
In diesem Abschnitt können Sie die Bedeutung einiger Begriffe kennenlernen, die in Zabbix häufig verwendet werden.
- jedes physische oder virtuelle Gerät, jede Anwendung, jeder Dienst oder jede andere logisch zusammenhängende Sammlung überwachter Parameter.
- eine logische Gruppierung von Hosts. Host-Gruppen werden verwendet, wenn Zugriffsrechte auf Hosts für verschiedene Benutzergruppen zugewiesen werden.
- ein bestimmter Datenteil, den Sie von einem Host empfangen möchten, eine Datenmetrik.
- eine Umwandlung des empfangenen Metrikwerts vor dem Speichern in der Datenbank.
- ein logischer Ausdruck, der einen Problemschwellenwert definiert und verwendet wird, um in Datenpunkten empfangene Daten zu "bewerten".
Wenn empfangene Daten über dem Schwellenwert liegen, wechseln Auslöser vom Status 'Ok' in den Status 'Problem'. Wenn empfangene Daten unter dem Schwellenwert liegen, bleiben Auslöser im Status 'Ok' oder kehren in ihn zurück.
- eine Menge von Entitäten (Datenpunkte, Auslöser, Diagramme, Low-Level-Discovery- Regeln, Webszenarien), die bereit sind, auf einen oder mehrere Hosts angewendet zu werden.
Die Aufgabe von Vorlagen besteht darin, die Bereitstellung von Überwachungsaufgaben auf einem Host zu beschleunigen und außerdem Massenänderungen an Überwachungsaufgaben zu erleichtern. Vorlagen werden direkt mit einzelnen Hosts verknüpft.
- eine logische Gruppierung von Vorlagen. Vorlagengruppen werden verwendet, wenn Zugriffsrechte auf Vorlagen für verschiedene Benutzergruppen zugewiesen werden.
- ein einzelnes Vorkommnis von etwas, das Aufmerksamkeit verdient, wie etwa ein Auslöser, der seinen Status ändert, oder eine Discovery-/Agent-Autoregistrierung, die stattfindet.
- eine vordefinierte Kennzeichnung für das Ereignis. Sie kann bei der Ereignis- Korrelation, der Granularität von Berechtigungen usw. verwendet werden.
- eine Methode, Probleme flexibel und präzise mit ihrer Behebung zu korrelieren.
Sie können zum Beispiel festlegen, dass ein von einem Auslöser gemeldetes Problem durch einen anderen Auslöser behoben werden kann, der sogar eine andere Methode der Datenerfassung verwenden kann.
- ein Auslöser, der sich im Status "Problem" befindet.
- von Zabbix bereitgestellte Optionen zur Problemverwaltung, wie das Hinzufügen eines Kommentars, das Bestätigen, das Ändern des Schweregrads oder das manuelle Schließen.
- ein vordefiniertes Mittel, auf ein Ereignis zu reagieren.
Eine Aktion besteht aus Operationen (z. B. dem Senden einer Benachrichtigung) und Bedingungen (wann die Operation ausgeführt wird)
- ein benutzerdefiniertes Szenario zur Ausführung von Operationen innerhalb einer Aktion; eine Abfolge des Sendens von Benachrichtigungen/Ausführens von Remote-Befehlen.
- ein Platzhalter für eine Variable, der je nach Kontext zu einem bestimmten Wert aufgelöst wird.
- ein Mittel zur Zustellung von Benachrichtigungen; Zustellungskanal.
- eine Nachricht über ein Ereignis, die über den gewählten Medienkanal an einen Benutzer gesendet wird.
- ein vordefinierter Befehl, der unter bestimmten Bedingungen automatisch auf einem überwachten Host ausgeführt wird.
- eine oder mehrere HTTP-Anfragen zur Überprüfung der Verfügbarkeit einer Web- Site.
- die mit Zabbix bereitgestellte Weboberfläche.
- ein anpassbarer Bereich der Weboberfläche, der Zusammenfassungen und Visualisierungen wichtiger Informationen in visuellen Einheiten namens Widgets anzeigt.
- eine visuelle Einheit, die Informationen einer bestimmten Art und Quelle anzeigt (eine Zusammenfassung, eine Karte, ein Diagramm, die Uhr usw.) und im Dashboard verwendet wird.
- Mit der Zabbix API können Sie das JSON RPC-Protokoll verwenden, um Zabbix-Objekte (wie Hosts, Datenpunkte, Diagramme und andere) zu erstellen, zu aktualisieren und abzurufen oder andere benutzerdefinierte Aufgaben auszuführen.
- ein zentraler Prozess der Zabbix-Software, der die Überwachung durchführt, mit Zabbix Proxys und Agenten interagiert, Auslöser berechnet, Benachrichtigungen sendet; ein zentrales Daten-Repository.
- ein Prozess, der Daten im Auftrag des Zabbix Server sammeln kann und dem Server einen Teil der Verarbeitungslast abnimmt.
- ein Prozess, der auf Überwachungszielen bereitgestellt wird, um lokale Ressourcen und Anwendungen aktiv zu überwachen.
- eine neue Generation des Zabbix Agent zur aktiven Überwachung lokaler Ressourcen und Anwendungen, die die Verwendung benutzerdefinierter Plugins für die Überwachung ermöglicht.
Da Zabbix Agent 2 viele Funktionen mit Zabbix Agent gemeinsam hat, steht der Begriff "Zabbix Agent" in der Dokumentation für beide – Zabbix Agent und Zabbix Agent 2 –, wenn das funktionale Verhalten identisch ist. Zabbix Agent 2 wird nur dann ausdrücklich genannt, wenn sich seine Funktionalität unterscheidet.
- Unterstützung verschlüsselter Kommunikation zwischen Zabbix-Komponenten (Server, Proxy, Agent, zabbix_sender- und zabbix_get-Dienstprogramme) unter Verwendung des Transport Layer Security (TLS)-Protokolls.
- ein automatisierter Prozess, bei dem ein Zabbix Agent selbst als Host registriert und die Überwachung gestartet wird.
- automatisierte Erkennung von Netzwerkgeräten.
- automatisierte Erkennung von Low-Level-Entitäten auf einem bestimmten Gerät (z. B. Dateisysteme, Netzwerkschnittstellen usw.).
- eine Menge von Definitionen für die automatisierte Erkennung von Low-Level-Entitäten auf einem Gerät.
- eine Metrik mit bestimmten Parametern als Variablen, bereit für Low-Level-Discovery. Nach der Low-Level-Discovery werden die Variablen automatisch durch die tatsächlich erkannten Parameter ersetzt und die Metrik beginnt automatisch mit der Datenerfassung.
- ein Auslöser mit bestimmten Parametern als Variablen, bereit für Low-Level-Discovery. Nach der Low-Level-Discovery werden die Variablen automatisch durch die tatsächlich erkannten Parameter ersetzt und der Auslöser beginnt automatisch mit der Auswertung der Daten.
Prototypen einiger anderer Zabbix-Entitäten werden ebenfalls in der Low-Level-Discovery verwendet – Diagrammprototypen, Host-Prototypen, Host-Gruppen-Prototypen.