Leistungsstarkes Monitoring und Visualisierung mit Grafana und Zabbix

Herausforderungen vernetzter IT-Systeme

Die rasant fortschreitenden Entwicklungen in der IT stellen stets neue und größere Herausforderungen an Betreiber und Administratoren von IT Systemlandschaften. Standen früher noch eine überschaubare Zahl an Servern und Anwendungen im Zentrum der Betreuung, haben sich die Anforderungen mit dem Aufkommen von Virtualisierung, modernen Datacentern und der Nutzung von Cloud-Hosting grundlegend gewandelt. Die fortschreitende Vernetzung und das Aufkommen neuer Dienste und Cloud-Services lässt den Umfang und die Komplexität des Anwendungsspektrums stetig wachsen. Daneben erhöhen moderne Konzepte wie DevOps den Druck auf die klassische Administration und weichen die Grenzen zwischen der Anwendungsentwicklung und der Systembetreuung auf.

In diesem kontinuierlich wachsenden und immer komplexeren Umfeld benötigt man für ein erfolgreiches und vorausschauendes Management eine leistungsfähige Überwachung und Darstellung der gesamten IT Systemlandschaft zu jedem Zeitpunkt.

Anwendungsvielfalt aus Anwendersicht
Anwendungsvielfalt aus Anwendersicht

Merkmale eines leistungsstarken Monitoringsystems

Als Anbieter von Hosting und Cloud-Diensten sowie durch die Systembetreuung zahlreicher Kunden und – nicht zuletzt – unserer eigenen IT Infrastruktur kennen wir diese Anforderungen aus unserem täglichen Umfeld in all ihren Details. Unser Lösungskonzept musste für eine erfolgreiche Umsetzung die folgenden Kernmerkmale erfüllen:

 

  • Schnelle und intuitiv erfassbare Ansichten sollen auch fachfremdem Personal einen Überblick über den Status von Servern und bereitgestellten Diensten geben. Diese Übersichtsdarstellungen sollen mit komprimiertem Informationsgehalt unterschiedliche Systeme gruppierbar zusammenfassen.
  • Vorgänge und Ereignisse sollen chronologisch und nachvollziehbar dargestellt werden. Eine frei zoombare Zeitleistendarstellung soll dabei die (Fehler-)Analyse komfortabel ermöglichen und eine Früherkennung von auffälligen Veränderungen unterstützen.
  • Das Nutzungsverhalten und der Ressourcenverbrauch einzelner Systeme soll in einer Echtzeitdarstellung ersichtlich sein. Darüber hinaus soll die Gegenüberstellung mehrerer Systeme Vergleiche ermöglichen. Zur einfachen Identifikation von Leistungsengpässen und zur Optimierung des Anwendungsverhaltens werden separate Darstellungen benötigt, die die Systeme mit dem höchsten Ressourcenverbrauch sofort ersichtlich ausweisen.
  • Komplexe Szenarien sollen aufgeschlüsselt in ihre Bestandteile und Einzelkomponenten dargestellt werden (mit Vergleichsmöglichkeiten), für eine rasch erschließbare Erkennung von Ursache und Wirkung und zur Identifizierung eventueller Bottlenecks.
  • Die Bedienung der Monitoring- und Visualisierungssoftware selbst soll einfach möglich sein und dem Anwender flexibel Möglichkeiten zu Anpassungen und Erweiterungen bieten. Eine skalierfähige Basis soll die fortlaufende Entwicklung sicherstellen – mit ausreichend Gestaltungsspielraum für die Umsetzung individueller Anforderungen.
  • Neben der grafischen Visualisierung wird ein fein einstellbares Benachrichtigungssystem benötigt, das über unterschiedliche Kommunikationskanäle und in mehreren Eskalationsstufen über Störungen und Auffälligkeiten informiert.
  • Die zu realisierende Lösung soll nicht nur den eigenen Mitarbeitern zur Verfügung stehen, sondern auch Zugänge für Kunden ermöglichen, die in abgegrenzten Bereichen Einblick in ihre jeweiligen Systeme nehmen können.
  • Vereinfachte Übersichten
  • Selbsterklärende Darstellung
  • (Quasi) Echtzeitansichten
  • Chronologische Veranschaulichung
  • Einfache Navigation
  • Gruppierungsansichten
  • Vergleichsdarstellungen
  • Anpassbare Dashboards
  • Trend-Erkennung
  • Entwicklungsvorhersage
  • Mehrstufige Benachrichtigungen
  • Mandantenfähigkeit
  • Gastzugänge

