Zabbix 4.2 veröffentlicht

Unser Team freut sich sehr, die Nachricht mitteilen zu können, dass ein kostenloses Open-Source-Überwachungssystem veröffentlicht wurde Zabbix 4.2!

Zabbix 4.2 veröffentlicht

Ist Version 4.2 die Antwort auf die Hauptfrage nach dem Leben, dem Universum und der Überwachung im Allgemeinen? Werfen wir einen Blick darauf!

Erinnern wir uns daran, dass Zabbix ein universelles System zur Überwachung der Leistung und Verfügbarkeit von Servern, Technik- und Netzwerkgeräten, Anwendungen, Datenbanken, Virtualisierungssystemen, Containern, IT-Diensten und Webdiensten ist.

Zabbix implementiert einen vollständigen Zyklus von der Datenerfassung, deren Verarbeitung und Transformation über die Analyse der empfangenen Daten bis hin zur Speicherung dieser Daten, der Visualisierung und dem Versenden von Warnungen mithilfe von Eskalationsregeln. Das System bietet außerdem flexible Optionen zur Erweiterung der Datenerfassungs- und Alarmierungsmethoden sowie Automatisierungsmöglichkeiten über API. Eine einzige Webschnittstelle implementiert die zentrale Verwaltung von Überwachungskonfigurationen und die Verteilung von Zugriffsrechten an verschiedene Benutzergruppen. Der Projektcode wird unter einer Lizenz frei verteilt GPLv2.

Zabbix 4.2 ist eine neue Nicht-LTS-Version mit einem verkürzten offiziellen Supportzeitraum. Für Benutzer, die Wert auf einen langen Lebenszyklus von Softwareprodukten legen, empfehlen wir die Verwendung von LTS-Versionen wie 3.0 und 4.0.

Lassen Sie uns also über die neuen Funktionen und großen Verbesserungen in Version 4.2 sprechen:

Weitere offizielle Plattformen

Zabbix 4.2 veröffentlicht
Zusätzlich zu den bestehenden offiziellen Paketen bieten wir auch neue Builds für:

  • RaspberryPi, Mac OS/X, SUSE Enterprise Linux Server 12
  • MSI für Windows-Agent
  • Docker-Bilder

Integrierte Prometheus-Unterstützung für die Anwendungsüberwachung

Zabbix kann Daten auf verschiedene Arten (Push/Pull) aus verschiedenen Datenquellen sammeln. Dies sind JMX, SNMP, WMI, HTTP/HTTPS, RestAPI, XML Soap, SSH, Telnet, Agenten und Skripte und andere Quellen. Lernen Sie jetzt den Prometheus-Support kennen!

Genau genommen war das Sammeln von Daten von Prometheus-Exporteuren in der Vergangenheit dank des HTTP/HTTPS-Datenelementtyps und regulärer Ausdrücke möglich.

Dank der integrierten Unterstützung für die PromQL-Abfragesprache können Sie mit der neuen Version jedoch so effizient wie möglich mit Prometheus arbeiten. Und durch die Verwendung abhängiger Metriken können Sie Daten am effizientesten sammeln und verarbeiten: Sie fragen einmal nach Daten, und dann sortieren wir sie nach den notwendigen Metriken.

Zabbix 4.2 veröffentlicht
Den Wert einer bestimmten Metrik ermitteln

Es ist wichtig zu beachten, dass die Low-Level-Discovery jetzt gesammelte Daten verwenden kann, um automatisch Metriken zu generieren. In diesem Fall konvertiert Zabbix die empfangenen Daten in das JSON-Format, was die Arbeit sehr erleichtert.

Zabbix 4.2 veröffentlicht
Finden von Metriken mithilfe eines Filters in der PromQL-Abfragesprache

Im Moment sind es noch mehr 300 Integrationen und Überwachungsrezepte Dienste und Anwendungen von Drittanbietern, die Zabbix verwenden. Mit der Prometheus-Unterstützung können Sie eine ganze Reihe von Anwendungen hinzufügen, die über offizielle oder von der Community unterstützte Prometheus-Exporteure verfügen. Dabei handelt es sich um die Überwachung beliebter Dienste, Container und Cloud-Ressourcen.

