Professionelles Monitoring mit Zabbix

Agenten im Einsatz

Jeder IT-Administrator weiß es: Perfekt funktionierende IT-Systeme gibt es nicht. Vielmehr muss man eine IT-Infrastruktur als einen komplexen Prozess betrachten, der vom Administrator begleitet werden sollte. Da das ab gewissen Größenordnungen nur noch mit Hilfe geeigneter Werkzeuge zu leisten ist, sind professionelle Lösungen willkommen. Das von Alexei Vladishev initiierte Zabbix-Projekt ist längst ein Klasse für sich.
Damit Sie als Admin stets über alle Parameter Ihrer IT Bescheid wissen, befasst sich IT-Administrator im Juni mit dem Schwerpunkt 'Monitoring'. Darin lesen Sie ... (mehr)

Typische IT-Infrastrukturen zeichnen sich durch ein hohes Maß an Heterogenität aus. Die Anforderungen an eine Monitoring-Umgebung sind daher vielfältig. Die Zustandsbeobachtung und hier insbesondere das End-to-End-Monitoring müssen so nah wie möglich auf Seiten der Endanwender die Funktionsfähigkeit von Services prüfen. Dazu gehört auch die Erfassung von Statusinformationen aller verwendeten Hard- und Software-Komponenten sowie der bereitgestellten Services. Die Langzeitspeicherung von Verfügbarkeitsdaten hilft dabei, Trends zu ermitteln.

Eingriffe in die IT-Infrastrukturen und hier insbesondere Reaktionen auf Alarme verlangen eine detaillierte Ursachenanalyse. Hierzu sollte die Monitoring-Umgebung entsprechende Informationen gesammelt haben. Die Performance von Einzelsystemen sollte die Monitoring-Umgebung genauso erfassen wie die Ermittlung von Grenzwerten, Flaschenhälsen, überlasteten Komponenten und möglichen Implementierungsfehlern.

Zu den Grundfunktionen gehört auch das Monitoring von standardisierten und von abweichenden Konfigurationen. In der Praxis findet allerdings gerade dieser Punkt zu wenig Beachtung. Die Verwendung von Standardkonfigurationen ist von grundlegender Bedeutung für die Stabilität von Systemen. Änderungen an diesen Voreinstellungen sind häufig für Probleme ursächlich. Eine praxistaugliche Umgebung muss daher nicht nur die kritischen Komponenten und Services, sondern auch deren Konfigurationen im Auge behalten und bei unvorhergesehenen Ereignissen Alarm schlagen können.

Vielseitiges Zabbix

Netzwerkmonitoring-Umgebungen gibt es inzwischen zuhauf, doch nur die wenigsten bieten eine mit Zabbix [1] vergleichbare Funktionalität. Zabbix überwacht die sichtbaren Applikationen wie Webserver, Groupware oder Content-Managementsystem genauso wie die darunterliegenden Schichten wie die Hard- und Software, Betriebssysteme und Netzwerkinfrastrukturkomponenten.

Zabbix ist in der Lage, Ressourcenengpässe frühzeitig zu erkennen, noch bevor sie sich negativ auf die Produktivität der Umgebung auswirken. Das Open-Source-Werkzeug kann ein einheitliches Setup gewährleisten und erkennen, wenn beispielsweise bei Neuinstallationen die vereinbarten Konventionen verwendet werden. Die Arbeit des IT-Administrators vereinfacht Zabbix durch das automatische Erstellen von To-do-Listen, denen Sie entnehmen können, welche Modifikationen vorzunehmen sind.

Da die Alarmierung zielgerichtet erfolgt, werden Sie bei der Alarmausgabe lediglich mit relevanten Daten versorgt. Sie wissen also immer direkt, an welchen Stellschrauben Sie bei der Fehlerbehebung ansetzen müssen. Die Alarmierung kann auf allen gängigen Kommunikationswegen erfolgen, insbesondere per E-Mail und SMS. Die Zabbix-Entwickler bezeichnen die Umgebung als "Enterprise Class Open Source Distributed Monitoring Solution". Sie ist für den professionellen Einsatz in geschäftskritischen Bereichen konzipiert und kann laut Angaben der Entwickler problemlos mehrere Tausend Netzwerkknoten überwachen.