Nach Evaluierung mehrerer kommerzieller und nicht-kommerzieller Lösungen entschieden wir uns für eine maßgeschneiderte Lösung mit frei verfügbarer Software, die alle benötigten Anforderungen umfasst.

Monitoring mit Zabbix

Die Basis für die Überwachung und Datenerfassung unserer IT Systeme leistet die Open Source Software Zabbix. Zabbix ist eine frei verfügbare Enterprise Monitoring Software mit großem Funktionsumfang. So bringt Zabbix von Haus aus bereits zahlreiche Schnittstellen zur Abfrage von Systeminformationen unterschiedlichster IT Systeme und IT Infrastruktur mit.

Quelle: Zabbix Logo
Quelle: Zabbix
Zabbix Datenbasis
Zabbix Datenbasis

Mittels individuell erstellbarer Templates lässt sich die Datenerfassung für nahezu jedes Gerät und jeden Anwendungsfall anpassen. Für die gängigen und wiederkehrenden Überwachungsaufgaben stehen zudem bereits vorgefertigte Checks zur Verfügung. 

 

Leistungsmerkmale von Zabbix

Zabbix speichert die erfassten Daten in einer SQL-Datenbank und legt diese als Zeitreihen ab. Um ein Ausufern der Datenmenge durch die ständig in großer Menge neu erfassten Informationen zu vermeiden, überführt Zabbix Detaildaten nach einiger Zeit in gröbere Trenddaten. So lässt sich die Datenbankgröße langfristig nahezu konstant halten. Da die zurückliegenden Informationen nicht einfach gelöscht werden, sind auch Langzeitauswertungen zur Trenderkennung und Statistiken möglich.

In Ergänzung zur Erfassung unterschiedlichster Daten beherrscht Zabbix auch deren Aufbereitung und Auswertung. So lassen sich mittels arithmetischer Operationen Datenwerte weiterverarbeiten und sog. Trigger erstellen, die automatisch ausgelöst werden, wenn in den Eingangsdaten festgelegte Muster oder Trends erkannt werden. Diese definiert der Anwender als Formeln in Zabbix, für die eine Vielzahl Funktionen und Kombinationsmöglichkeiten existieren. Ein direkt in Zabbix integriertes Benachrichtigungssystem komplettiert den Funktionsumfang und informiert Anwender, sobald Trigger Auffälligkeiten erkennen.
Die Bedienung von Zabbix erfolgt weitgehend über eine mächtige, in unterschiedliche Kategorien gegliederte Weboberfläche. Diese bietet auch Anwendern ohne tiefes Fachwissen die Möglichkeit Prüfungen anzupassen oder hinzuzufügen sowie neue IT Systeme in das Monitoring aufzunehmen.

Funktionsweise von Triggern und Benachrichtigungen
Funktionsweise von Triggern und Benachrichtigungen

Datenvisualisierung mit Grafana

In puncto Visualisierung bietet die Zabbix Weboberfläche zahlreiche Darstellungsformen, die sich gegenüber Konkurrenzprodukten nicht verstecken müssen. Für unsere hohen Ansprüche und konkreten Vorgaben greifen wir jedoch gleich auf die ebenfalls frei verfügbare Open Source Software Grafana zurück. Grafana versteht sich als Universalsoftware für Datenvisualisierung und -analyse mit zahlreichen Schnittstellen zu verschiedenen Datenbanksystemen und vielen unterschiedlichen Monitoring-Softwareprodukten.

Quelle: Grafana Logo
Quelle: Grafana
Dashboard-Bau mit Grafana
Dashboard-Bau mit Grafana

Die gut gepflegte Zabbix-Schnittstelle bietet weitgehenden Zugriff auf die erfassten Daten und Trigger unserer Monitoring-Software und ermöglicht komfortabel deren Darstellung im schicken Grafana Look-and-feel. Dashboards lassen sich mit Grafana mit wenigen Mausklicks erstellen. 