Effektive Hochfrequenzüberwachung

Wollen wir Probleme möglichst schnell erkennen? Natürlich, kein Zweifel! In den meisten Fällen führt dieser Ansatz dazu, dass wir Geräte zu häufig abfragen und Daten sammeln müssen, was das Überwachungssystem stärker belastet. Wie kann man das vermeiden?

Wir haben in den Vorverarbeitungsregeln einen Drosselungsmechanismus implementiert. Die Drosselung gibt uns im Wesentlichen die Möglichkeit, identische Werte zu überspringen.

Nehmen wir an, wir überwachen den Status einer kritischen Anwendung. Jede Sekunde prüfen wir, ob unsere Anwendung funktioniert oder nicht. Gleichzeitig empfängt Zabbix einen kontinuierlichen Datenstrom von 1 (funktioniert) und 0 (funktioniert nicht). Zum Beispiel: 1111111111110001111111111111…

Wenn mit unserer Anwendung alles in Ordnung ist, erhält Zabbix einen Fluss von nur Einsen. Müssen sie bearbeitet werden? Im Allgemeinen nein, da wir nur daran interessiert sind, den Status der Anwendung zu ändern, möchten wir nicht so viele Daten sammeln und speichern. Durch die Drosselung können Sie also einen Wert überspringen, wenn dieser mit dem vorherigen identisch ist. Dadurch erhalten wir nur Daten über die Zustandsänderung, zum Beispiel 01010101... Das sind völlig ausreichende Informationen, um Probleme zu erkennen!

Zabbix ignoriert fehlende Werte einfach, sie werden nicht im Verlauf aufgezeichnet und haben keinerlei Einfluss auf Trigger. Aus Sicht von Zabbix fehlen keine Werte.

Zabbix 4.2 veröffentlicht
Doppelte Werte ignorieren

Großartig! Wir können Geräte jetzt sehr häufig abfragen und Probleme sofort erkennen, ohne unnötige Informationen in einer Datenbank zu speichern.

Was ist mit der Grafik? Sie werden aufgrund fehlender Daten leer sein! Und wie können Sie feststellen, ob Zabbix Daten sammelt, wenn die meisten dieser Daten fehlen?

Darüber haben wir auch nachgedacht! Zabbix bietet eine andere Art der Drosselung, die Drosselung mit Herzschlag.

Zabbix 4.2 veröffentlicht
Einmal pro Minute prüfen wir, ob die Metrik aktiv ist

In diesem Fall speichert Zabbix trotz des sich wiederholenden Datenflusses mindestens einen Wert im angegebenen Zeitintervall. Wenn die Daten einmal pro Sekunde erfasst werden und das Intervall auf eine Minute eingestellt ist, wandelt Zabbix den jede zweite Einheitsstrom in einen jede Minute um. Es ist leicht zu erkennen, dass dies zu einer 60-fachen Komprimierung der empfangenen Daten führt.

Jetzt sind wir sicher, dass die Daten erfasst werden, die Triggerfunktion nodata() funktioniert und mit den Diagrammen alles in Ordnung ist!

Validierung der gesammelten Daten und Fehlerbehandlung

Keiner von uns möchte fehlerhafte oder unzuverlässige Daten sammeln. Wir wissen beispielsweise, dass ein Temperatursensor Daten zwischen 0 °C und 100 °C zurückgeben sollte und jeder andere Wert als falsch betrachtet und/oder ignoriert werden sollte.

Dies ist jetzt möglich, indem in die Vorverarbeitung integrierte Datenvalidierungsregeln für die Einhaltung oder Nichteinhaltung regulärer Ausdrücke, Wertebereiche, JSONPath und XMLPath verwendet werden.

Jetzt können wir die Reaktion auf den Fehler steuern. Wenn die Temperatur außerhalb des zulässigen Bereichs liegt, können wir einen solchen Wert einfach ignorieren, einen Standardwert festlegen (z. B. 0 °C) oder eine eigene Fehlermeldung definieren, z. B. „Sensor beschädigt“ oder „Batterie ersetzen“.