Zabbix ist prinzipiell für den Einsatz in mittleren bis großen Netzwerken geeignet und kann mehrere Tausend bis Zehntausend Hosts im Auge behalten. Es soll auch Implementierungen mit mehreren Hunderttausend Messpunkten geben. Die Grenze des Möglichen wird primär durch die verwendete MySQL-Datenbank gesetzt. Ansonsten fällt die Kritik an Zabbix spärlich aus. In Foren wird gelegentlich die Berichterstellung und die Berichtkonfiguration kritisiert. Allerdings werden die meisten Administratoren angesichts der umfassenden Funktionalität damit leben können.

Im Zentrum: die SQL-Datenbank

Das Herzstück ist der Zabbix-Server, der eine SQL-Datenbank für die Datenspeicherung und das Zabbix-Frontend für die Konfiguration und die Visualisierung der Daten verwendet.

Das Sammeln relevanter Informationen wird über Messgrößen gesteuert, die sogenannten Items. Jedes Item besitzt einen Messgrößenwert, den "Item Value", der bestimmt, welche Informationen ermittelt werden sollen. Diese Werte können die verschiedensten Daten in den unterschiedlichsten Formaten sein. Es kann sich um Zeitangaben (Timestamps), Textinformationen wie Logfiles oder auch um Zahlenwerte wie Prozentzahlen (Speicherbelegung) oder Fließkommazahlen (CPU-Verbrauch) handeln. Zabbix speichert diese Items in chronologischer Folge in einer SQL-Datenbank, vorzugsweise in MySQL.

Die Daten, die der Zabbix-Server sammelt, stammen aus verschiedenen Quellen, insbesondere aus den folgenden:

 - Zabbix-Agent: Auf den Zielsystemen können Agents installiert werden, die Zugriff auf die Daten des verwendeten Betriebssystems haben. Zabbix-Agents sind insbesondere für Linux-Derivate und Windows verfügbar.

- SNMP: Der Zabbix-Server kann als SNMP-Manager agieren und die Daten von SNMP-Agents verarbeiten.

- IPMI-Agent: Zabbix kann die Daten von IPMI-Daemonen verarbeiten, die von Hardware-Herstellern über Remote-Management-Konsolen bereitgestellt werden.

- Zabbix-Aggregate: Die Umgebung kann die Daten aus mehreren Quellen konsolidieren.

- Zabbix-Trapper: Hierbei handelt es sich um Daten, die vom Client an den Server geschickt werden.

- Zabbix-Interna: Das System kann interne Zabbix-Server-Daten auswerten.

Zabbix kann außerdem Daten von einfachen Skripts wie Ping oder Portscans verwenden und Skripts auf dem Server ausführen sowie deren Rückgabewerte einlesen und aufbereiten. Außerdem ist die Ausführung von SSH und Telnet möglich. Auch hier werden die Rückgabewerte als Messwert in der Datenbank gespeichert. Zabbix beherrscht auch Datenbankabfragen und kann auch diese Rückgabewerte im System verarbeiten.

Wichtig zum Verständnis ist, dass Zabbix die Items immer mit einem Host verknüpft, wobei ein Host durch seine IP-Adresse oder einen DNS-Namen repräsentiert wird. Dabei kann ein Item immer nur einem Host zugeordnet werden. Aus diesem Prinzip leitet sich automatisch die Vorgehensweise bei der Zabbix-Konfiguration ab: Zunächst muss immer ein Host angelegt und dann die Items definiert werden.

Ein weiteres wichtiges Element der Zabbix-Umgebung sind die Trigger. Sie dienen der Weiterverarbeitung der Daten. Konkret bestimmen Sie damit Schwellenwerte. Je nach Trigger-Konfiguration wird beim Über- beziehungsweise Unterschreiten eines bestimmten Wertes eine Aktion ausgelöst. Für die Trigger-Konfiguration können Sie reguläre Ausdrücke, mathematische Funktionen und logische Operatoren verwenden.

Nach der Auswertung eines Item Values wird dem Trigger der Status "TRUE" oder "FALSE" zugewiesen. Der Status bestimmt dann die Verarbeitung. Trigger werden gerne mit Alarmierungen verwechselt. Trigger sind (wie der Name schon sagt) Auslöser für Folgeaktionen. Mit den Aktionen kann beispielsweise die Alarmausgabe konfiguriert werden.

comments powered by Disqus

Artikel der Woche

Eigene Registry für Docker-Images

Wer selber Docker-Images herstellt, braucht auch eine eigene Registry. Diese gibt es ebenfalls als Docker-Image, aber nur mit eingeschränkter Funktionalität. Mit einem Auth-Server wird daraus ein brauchbares Repository für Images. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Google+

Ausgabe /2019