Was ist Zabbix

Warum Monitoring?

Die perfekten IT-Systeme, die zuverlässig und ohne Fehler ihre Dienste tun, gibt es nicht. Ein funktionierendes IT-System ist kein Zustand, sondern ein Prozess, der von Menschen (Administratoren) permanent begleitet werden muss.

Zahlreiche Ereignisse sorgen immer wieder dafür, dass ein IT-System seinen Dienst versagt. Verschleißteile wie Festplatten, fehlerhafte Bedienung, bösartige Angriffe oder das Versäumen von regelmäßigen Pflegeaufgaben sind nur einige Gründe, warum Fehler und Ausfälle auftreten. Und spätestens dann, wenn Ihr Kunde schneller als Sie bemerkt, dass ein System nicht mehr funktioniert, brauchen Sie ein Monitoring.

Die folgenden Aufgaben sollte ein Monitoring-System für Sie erledigen:

  • den Status aller Komponenten erfassen
  • Daten aufbereiten, sortieren und bewerten
  • übersichtliche Zusammenfassungen präsentieren
  • Abweichungen vom Normalzustand erkennen
  • Alarm auslösen
  • Zustände und Veränderungen protokollieren
  • die Einhaltung von Prozessen oder eine Abweichung überwachen und protokollieren

Brauchen Sie Hilfe bei der Einrichtung von Zabbix?
Wir bieten Zabbix-Consulting, Schulungen, Wartungs- und Supportverträge.
zabbix-support.de

Monitoring ist mehr als ein Alarm im Fehlerfall

Je größer ein IT-System ist, desto schwieriger wird es, den Überblick über den Zustand des gesamten Systems und aller Einzelkomponenten zu behalten. Entsprechend muss das Monitoring-System komplexere Aufgaben als die zuvor beschriebenen erfüllen.

Einen Alarm zu senden, wenn ein Fehler auftritt, ist eine wichtige, aber bei weitem nicht die einzige Aufgabe eines Monitoring-Systems. Monitoring heißt, viele Daten zu sammeln und automatisiert die richtigen Schlüsse zu ziehen. Fällt eine Komponente aus, ist es nicht schwer, daraus zu schlussfolgern, dass ein Problem vorliegt! Es sollte sich jemand darum kümmern! Ab einer gewissen Anzahl von Systemen gehören Meldungen des Monitoring-Systems zum Alltag. Das Monitoring-System sollte harmlose von schweren Fehlern unterscheiden und je nach Schweregrad unterschiedliche Medien zur Benachrichtigung nutzen können.

Neben der Erkennung von Fehlern sollte ein Monitoring-System Schlüsse oder konkrete Aussagen zur Zuverlässigkeit von Systemen und Komponenten ermöglichen. Dazu ist das Speichern historischer Daten notwendig. Dabei sollte das System eine Schnittstelle und ein sogenanntes User-Interface zur Verfügung stellen, um die gespeicherten Daten schnell und bequem auswerten zu können.

IT-Verantwortliche und Systemadministratoren möchten mithilfe eines Monitoring-Systems auch vorbeugen, dass eine Komponente oder ein Dienst ausfällt. Dafür ist in der Regel die Auswertung vieler Daten notwendig. Die Performance von Komponenten und Diensten und die Auslastung der Infrastruktur muss ebenfalls permanent gemessen und grafisch dargestellt werden. Ein einfaches Beispiel ist der freie Speicher auf einer Festplatte. Wenn das Monitoring-System einen Anstieg des verbrauchten Speichers von X GB pro Tag berechnet, ist es nicht schwer, vorherzusagen, wann die Fesplatte voll sein wird.
Wenn nun ein Dienst auf fünf Server mit insgesamt 20 Festplatten zugreift, wollen Sie an einem Sonntagabend nicht in der Wochenendruhe gestört werden, nur weil eine Festplatte voll ist. Nun hat das Monitoring-System eine komplexe Aufgabe zu bewerkstelligen und muss die Daten von 20 Festplatten, 5 Servern, einem Dienst, den Wochentag und die Uhrzeit zu einer „Entscheidung“ verarbeiten: Geht ein Alarm raus, oder nicht?

Performancedaten werden aber nicht zur Prognose des nächsten Ausfalls gebraucht. Ein Monitoring-System sammelt viele Daten auf Verdacht, ohne dass diese automatisiert ausgewertet werden. Diese Daten brauchen Sie, um nicht vorhersehbare Störfalle zu erklären. Ein einfaches Beispiel sind die Besucherzahlen auf einer Webseite. Wenn nun der Webserver „abstürzt“, können Sie sich die Besucherzahlen als Graphen anschauen. Wenn dem Ausfall des Webservers ein ungewohnt hoher Anstieg der Besucherzahlen vorausging, wäre dies eine plausible Erklärung für den Ausfall. Die hohen Besucherzahlen könnten eine so hohe Last verursacht haben, dass der Server abgestürzt ist.
Auch für die Planung und den Ausbau der Hardware ist es wichtig zu wissen, wie stark die Hardware in der Vergangenheit ausgelastet war.
Kunden wünschen oft einen Verfügbarkeitsreport. Oder vielleicht berechnen Sie Ressourcen je nach Verbrauch an Kunden. Auch das ist eine Aufgabe des Monitoring-Systems.