Der einfache Wechsel zwischen Editier- und Darstellungsmodus lädt Anwender auch zum Experimentieren und Erstellen eigener Dashboards ein. Neben den im Standardumfang enthaltenen grafischen Elementen (z.B. Text- und Zahlenfeldern, Punkt-, Linien-, Balken-, Tortendiagrammen, etc.) lassen sich zahlreiche Plugins von Drittanbietern in Grafana einbinden und nutzen, die teils sehr spezielle und raffinierte Darstellungen ermöglichen. Mit Dashboards für die unterschiedlichen Bereiche unserer IT-Landschaft werden so alle zuvor aufgestellten Kernanforderungen erfüllt.

Beispiele Grafana Dashboards

Unsere Grafana-Darstellung bietet in der Regel zu jedem Anwendungsbereich sehr einfach gehaltene Statusübersichten, die einen Überblick über alle enthaltenen Systeme geben. Die Anzeige besteht aus einer Kacheldarstellung, die in Ampelform den Systemzustand signalisiert: grün ⇒ alles in Ordnung, gelb ⇒ es gibt unbedeutende Auffälligkeiten oder Wartungsbedarf, rot ⇒ es besteht eine Störung oder ein Systemausfall. Die nebenstehende Abbildung zeigt den Systemüberblick einer virtuellen Serverlandschaft für Cloud- und Webhosting.

Schnell erfassbare Statusübersichten
Schnell erfassbare Statusübersichten

Die stark reduzierte Darstellung erlaubt es Supportmitarbeitern ohne tiefe Systemkenntnisse mit einem Blick Störungen zu erkennen (hier: den Ausfall eines E-Mail-Dienstes im rot gekennzeichneten System) und es liefert auch den Systembetreuern relevante Informationen, wie die Verfügbarkeit von Softwareupdates. Im nächsten Schritt lässt sich zu jedem System eine Detailansicht mit einer Vielzahl unterschiedlicher Informationen zum Betriebszustand und Nutzungsgrad des jeweiligen Servers abrufen, wie auszugsweise in den nachstehenden Abbildungen zu sehen ist.

Detailansicht eines Windows-Servers
Detailansicht eines Windows-Servers
Systemüberblick eines Linux-Webservers
Systemüberblick eines Linux-Webservers

Die Anzeige trägt Datenerfassungen aus verschiedensten Quellen zusammen und präsentiert diese anschaulich in aufbereiteter Form. Damit stehen dem Systembetreuer alle notwendigen Informationen für einen tiefgehenden und umfassenden Systemüberblick zur Verfügung. Wie bei Grafana üblich sind die Zeitleisten aller Diagramme untereinander synchronisiert und stellen das gleiche Zeitfenster dar. Per Mausklick können interessante Zeitausschnitte einfach ausgewählt und vergrößert werden (Zoom-In- bzw. Zoom-Out-Funktionalität). Dies ermöglicht eine sehr effiziente und rasche Analyse von Fehlersituationen, aus der sich insbesondere auch die Entwicklung nachvollziehen lässt, die zum Auftreten einer Störung führte.

Die beispielhafte Auswertung einer alltäglichen Situation zeigt die folgende, kommentierte Abbildung. Äußerlich auffällig präsentiert sich der Server durch eine hohe Prozessorauslastung und erhöhten Datenzufluss über die Netzwerkschnittstelle.

Einfache Erkennbarkeit von Zusammenhängen durch kombinierte Darstellungen
Einfache Erkennbarkeit von Zusammenhängen durch kombinierte Darstellungen

Die Erklärung liefert auch gleich das Diagramm links unten. Dieses zeigt zusätzlich eine Overlayausgabe mit Detailinformationen, die beim Überfahren mit der Maus für jeden dargestellten Zeitpunkt eingeblendet wird. Hier ist ersichtlich, dass die hohe Prozessorlast durch die 2 Prozesse mysqldump und gzip verursacht wurde. Im danebenstehenden Diagramm rechts unten ist außerdem zu erkennen, dass zeitgleich Daten über das Netzwerk vom Server abgerufen wurden. Mit diesen beiden Informationen kann ein geschulter Systemadministrator sofort erkennen, dass die Anfertigung einer Datenbanksicherung ursächlich für die Auslastung der Systemressourcen war.