Zabbix 4.2 veröffentlicht
Die Temperatur sollte zwischen 0 und 100 liegen, den Rest ignorieren

Ein gutes Beispiel für den Einsatz von Validierung ist die Möglichkeit, Eingabedaten auf das Vorhandensein einer Fehlermeldung zu prüfen und diesen Fehler für die gesamte Metrik festzulegen. Dies ist eine sehr nützliche Funktionalität beim Abrufen von Daten von externen APIs.

Jede Datentransformation mit JavaScript

Wenn uns die integrierten Vorverarbeitungsregeln nicht ausreichten, bieten wir jetzt völlige Freiheit bei der Verwendung benutzerdefinierter JavaScript-Skripte!

Zabbix 4.2 veröffentlicht
Nur eine Codezeile zum Umrechnen von Fahrenheit in Celsius

Dies eröffnet endlose Möglichkeiten zur Verarbeitung eingehender Daten. Der praktische Vorteil dieser Funktionalität besteht darin, dass wir die externen Skripte, die wir für Datenmanipulationen verwendet haben, nicht mehr benötigen. All dies kann jetzt mit JavaScript erledigt werden.

Jetzt sind Datentransformation, Aggregation, Filter, arithmetische und logische Operationen und vieles mehr möglich!

Zabbix 4.2 veröffentlicht
Extrahieren nützlicher Informationen aus der Apache mod_status-Ausgabe!

Vorverarbeitung testen

Jetzt müssen wir nicht mehr raten, wie unsere komplexen Vorverarbeitungsskripte funktionieren. Ob die Vorverarbeitung korrekt funktioniert, lässt sich jetzt bequem direkt über die Schnittstelle überprüfen!

Zabbix 4.2 veröffentlicht

Wir verarbeiten Millionen von Messwerten pro Sekunde!

Vor Zabbix 4.2 wurde die Vorverarbeitung ausschließlich vom Zabbix-Server übernommen, was die Möglichkeit zur Verwendung von Proxys zur Lastverteilung einschränkte.

Ab Zabbix 4.2 erhalten wir eine unglaublich effiziente Lastskalierung durch die Unterstützung der Proxy-seitigen Vorverarbeitung. Jetzt erledigen es Proxys!

Zabbix 4.2 veröffentlicht

In Kombination mit der Drosselung ermöglicht dieser Ansatz eine hochfrequente, groß angelegte Überwachung und Millionen von Prüfungen pro Sekunde, ohne den zentralen Zabbix-Server zu belasten. Proxies verarbeiten gigantische Datenmengen, während aufgrund der Drosselung nur ein kleiner Teil davon den Zabbix-Server erreicht, ein bis zwei Größenordnungen weniger.

Einfachere Erkennung auf niedriger Ebene

Denken Sie daran, dass Low-Level-Discovery (LLD) ein sehr leistungsfähiger Mechanismus ist, um jede Art von Überwachungsressourcen (Dateisysteme, Prozesse, Anwendungen, Dienste usw.) automatisch zu erkennen und darauf basierende Datenelemente, Trigger, Netzwerkknoten und anderes automatisch zu erstellen Objekte. Dies spart unglaublich viel Zeit, vereinfacht die Konfiguration und ermöglicht die Verwendung einer Vorlage auf mehreren Hosts mit unterschiedlichen Überwachungsressourcen.

Die Low-Level-Erkennung erforderte speziell formatiertes JSON als Eingabe. Das ist es, es wird nicht mehr passieren!

Zabbix 4.2 ermöglicht Low-Level-Discovery (LLD) zur Verwendung beliebiger Daten im JSON-Format. Warum ist es wichtig? Dadurch können Sie beispielsweise mit externen APIs kommunizieren, ohne auf Skripte zurückgreifen zu müssen, und die erhaltenen Informationen nutzen, um automatisch Hosts, Datenelemente und Trigger zu erstellen.

In Verbindung mit der JavaScript-Unterstützung ergeben sich fantastische Möglichkeiten zur Erstellung von Vorlagen für die Arbeit mit verschiedenen Datenquellen, wie beispielsweise Cloud-APIs, Anwendungs-APIs, Daten in XML, CSV-Formaten usw.

