Was ist Zabbix
Zabbix wurde von Alexei Vladishev entwickelt und wird derzeit aktiv von Zabbix SIA weiterentwickelt und unterstützt.
Zabbix ist eine verteilte Open-Source-Monitoring-Lösung der Enterprise-Klasse.
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 vielem mehr überwacht. Zabbix verwendet einen flexiblen Benachrichtigungsmechanismus, mit dem Benutzer E-Mail-basierte Warnungen für praktisch jedes Ereignis konfigurieren können. Dies ermöglicht eine schnelle Reaktion auf Serverprobleme. Zabbix bietet hervorragende Funktionen für Berichte und Datenvisualisierung auf Grundlage der gespeicherten Daten. Dadurch eignet sich Zabbix ideal für die Kapazitätsplanung.
Zabbix unterstützt sowohl Polling als auch Trapping. Auf alle Zabbix-Berichte und -Statistiken sowie 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 und für große Unternehmen mit einer Vielzahl von Servern.
Zabbix ist kostenlos verfügbar. Zabbix wurde unter der AGPL-3.0-Lizenz entwickelt und wird unter dieser Lizenz verbreitet. Das bedeutet, dass der Quellcode frei verbreitet wird und der Allgemeinheit zur Verfügung steht.
Kommerzieller Support ist verfügbar und wird von der Zabbix Company und ihren Partnern weltweit angeboten.
Erfahren Sie mehr über 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, die eine Vielzahl von Funktionen in einem einzigen Paket bietet.
- 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
Flexible Schwellenwertdefinitionen
- Sie können sehr flexible Problem-Schwellenwerte definieren, sogenannte Auslöser, die auf Werte aus der Backend-Datenbank verweisen
Hochgradig konfigurierbare Benachrichtigungen
- 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 sofort mit der integrierten Diagrammfunktion 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
- Übersicht auf hoher Ebene (Geschäftsansicht) 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-Log
- 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 Ü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 vereinfacht
Glossar
In diesem Abschnitt erfahren Sie die Bedeutung einiger häufig in Zabbix verwendeter Begriffe.
- jedes physische oder virtuelle Gerät, jede Anwendung, jeder Dienst oder jede andere logisch zusammengehörige Sammlung überwachter Parameter.
- eine logische Gruppierung von Hosts. Hostgruppen werden verwendet, wenn verschiedenen Benutzergruppen Zugriffsrechte auf Hosts zugewiesen werden.
- ein bestimmtes Datenelement, das Sie von einem Host empfangen möchten, also eine Datenmetrik.
- eine Transformation des empfangenen Metrikwerts, bevor dieser in der Datenbank gespeichert wird.
- ein logischer Ausdruck, der einen Problemschwellenwert definiert und zum „Auswerten“ der in Datenpunkten empfangenen Daten verwendet wird.
Wenn die empfangenen Daten über dem Schwellenwert liegen, wechseln Auslöser vom Status OK in den Status Problem. Wenn die empfangenen Daten unter dem Schwellenwert liegen, bleiben Auslöser im Status OK oder kehren in diesen zurück.
- eine Gruppe von Entitäten (Datenpunkte, Auslöser, Diagramme, Regeln für die Low-Level-Discovery und Web-Szenarien), die auf einen oder mehrere Hosts angewendet werden kann.
Vorlagen dienen dazu, die Bereitstellung von Überwachungsaufgaben auf einem Host zu beschleunigen und Massenänderungen an Überwachungsaufgaben zu vereinfachen. Vorlagen werden direkt mit einzelnen Hosts verknüpft.
- eine logische Gruppierung von Vorlagen. Vorlagengruppen werden verwendet, wenn verschiedenen Benutzergruppen Zugriffsrechte auf Vorlagen zugewiesen werden.
- das einmalige Auftreten eines Ereignisses, das Aufmerksamkeit verdient, beispielsweise eine Statusänderung eines Auslösers oder die Durchführung einer Discovery bzw. einer automatischen Registrierung eines Agents.
- eine vordefinierte Markierung für das Ereignis. Es kann unter anderem für die Ereigniskorrelation und die differenzierte Vergabe von Berechtigungen verwendet werden.
- eine Methode, um Probleme flexibel und präzise ihrer Lösung zuzuordnen.
Beispielsweise können Sie festlegen, dass ein von einem Auslöser gemeldetes Problem durch einen anderen Auslöser gelöst werden kann, der möglicherweise sogar eine andere Datenerfassungsmethode verwendet.
- ein Auslöser, der sich im Status „Problem“ befindet.
- von Zabbix bereitgestellte Optionen zur Problemverwaltung, beispielsweise das Hinzufügen eines Kommentars, die Bestätigung, die Änderung des Schweregrads oder das manuelle Schließen.
- eine vordefinierte Möglichkeit, auf ein Ereignis zu reagieren.
Eine Aktion besteht aus Vorgängen (z. B. dem Senden einer Benachrichtigung) und Bedingungen (wann der Vorgang ausgeführt wird).
- ein benutzerdefiniertes Szenario zur Ausführung von Vorgängen innerhalb einer Aktion; eine Abfolge zum Senden von Benachrichtigungen bzw. Ausführen von Remote-Befehlen.
- ein Platzhalter für eine Variable, der abhängig vom Kontext in einen bestimmten Wert aufgelöst wird.
- eine Möglichkeit zur Zustellung von Benachrichtigungen; ein Zustellungskanal.
- eine Nachricht über ein Ereignis, die über den ausgewählten Medienkanal an einen Benutzer gesendet wird.
- ein vordefinierter Befehl, der bei Eintreten 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.
- ein anpassbarer Bereich der Weboberfläche, der Zusammenfassungen und Visualisierungen wichtiger Informationen in visuellen Einheiten, den sogenannten 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.
- die Zabbix-API ermöglicht die Verwendung des JSON-RPC-Protokolls zum Erstellen, Aktualisieren und Abrufen von Zabbix-Objekten (z. B. Hosts, Datenpunkten, Diagrammen und anderen Objekten) sowie zum Ausführen beliebiger anderer Aufgaben.
- ein zentraler Prozess der Zabbix-Software, der die Überwachung durchführt, mit Zabbix-Proxys und Agents interagiert, Auslöser berechnet, Benachrichtigungen sendet und als zentrales Daten-Repository dient.
- ein Prozess, der Daten im Auftrag des Zabbix-Servers erfassen und dadurch den Server bei der Verarbeitung entlasten kann.
- ein Prozess, der auf Überwachungszielen bereitgestellt wird, um lokale Ressourcen und Anwendungen aktiv zu überwachen.
- eine neue Generation des Zabbix-Agents zur aktiven Überwachung lokaler Ressourcen und Anwendungen, die die Verwendung benutzerdefinierter Plugins für die Überwachung ermöglicht.
Da der Zabbix-Agent 2 viele Funktionen mit dem Zabbix-Agent gemeinsam nutzt, steht der Begriff „Zabbix-Agent“ in der Dokumentation für beide - den Zabbix-Agent und den Zabbix-Agent 2 -, wenn das funktionale Verhalten identisch ist. Der 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.
Automatische Registrierung des Agents
- ein automatisierter Prozess, bei dem ein Zabbix-Agent selbst als Host registriert und die Überwachung gestartet wird.
- die automatisierte Erkennung von Netzwerkgeräten.
- die automatisierte Erkennung von Entitäten niedriger Ebene auf einem bestimmten Gerät (z. B. Dateisysteme, Netzwerkschnittstellen usw.).
Regel für die Low-Level-Discovery
- eine Gruppe von Definitionen für die automatisierte Erkennung von Entitäten niedriger Ebene auf einem Gerät.
- eine Metrik mit bestimmten Parametern als Variablen, die für die Low-Level-Discovery bereitsteht. 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, der für die Low-Level-Discovery bereitsteht. 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 bei der Low-Level-Discovery verwendet - Diagramm-Prototypen, Host-Prototypen und Hostgruppen-Prototypen.