In der Darstellungsform liegt das Rezept zum Erfolg

Die Aufbereitung und Zusammenführung erfasster Daten ist der entscheidende Erfolgsfaktor für aussagekräftige Dashboards. Dabei gilt es generell die Spreu vom Weizen zu trennen. Dem Anwender nützt es wenig, wenn er dutzende Messwerten aus dem riesigen Datenbestand bunt zusammengemischt und zusammenhanglos präsentiert bekommt. Dies erschwert evtl. sogar die Analyse der Daten, wenn der Nutzer dadurch abgelenkt und auf eine falsche Fährte geführt wird. Andersherum kann die Aufbereitung von Detaildaten zu Vergleichszwecken das Auffinden von Auffälligkeiten deutlich erleichtern. Die nebenstehende Abbildung zeigt den Auszug eines relativ einfach aufgebauten Dashboards, das je Diagramm nur die 5 Messreihen mit dem größten Wertebereich darstellt.

Dem Anwendungsfall liegt ein kleiner Virtualisierungscluster mit ca. 50 virtuellen Servern zu Grunde. In derartigen Umgebungen kommt es nicht selten vor, dass das gesamte System durch die übermäßige Ressourcennutzung einzelner virtueller Maschinen verlangsamt wird.

Konzentration auf das Wesentliche liefert schnelle Erkenntnisse
Konzentration auf das Wesentliche liefert schnelle Erkenntnisse

Dies führt dann zu einem trägen Verhalten, unter dem alle Nutzer zu leiden haben, und evtl. sogar die Verfügbarkeit essentieller Dienste nicht mehr gegeben ist. Mit Hilfe des dafür vorgesehenen Dashboards, kann der Systembetreuer sofort die virtuellen Server mit dem größten Ressourcenverbrauch hinsichtlich Prozessorleistung und Speicher-, Festplatten- und Netzwerknutzung identifizieren. Gerade in stressreichen Situationen mit einem hohen Beschwerdeaufkommen ermöglichen derartig aufbereitete Auswertungen einen routinierten und schnellen Weg aus der Krise.

Komplexer Sachverhalt anschaulich aufbereitet (Beispiel: Ceph-Storage)
Komplexer Sachverhalt anschaulich aufbereitet (Beispiel: Ceph-Storage)

Einen anderen, im Ansatz ähnlichen Anwendungsfall zeigt der Auszug des nebenstehenden Dashboards. Hier wird ein komplexes Storage-System (Ceph-Storage) anschaulich aufbereitet. Der Nutzer sieht auf einen Blick Informationen zur Datenintegrität, Kapazität und Belegung sowie deren Zusammensetzung und Nutzungsverhalten durch lesende und schreibende Zugriffe. Im Fall von Störungen lassen sich sofort die betroffenen Komponenten (Festplatten bzw. SSDs) erkennen. Liefert das Dashboard im abgebildeten oberen Teil einen schnellen Überblick über das Storage-System und dessen Zustand, folgen anschließend viele weitere Detailansichten zu den einzelnen Komponenten. So lässt sich das Betriebsverhalten genauestens analysieren und im Fall von Störungen Symptome zu ihren Auslösern rückverfolgen.

Erkenntnisgewinn durch Trend-Erkennung und Vorhersage

Ausfällen möglichst bereits durch proaktives Monitoring zuvorzukommen zeigt unser abschließendes Beispiel. Das Ziel einer vorausschauenden IT-Administration sollte es sein, das Alltagsgeschehen routiniert zu beherrschen und ihm möglichst ein paar Schritte voraus zu sein. Wer die gegenwärtigen Herausforderungen im Griff hat, kann sich die Zeit nehmen und weitblickend künftige Anforderungen angehen.

Die Systemüberwachung kann auch hier einen Teil beitragen, indem sie nicht nur Störungen erkennt sobald sie auftreten, sondern auch Veränderungen und Entwicklungen berücksichtigt, die zu künftigen Ausfällen führen können. Zum Erkennen derartiger Trends gehört allerdings Erfahrung, die meist im Lauf der Zeit erwächst. Aus den Problemen der Vergangenheit lernen, hilft diesen künftig vorzubeugen bzw. ihnen bereits vor ihrem nächsten Eintritt zuvorzukommen.