Zabbix 4.2 veröffentlicht
Verknüpfung von JSON mit Informationen über Prozesse mit LLD

Die Möglichkeiten sind wirklich endlos!

TimescaleDB-Unterstützung

Zabbix 4.2 veröffentlicht

Was ist TimescaleDB? Dies ist reguläres PostgreSQL plus ein Erweiterungsmodul vom TimescaleDB-Team. TimescaleDB verspricht eine bessere Leistung aufgrund effizienterer Algorithmen und Datenstrukturen.

Darüber hinaus ist ein weiterer Vorteil von TimescaleDB die automatische Partitionierung von Tabellen mit Verlauf. TimescaleDB ist schnell und einfach zu warten! Allerdings sollte ich beachten, dass unser Team noch keinen ernsthaften Leistungsvergleich mit regulärem PostgreSQL durchgeführt hat.

Derzeit ist TimescaleDB ein recht junges und sich schnell entwickelndes Produkt. Mit Vorsicht verwenden!

Einfache Tag-Verwaltung

Konnten Tags früher nur auf Triggerebene verwaltet werden, ist die Tag-Verwaltung jetzt wesentlich flexibler. Zabbix unterstützt Tags für Vorlagen und Hosts!

Alle erkannten Probleme erhalten Tags nicht nur des Auslösers, sondern auch des Hosts sowie der Vorlagen dieses Hosts.

Zabbix 4.2 veröffentlicht
Definieren von Tags für einen Netzwerkknoten

Flexiblere automatische Registrierung

Mit Zabbix 4.2 können Sie Hosts mithilfe regulärer Ausdrücke nach Namen filtern. Dadurch ist es möglich, unterschiedliche Erkennungsszenarien für unterschiedliche Gruppen von Netzwerkknoten zu erstellen. Dies ist besonders praktisch, wenn wir komplexe Benennungsregeln für Geräte verwenden.

Flexiblere Netzwerkerkennung

Eine weitere Verbesserung betrifft die Benennung von Netzwerkknoten. Es ist jetzt möglich, Gerätenamen während der Netzwerkerkennung zu verwalten und den Gerätenamen aus einem Metrikwert abzurufen.

Dies ist eine sehr notwendige Funktionalität, insbesondere für die Netzwerkerkennung mithilfe von SNMP und dem Zabbix-Agenten.

Zabbix 4.2 veröffentlicht
Weisen Sie den lokalen Hostnamen automatisch einem sichtbaren Namen zu

Überprüfung der Funktionalität von Benachrichtigungsmethoden

Jetzt können Sie sich direkt aus der Weboberfläche eine Testnachricht senden und prüfen, ob die Benachrichtigungsmethode funktioniert. Diese Funktionalität ist besonders nützlich zum Testen von Skripten zur Kombination von Zabbix mit verschiedenen Warnsystemen, Aufgabensystemen und anderen externen Programmen und APIs.

Zabbix 4.2 veröffentlicht

Fernüberwachung von Zabbix-Infrastrukturkomponenten

Es ist jetzt möglich, interne Metriken des Zabbix-Servers und -Proxys (Leistungsmetriken und Zustand der Zabbix-Komponenten) aus der Ferne zu überwachen.

Wofür ist das? Mit dieser Funktion können Sie interne Metriken von Servern und Proxys von außen überwachen und Probleme schnell erkennen und melden, selbst wenn die Komponenten selbst überlastet sind oder beispielsweise eine große Menge nicht gesendeter Daten auf dem Proxy vorhanden ist.

Unterstützung des HTML-Formats für E-Mail-Nachrichten

Jetzt sind wir nicht mehr auf reinen Text beschränkt und können dank der Unterstützung des HTML-Formats schöne E-Mail-Nachrichten erstellen. Es ist Zeit, HTML + CSS zu lernen!

Zabbix 4.2 veröffentlicht
Nachrichten sind auch bei minimalem Einsatz von HTML leichter verständlich

Zugriff auf externe Systeme über Netzwerkkarten