Die Anforderungen an ein IT-Monitoring-System können zusammenfassend in fünf Kategorien eingeordnet werden

  1. Zustand des Systems beobachten
    • „End-to-End“-Monitoring, bei dem der ausgelieferte Dienst so nah wie möglich am Endbenutzer auf Funktionsfähigkeit geprüft wird
    • Statuserfassung aller Dienste, Software und Hardware
    • Langzeitspeicherung von Informationen über die Verfügbarkeit von Diensten und Komponenten
  2. Alarmierung
    • das manuelle Eingreifen ins System verlangen
    • einen Mitarbeiter so gut wie möglich über die Ursache eines Fehlers informieren.
    • Reaktionszeiten und die Fehlerbehebung dokumentieren
  3. Diagnose
    • genügend Informationen sammeln, um eine detaillierte Ursachenanalyse zu ermöglichen
    • Informationssammlung für Entscheidungen
  4. Qualitätsmessung
    • Datensammlung über die Leistungsfähigkeit und den Durchsatz des Systems und Teilkomponenten
    • Erfassung von vereinbarten Grenzwerten und deren Einhaltung
    • Identifikation von Engpässen, Überlastungen und Implementierungsfehlern
  5. Konfiguration
    • Überwachung von standardisierten Konfigurationen
    • Warnen bei Abweichungen von einem standardisierten Vorgehen

Besonders der letzte Punkt, die Überwachung von standardisierteren Konfigurationen, wird oft vernachlässigt. Eine Konfiguration gemäß des vereinbarten Standards ist aber für ein stabiles System essenziell. Oder anders formuliert: Die Ursache für Probleme sind häufig Änderungen an der Umgebung! Woher kommt der in IT-Kreisen oft zitierte Spruch „Never touch a running system“? Der Grund ist, dass einmal gut laufende Systeme oft jahrelang ohne Probleme weiterlaufen. Korrekt konfigurierte Systeme minimieren das Risiko von Ausfällen.

Ihr Monitoring-System sollte in der Lage sein, die folgenden Aspekte der Systemkonfiguration zu dokumentieren und bei Abweichungen zu alarmieren:

  • Wann wurden Änderungen an der Konfiguration vorgenommen? Wenn beispielsweise die Änderung an einer Apache-Konfigurationsdatei und der spätere Ausfall des Webservers in ein gemeinsames kleines Zeitfenster passen, liegt die Vermutung nahe, dass die Änderung für den Ausfall verantwortlich ist.
  • Wird die richtige (vereinbarte) Software eingesetzt? Manche Mitarbeiter experimentieren auch mit kritischen Systemen. Monitoren Sie nicht nur, dass irgendein Mailserver läuft. Monitoren Sie, dass der in Ihrer Firma vereinbarte Standardmailserver läuft.
  • Wann wurden Updates und Patches eingespielt? Das Monitoring sollte also stets dokumentieren, welche Version und welches Release von einer Software im Einsatz war.
  • Gibt es Sicherheitsupdates für Software und das Betriebssystem und wann wurden diese Updates eingespielt?

Zabbix, die Datenkrake

Die oben genannten Anforderungen an ein Monitoring-System klingen kompliziert? Mit der richtigen Software ist es das aber nicht. Zabbix ist eine Monitoring-Software, die diese Ziele erfüllt. Nun könnten Sie einwenden, dass man für die genannten Aufgaben keine spezielle Software braucht. Ein paar Skripte oder ein Internetdienst wie pingdom.com tun es doch auch. Wenn Sie einen einzelnen Webserver überwachen möchten, dann kommen Sie mit einem Skript sicher zu akzeptablen Lösungen. Wenn es aber um ein Netzwerk geht, reichen Skripte oder Internetdienste nicht aus. Eine Software wie Zabbix kann mehr:

  • Es wird nicht nur das Endprodukt, zum Beispiel die Verfügbarkeit einer Webseite, überwacht, sondern alle Teilkomponenten, wie Hard- und Software, Betriebssysteme und Netzwerkinfrastruktur.
  • Durch das Überwachen von vielen Teilkomponenten wie zum Beispiel des freien Festplattenplatzes kann Fehlern vorgebeugt werden.
  • Routineaufgaben werden nicht mehr vergessen.
  • Ressourcenengpässe werden frühzeitig erkannt.
  • Ein einheitliches Setup wird gewährleistet. Das Monitoring erkennt sofort, wenn ein Kollege sich bei der Installation eines neuen Servers nicht an die vereinbarten Konventionen gehalten hat. Das Monitoring liefert eine To-do-Liste, was zu ändern ist.
  • Die Alarmierung erfolgt zielgerichtet. Nur die relevanten Daten werden verschickt. Der Admin weiß sofort, wo er mit der Fehlerbehebung beginnen muss. (Ein Router fällt aus. Sie wollen in der Regel dann nicht noch unzählige SMS bekommen, die Sie darüber informieren, welche Webseiten nun auch offline sind, weil der entsprechende Webserver hinter dem ausgefallenen Router hängt.)

