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 zur verteilten Überwachung 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, der es Benutzern ermöglicht, E-Mail-basierte Warnmeldungen für praktisch jedes Ereignis zu konfigurieren. Dies ermöglicht eine schnelle Reaktion auf Serverprobleme. Zabbix bietet hervorragende Funktionen für Berichte und Datenvisualisierung auf Grundlage der gespeicherten Daten. Dadurch ist Zabbix ideal für die Kapazitätsplanung.
Zabbix unterstützt sowohl Polling als auch Trapping. Alle Zabbix-Berichte und -Statistiken sowie Konfigurationsparameter werden über ein webbasiertes Frontend aufgerufen. 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 AGPL-3.0-Lizenz entwickelt und vertrieben. Das bedeutet, dass der Quellcode frei verteilt wird und der Allgemeinheit zur Verfügung steht.
Kommerzieller Support ist verfügbar und wird von der 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 Zuständigkeiten sind unten aufgeführt.
Server
Zabbix Server ist die zentrale Komponente, an die Agents Verfügbarkeits- und Integritätsinformationen sowie Statistiken melden. Der Server ist das zentrale Repository, in dem alle Konfigurations-, Statistik- und Betriebsdaten gespeichert werden.
Datenbankspeicher
Alle Konfigurationsinformationen sowie die von Zabbix gesammelten Daten werden in einer Datenbank gespeichert.
Web-Interface
Für einen einfachen Zugriff auf Zabbix von überall und von jeder Plattform aus wird die webbasierte Oberfläche bereitgestellt. Die Oberfläche ist Teil des Zabbix Server und läuft in der Regel (aber nicht zwingend) auf demselben physischen Rechner wie der Server.
Proxy
Zabbix proxy kann Leistungs- und Verfügbarkeitsdaten im Auftrag des Zabbix Server erfassen. Ein Proxy ist ein optionaler Bestandteil einer Zabbix-Installation; er kann jedoch sehr nützlich sein, um die Last eines einzelnen Zabbix Server zu verteilen.
Agent
Zabbix Agenten werden auf Überwachungszielen bereitgestellt, um lokale Ressourcen und Anwendungen aktiv zu überwachen und die gesammelten Daten an den Zabbix Server zu melden. Seit Zabbix 4.4 sind zwei Arten von Agenten verfügbar: der Zabbix agent (ressourcenschonend, auf vielen Plattformen unterstützt, in C geschrieben) und der Zabbix agent 2 (besonders flexibel, leicht durch Plugins erweiterbar, in Go geschrieben).
Datenfluss
Darüber hinaus 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 zunächst einen Host erstellen. Am anderen Ende des Zabbix-Spektrums müssen Sie zunächst 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 Benachrichtigung erhalten möchten, dass Ihre CPU-Auslastung auf Server X zu hoch ist, müssen Sie zunächst einen Host-Eintrag für Server X erstellen, anschließend einen Datenpunkt zur Überwachung der CPU, dann einen Auslöser, der aktiviert wird, wenn die CPU zu hoch ist, und danach eine Aktion, die Ihnen eine E-Mail sendet. Auch wenn das nach vielen Schritten klingt, ist es mit der Verwendung von Vorlagen in Wirklichkeit nicht so. Durch dieses Design ist jedoch eine sehr flexible Konfiguration möglich.
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 Trapping als auch Polling), IPMI, JMX, VMware-Überwachung
- benutzerdefinierte Prüfungen
- Erfassung gewünschter Daten in benutzerdefinierten Intervallen
- durchgeführt von Server/Proxy und von Agenten
Flexibel definierbare Schwellwerte
- Sie können sehr flexible Schwellwerte für Probleme definieren, sogenannte Auslöser, die auf Werte aus der Backend-Datenbank verweisen
Hochgradig konfigurierbares Alarmierungsverhalten
- das Senden von Benachrichtigungen kann für den Eskalationsplan, den Empfänger und den 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 dashboardartigen Übersicht
- Berichte
- übergeordnete (geschäftliche) Ansicht der überwachten Ressourcen
Speicherung historischer Daten
- Daten werden in einer Datenbank gespeichert
- konfigurierbare Historie
- integrierte Housekeeping-Prozedur
- überwachte Geräte als Hosts hinzufügen
- Hosts werden zur Überwachung übernommen, sobald sie in der Datenbank vorhanden sind
- Vorlagen auf überwachte Geräte anwenden
- Prüfungen in Vorlagen gruppieren
- Vorlagen können andere Vorlagen erben
- automatische Erkennung von Netzwerkgeräten
- automatische Registrierung von Agenten
- Erkennung von Dateisystemen, Netzwerkschnittstellen und SNMP-OIDs
- eine webbasierte Frontend in PHP
- von überall aus zugänglich
- Sie können sich per Klick durch die Oberfläche bewegen
- Audit-Protokoll
- Die Zabbix API bietet eine programmierbare Schnittstelle zu Zabbix für Massenänderungen, die Integration von Drittanbietersoftware und andere Zwecke.
- sichere Benutzerauthentifizierung
- bestimmte Benutzer können auf bestimmte Ansichten beschränkt werden
Voll ausgestatteter und leicht erweiterbarer Agent
- auf den Überwachungszielen installiert
- kann sowohl unter Linux als auch unter Windows eingesetzt werden
- in C geschrieben, für hohe Leistung und geringen Speicherbedarf
- leicht portierbar
Bereit für komplexe Umgebungen
- Fernüberwachung wird durch die Verwendung eines Zabbix Proxy erleichtert
Glossar
In diesem Abschnitt können Sie die Bedeutung einiger in Zabbix häufig verwendeter Begriffe kennenlernen.
- ein beliebiges physisches oder virtuelles Gerät, eine Anwendung, ein Dienst oder eine andere logisch zusammenhängende Sammlung überwachter Parameter.
- eine logische Gruppierung von Hosts. Host groups werden verwendet, wenn Zugriffsrechte auf Hosts für verschiedene Benutzergruppen zugewiesen werden.
- ein bestimmter Datenwert, den Sie von einem Host empfangen möchten, eine Datenmetrik.
- eine Transformation des empfangenen Metrikwerts vor dem Speichern in der Datenbank.
- ein logischer Ausdruck, der einen Problem-Schwellenwert definiert und verwendet wird, um die in Datenpunkten empfangenen Daten zu "bewerten".
Wenn die empfangenen Daten über dem Schwellenwert liegen, wechseln Auslöser von Ok in den Status Problem. Wenn die empfangenen Daten unter dem Schwellenwert liegen, bleiben Auslöser im Status Ok bzw. kehren dorthin zurück.
- eine Menge von Entitäten (Datenpunkte, Auslöser, Diagramme, Low-Level-Discovery-Regeln, Web-Szenarien), 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; außerdem erleichtern sie das Anwenden von Massenänderungen auf Überwachungsaufgaben. Vorlagen werden direkt mit einzelnen Hosts verknüpft.
- eine logische Gruppierung von Vorlagen. Template groups werden verwendet, wenn Zugriffsrechte auf Vorlagen für verschiedene Benutzergruppen zugewiesen werden.
- ein einzelnes Auftreten von etwas, das Aufmerksamkeit verdient, z. B. ein Auslöser, der seinen Status ändert, oder eine Discovery-/Agent-Autoregistrierung, die stattfindet.
- eine vordefinierte Markierung für das Ereignis. Sie kann in der Ereigniskorrelation, bei der feingranularen Rechtevergabe usw. verwendet werden.
- eine Methode, Probleme flexibel und präzise mit ihrer Behebung zu korrelieren.
Sie können beispielsweise definieren, dass ein von einem Auslöser gemeldetes Problem durch einen anderen Auslöser behoben werden kann, der sogar eine andere Datenerfassungsmethode verwenden kann.
- ein Auslöser, der sich im Status "Problem" befindet.
- von Zabbix bereitgestellte Optionen zur Problemverwaltung, z. B. Kommentar hinzufügen, bestätigen, Schweregrad ändern oder manuell schließen.
- eine vordefinierte Möglichkeit, 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 von Benachrichtigungen senden/Remote-Befehle ausführen.
- ein variabler Platzhalter, der je nach Kontext in einen bestimmten Wert aufgelöst wird.
- ein Mittel zur Zustellung von Benachrichtigungen; ein Zustellkanal.
- eine Nachricht über ein Ereignis, die einem Benutzer über den gewählten Medienkanal gesendet wird.
- ein vordefinierter Befehl, der bei einer bestimmten Bedingung automatisch auf einem überwachten Host ausgeführt wird.
- eine oder mehrere HTTP-Anfragen zur Überprüfung der Verfügbarkeit einer Website.
- die mit Zabbix bereitgestellte Weboberfläche.
- anpassbarer Bereich der Weboberfläche, der Zusammenfassungen und Visualisierungen wichtiger Informationen in visuellen Einheiten namens Widgets anzeigt.
- visuelle Einheit, die Informationen einer bestimmten Art und Quelle anzeigt (eine Zusammenfassung, eine Karte, ein Diagramm, die Uhr usw.), die im Dashboard verwendet wird.
- Die Zabbix API ermöglicht es Ihnen, das JSON-RPC-Protokoll zu 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 Überwachung durchführt, mit Zabbix-Proxies und -Agents interagiert, Auslöser berechnet, Benachrichtigungen sendet; ein zentrales Datenrepository.
- ein Prozess, der Daten im Auftrag des Zabbix-Servers erfassen kann und dem Server einen Teil der Verarbeitungslast abnimmt.
- ein auf Überwachungszielen bereitgestellter Prozess, der lokale Ressourcen und Anwendungen aktiv überwacht.
- 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 teilt, steht der Begriff "Zabbix agent" in der Dokumentation für beide - Zabbix Agent und Zabbix agent 2, sofern das funktionale Verhalten gleich 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.
- automatisierter Prozess, bei dem ein Zabbix Agent selbst als Host registriert wird und mit der Überwachung beginnt.
- automatisierte Erkennung von Netzwerkgeräten.
- automatisierte Erkennung von Low-Level-Entitäten auf einem bestimmten Gerät (z. B. Dateisysteme, Netzwerkschnittstellen usw.).
- 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 die 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 die 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, Hostgruppen-Prototypen.