Für eine bessere Integration von Karten in externe Systeme wird eine ganze Reihe neuer Makros in benutzerdefinierten URLs unterstützt. Dadurch können Sie beispielsweise mit ein oder zwei Klicks auf das Icon eines Netzwerkknotens ein Ticket im Aufgabensystem öffnen.

Zabbix 4.2 veröffentlicht
Öffnen Sie mit einem Klick ein Ticket in Jira

Eine Erkennungsregel kann ein abhängiges Datenelement sein

Warum ist das notwendig – fragen Sie. Dadurch können die zugrunde liegenden Metrikdaten sowohl für die Ermittlung als auch für die direkte Datenerfassung verwendet werden. Wenn beispielsweise Daten von einem Prometheus-Exporteur erfasst werden, stellt Zabbix eine HTTP-Anfrage und verwendet die empfangenen Informationen sofort für alle abhängigen Datenelemente: Metrikwerte und Erkennungsregeln auf niedriger Ebene.

Eine neue Möglichkeit, Probleme auf Karten zu visualisieren

Es werden jetzt animierte GIF-Bilder auf Karten unterstützt, um Probleme besser sichtbar zu machen.

Zabbix 4.2 veröffentlicht
Problematische Geräte sind sichtbarer geworden

Extrahieren von Daten aus HTTP-Headern in der Webüberwachung

In Web Monitoring wurde die Möglichkeit hinzugefügt, Daten aus dem empfangenen HTTP-Header auszuwählen.

Auf diese Weise können Sie mithilfe des in einem der Schritte erhaltenen Autorisierungstokens mehrstufige Webüberwachungs- oder API-Überwachungsszenarien von Drittanbietern erstellen.

Zabbix 4.2 veröffentlicht
Extrahieren der AuthID aus dem HTTP-Header

Zabbix Sender verwendet alle IP-Adressen

Zabbix Sender sendet jetzt Daten an alle IP-Adressen aus dem ServerActive-Parameter in der Agent-Konfigurationsdatei.

Zabbix 4.2 veröffentlicht

Praktischer neuer Filter in der Triggerkonfiguration

Die Trigger-Konfigurationsseite verfügt jetzt über einen erweiterten Filter zur schnellen und bequemen Auswahl von Triggern basierend auf festgelegten Kriterien.

Zabbix 4.2 veröffentlicht
Auswählen von Triggern im Zusammenhang mit dem K8S-Dienst

Zeigen Sie die genaue Uhrzeit an

Hier ist alles einfach, jetzt zeigt Zabbix die genaue Uhrzeit an, wenn Sie mit der Maus über das Diagramm fahren.

Zabbix 4.2 veröffentlicht

Weitere Neuerungen

  • Es wurde ein vorhersehbarerer Algorithmus zum Ändern der Reihenfolge der Widgets im Dashboard implementiert
  • Möglichkeit zur Massenänderung von Parametern von Datenelement-Prototypen
  • IPv6-Unterstützung für DNS-Prüfungen: „net.dns“ und „new.dns.record“
  • Parameter „skip“ für „vmware.eventlog“-Prüfungen hinzugefügt
  • Fehler bei der Ausführung des Vorverarbeitungsschritts enthält Schrittnummer

Wie aktualisiere ich?

Um ein Upgrade von früheren Versionen durchzuführen, müssen Sie nur installieren neue Binärdateien (Server und Proxys) und eine neue Schnittstelle. Zabbix aktualisiert die Datenbank automatisch. Es ist nicht erforderlich, neue Agenten zu installieren.

Wir veranstalten kostenlose Webinare für diejenigen, die mehr über Zabbix 4.2 erfahren möchten und die Möglichkeit haben, Fragen an das Zabbix-Team zu stellen. Melden Sie sich an!

Vergessen Sie nicht das Beliebte Telegram-Kanal Zabbix-Community, in der Sie jederzeit Ratschläge und Antworten auf Ihre Fragen auf Russisch von erfahreneren Kollegen und, wenn Sie Glück haben, von den Zabbix-Entwicklern selbst erhalten. Empfohlen für Anfänger Gruppe für Anfänger.

Nützliche Links

- Release Notes
- Upgrade-Hinweise
- Originaler Artikel

Source: habr.com

Kommentar hinzufügen