Die Hauptfunktionen von Zabbix decken alle Anforderungen an ein Monitoring-System ab:

  • Daten sammeln inklusive automatischer Erkennung von Komponenten und Webseitenmonitoring
  • effiziente Datenspeicherung
  • effektiver Zugriff auf Daten
  • Alarmierung per E-Mail, SMS, Chat oder beliebige Programme
  • Visualisierung der Daten per Dashboard, Graphen, Karten und Übsersichten

Was leistet Zabbix?

Die Firma Zabbix LLC umschreibt ihr Produkt so: "Zabbix is an enterprise-class open source distributed monitoring solution." Konkret bedeutet diese Aussage Folgendes:

Zabbix ist Enterprise!
Die Software ist für den professionellen Einsatz in geschäftskritischen Bereichen gemacht. Die Funktionsvielfalt deckt alles ab, was professionelle Administratoren und ganze Teams brauchen. Besonderen Wert legen die Entwickler von Zabbix auf die Unterstützung von fast allen Betriebssystemen, einen robusten Softwarekern und eine verständliche Bedienung mit einem modernen grafischen Interface.
Zabbix ist Open Source!
Die Software ist komplett unter der GPL veröffentlicht. Sie können Zabbix kostenlos downloaden und beliebig oft installieren. Egal, wie viele Hosts Sie überwachen. Es werden keine Lizenzgebühren fällig. Und wenn Sie möchten, können Sie sich den Quellcode von Zabbix anschauen und verändern.
Zabbix ist für große Umgebungen!
Wenn Sie nur einen einzelnen Server überwachen möchten, dann schießen Sie mit Zabbix sprichwörtlich mit Kanonen auf Spatzen. Zabbix ist für den Einsatz in Netzwerken konzipiert. Das Überwachen von mehreren Tausend Hosts stellt kein Problem dar. Durch Techniken wie Proxys und Nodes können große Netzwerke und an verschiedenen Standorten überwacht werden.

Eine detaillierte Liste mit allen Funktionen von Zabbix finden Sie auf der Zabbix-Webseite.

Zabbix wird seit über 10 Jahren von der Firma Zabbix LLC in Riga, Litauen entwickelt. 2004 erschien die erste stabile Version von Zabbix. Die Entwicklung wird sehr aktiv vorangetrieben. Bugs werden schnell behoben, und ca. alle drei Monate werden Updates veröffentlicht.

Zabbix LLC bietet kommerziellen Support für Ihr Produkt. Es gibt ein weltweites Netz von lizenzierten Partnern, die Support-, Trainings- und Consultingleistungen rund um Zabbix anbieten.

Unter http://www.zabbix.com erfahren Sie mehr.

Die Grenzen und Schwächen von Zabbix

Auch wenn Zabbix für große Netzwerke konzipiert ist, skaliert das System nicht ins Unendliche. Im Zabbix-Forum werden regelmäßig Fragen zur maximalen Anzahl von überwachten Hosts gestellt. Mitglieder berichten häufig davon, dass die Überwachung von 8.000 Hosts problemlos möglich ist. Im Zabbix-Blog finden Sie einen Bericht über ein Zabbix-Setup mit fast 700.000 Messpunkten. Da Zabbix auf eine Datenbank angewiesen ist, ist der Skalierung eine Grenze gesetzt. Wenn die Datenbank die eintreffenden Daten nicht mehr speichern kann, weil die Hardware an der Grenze der Leistungsfähigkeit ist, dann erreicht auch Zabbix seine Grenzen. Doch mit jeder neuen Version von Zabbix verbessert sich die Performance. Cache-Mechanismen wurden implementiert, um die Last der Datenbank zu reduzieren.

Das Erstellen von Berichten wird von vielen Benutzern als verbesserungswürdig bezeichnet. Die Konfiguration der Berichte sei umständlich und die Berichte könnten etwas besser aussehen.