Im IT-Betrieb gelten beispielsweise Defekte an Hardware, wie z.B. Datenträger (Festplatten, SSDs), vielerorts als unvorhersehbare Ereignisse, die spontan und unerwartet eintreten. Diesen versucht man mit ausreichend Redundanz (in Form von Datenspiegelung und dem Vorhalten über den eigentlichen Bedarf hinausgehender Komponenten) zuvorzukommen. Allerdings treten durchaus nicht alle Defekte ohne Vorankündigung ein. Im Bereich von Datenträgern beispielsweise lassen sich kritische Veränderungen nicht selten bereits frühzeitig anhand von S.M.A.R.T. Parametern (Self-Monitoring, Analysis and Reporting Technology) erkennen. Die nebenstehende Abbildung zeigt dies exemplarisch anhand der sog. Reallocated Sectors – dies sind Festplattensektoren, die von der internen Logik als defekt erkannt wurden und nicht mehr genutzt werden.

Steigen diese wie beim rot hervorgehobenen Gerät an, ist dies ein Zeichen für einen sich anbahnenden Ausfall der Komponenten. Neben einigen weiteren S.M.A.R.T. Werten kann daneben auch schlicht das Alter oder die Betriebsstunden eines Datenträgers ein Indiz für eine erhöhte Ausfallwahrscheinlichkeit darstellen, wie in der weiteren Abbildung zu sehen.

Auffälligkeiten frühzeitig erkennen
Auffälligkeiten frühzeitig erkennen
Risiken rechtzeitig berücksichtigen
Risiken rechtzeitig berücksichtigen
Bedarfsgerechte Planung
Bedarfsgerechte Planung

Eine andere Form von Vorhersage zeigt schließlich noch die letzte Abbildung. Dieser Auszug eines Dashboards gibt Auskunft über den Zustand unterbrechungsfreier Stromversorgungen eines kleinen Rechenzentrums. Leistungsschwankungen auf Seite des Stromversorgers, aber auch selbstverursachte Überlastungen oder menschliche Fehler können schnell zu einem kurzzeitigen Ausfall der Stromversorgung führen. Damit solche Vorfälle nicht zu IT-Ausfällen mit zeitaufwändigen Wiederherstellungsmaßnahmen führen, sollten nicht nur Überbrückungsmaßnahmen in Form von USVs vorgehalten, sondern deren Betriebsverhalten auch kontinuierlich mitverfolgt werden. Im Beispiel zu sehen ist die Entwicklung während eines Stromausfalls mit abnehmenden Batteriekapazitäten und der verbleibenden Restzeit bis zur Abschaltung.

Vorausschauend eingesetzt, ermöglicht diese Darstellung eine bedarfsgerechte Planung und Beschaltung der unterbrechungsfreien Stromversorgungen.

Fazit

Leistungsstarkes Monitoring muss nicht teuer sein. Auf Basis der Open Source Software Zabbix und Grafana lassen sich vielseitige Lösungen für Überwachungsaufgaben und Datenvisualisierung erstellen. Insbesondere Grafana mit seinen ansprechenden und flexiblen Darstellungsmöglichkeiten sowie den zahlreichen Datenschnittstellen eignet sich hervorragend für Visualisierungsaufgaben, bei denen schnelle Ergebnis gefragt sind. Das durchdachte Bedienkonzept erlaubt es rasch und spielerisch Dashboards zu erstellen und dadurch flexibel Anforderungen umzusetzen sowie mit neuen Ideen zu wachsen.

Armin Krauß

Vorstand Armin Krauß

Über den Autor

Dipl. Informatiker Armin Krauß ist Gründer und Vorstand der K&K Software AG. Die Digitalisierung und Überwachung maschinennaher Prozesse gehört seit vielen Jahren zu seinen Fachgebieten.

Als leidenschaftlicher Freund von Open Source Software beschäftigt er sich viel mit Linux und quelloffenen Softwarelösungen.

4. Dezember 2019