Open Source Server Monitoring

Server- und Client-Überwachung mit Zabbix 1.4.2, Teil 2: Frontend

16.11.2007 von Jürgen Donauer
Sobald die Daemons auf Server und Client erst einmal laufen, können Sie Zabbix zum größten Teil bequem via Web-Frontend bedienen und verwalten. Dies ist der zweite Teil unserer Zabbix-Reihe.

Der erste Teil des Zabbix-Workshops behandelte die Installation von Zabbix auf Server und Client. Wir gehen in diesem Artikel davon aus, dass Sie die verschiedenen Zabbix-Module bereits auf den zu überwachenden Geräten und dem zentralen Server installiert haben.

Verlassen Sie die Kommandozeile vorerst und rufen das Frontend im Browser mit http://<zabbix-server>/zabbix/ auf. Loggen Sie sich als Benutzer admin ein. Sollten Sie das Passwort noch nicht geändert haben, bleibt es für das erste Mal einloggen leer. Dies sollten Sie selbstredend spätestens jetzt ändern. In der Administrationsmaske können Sie auch gleich die Sprache auf Deutsch umstellen, falls gewünscht. Die Sprache können Sie für jeden Anwender individuell umstellen.

Mehrsprachig: Zabbix unterstützt mittlerweile mehrere Sprachen. Dazu gehört auch Deutsch.

Die Schaltflächen Überwachung, Inventarisierung, Reports und Anmeldung sind für eigentlich jedermann erreichbar. Allerdings nicht mit allen Möglichkeiten, die sich unter diesen Links verbergen. Sobald Sie sich mit einem bestimmten Benutzer angemeldet haben, erweitern sich dessen Möglichkeiten der Administration und Konfiguration.

Konfigurations-Maske

Die Benutzerverwaltung liegt hinter Administration verborgen. Hier können Sie nun nach Lust und Laune neue Anwender hinzufügen. Zabbix unterscheidet drei Arten von Anwendern: Zabbix Benutzer, Zabbix Admin und Zabbix Super Admin. Je nach User-Typ haben die Anwender verschiedene Rechte. Außerdem können Sie hinterlegen, auf welche Weise der Anwender von eventuellen Ereignissen erfahren soll. Ebenso können Sie einstellen, welche Gewichtungen von Nachrichten der Anwender erhalten soll. Dies kann via E-Mail, SMS und/oder Jabber geschehen.

Umfangreich: Die Administrationsmaske der Benutzer ist komplex, dennoch übersichtlich.

Unter Konfiguration können Sie zunächst festlegen, wie lange das Monitoring-Tool Informationen in der Datenbank speichern soll. Standardmäßig liegen die Werte hier bei einem Jahr. Des Weiteren ist der Kartei-Reiter Elemente einen Blick wert. Hier haben die Entwickler bereits mehr als 20 sinnvolle Templates hinterlegt. Diese sind hilfreich und können bei der Einrichtung von zu überwachenden Systemen viel Zeit sparen. Ebenso haben die Programmierer mittlerweile eine Import-/Export-Funktion eingebaut.

Hinzufügen von Clients

Unter Systeme können Sie nun mit dem Hinzufügen von zu überwachenden Systemen beginnen. Auf diesen sollten am besten bereits ein Zabbix-Agent installiert und aktiv sein. Sie können die Clients entweder mit dem DNS-Namen oder der IP-Adresse ansprechen. Ebenso könnten Sie den Port ändern, falls Sie das auf dem Client umgestellt haben. Um Zeit zu sparen, haben Sie die Möglichkeit, den Client mit einer Vorlage zu verlinken. Meist ist in den Vorlagen wesentlich mehr enthalten, als Sie brauchen. Aber mit einem einfachen Klick können Sie die unbenutzten Anfragen deaktivieren.

Neuzugang: Mittlerweile können Sie genaue Details der Clients angeben.

Es ist durchaus auch sinnvoll, die Rechner gewissen Gruppen zuzuordnen. Gerade in größeren Umgebungen behält der Administrator so leichter den Überblick. Es kann ebenfalls nicht schaden, weitere System-Details anzugeben. Zum Beispiel können Sie hier das Betriebssystem, laufende Software und die MAC-Adresse hinterlegen.

Informativ: zabbix unterstützt mittlerweile auch Windows Vista.

Zu überwachende Elemente konfigurieren

Benutzen Sie die Templates, dürften Sie für die Überwachung von Standard-Servern eher Elemente deaktivieren müssen, statt neue hinzuzufügen. Das Linux-Template enthält zum Beispiel die Überwachung der Verzeichnisse /, /home, /opt, /tmp, /usr und /var. Um diese Verzeichnisse also zu überwachen, müssen Sie nicht weiter Hand anlegen. Liegen einige dieser Verzeichnisse nicht auf eigenen Partitionen, könnten Sie diese wieder deaktivieren. Ebenfalls wird die Prozessorlast, laufender SMTP-Server, freier Speicher und Swap, FTP-Server, Apache, Netzwerk-Verkehr und so weiter überwacht. Des Weiteren überprüft das System die Checksummen der Dateien /etc/passwd, /etc/services, /usr/bin/ssh und /usr/bin/sshd. Sollte sich an diesen Dateien etwas verändern, können Sie Zabbix Alarm schlagen lassen.

Das Windows-Template überwacht per Standard unter anderem die Laufwerke c: und d:, CPU-Auslastung, Speicher, Apache und Dateizugriffs-Geschwindigkeiten. Sollten Sie andere Dienste überwachen wollen, können Sie neue hinzufügen. In unserem Beispiel möchten wir die Verfügbarkeit des Samba-Dienstes überwachen lassen. Dazu muss man wissen, dass der Prozess hier smbd heißt. Dies kann von System zu System variieren. Aus der Dokumentation können wir entnehmen, dass man Prozesse mit dem Schlüssel proc.num zählt. Der zu überwachende Dienst wird in eckige Klammern geschrieben: proc.num[smbd] als Schlüssel zählt also, sofern aktiviert, ab sofort alle Samba-Prozesse auf dem Beispiel-Server. Es ist sinnvoll, die selbst definierten Elemente gewissen Applikationen zuzuweisen. Damit wird das Monitoring übersichtlicher.

Überwache Samba mit mir: So überwachen Sie auf einfache Weise, ob der Datei-Server läuft.

Konfiguration der Auslöser und der Aktionen

Ein Auslöser tritt dann in Kraft, wenn ein bestimmtes Ereignis eintritt. Er löst eine gewisse Aktion aus. Zum Beispiel realisiert der Zabbix-Server, dass die Samba-Prozesse auf null springen. Dies bedeutet, dass kein Prozess des Datei- und Druck-Servers mehr läuft. Er ist somit nicht mehr erreichbar und wahrscheinlich „down“.

Zabbix kann auf dieses Ereignis reagieren und löst eine vorkonfigurierte Aktion aus. Wie schon erwähnt kann dies via E-Mail, SMS und/oder Jabber erfolgen. Sollte die Zahl der Prozesse wieder eins oder höher sein, können Sie sich wiederum benachrichtigen lassen. Auch Auslöser können Sie in die Stati aktiv oder inaktiv setzen.

Der Ausdruck an sich steht in geschweiften Klammern. Hierin steht zuerst der zu überwachende Rechner, danach der Schlüssel und dann was überwacht werden soll. Für unser Beispiel sähe der Ausdruck eines neu erstellten Auslösers so aus: {IBM-Samba-Server:proc.num[smbd].last(0)}<1

Sie können den verschiedenen Auslösern unterschiedliche Prioritäten zuweisen. Im Falle eines Datei- und Druck-Server wäre es sicher ein Desaster, wenn die Samba-Prozesse nicht mehr laufen.

Was für ein Desaster: So richten Sie einen Auslöser für ein bestimmtes Ereignis ein.

Mit den Aktionen können Sie nun definieren, wie Zabbix mit einem ausgelösten Ereignis umgehen soll. Für unser Beispiel soll als Auslöserquelle „Auslöser“ dienen. Weiterhin sollen als Voraussetzungen gelten, dass der Auslöser „Samba down“ aktiviert wird und der Auslöserwert „WAHR“ ist. Dies alles soll die Software an den Benutzer Admin schicken.

Benachrichtige mich! Wird „Samba down“ mit dem Wert „Wahr“ ausgelöst, erhält der Admin eine E-Mail.

Im Nachrichtenfeld bietet es sich an, sprechende Texte zu verwenden. Es ist durchaus von Vorteil, wenn der Empfänger einer solchen Mail direkt weiß, was Sache ist.

Pläne, Graphen und Übersichtstafeln

Diese Schaltflächen erklären sich eigentlich von selbst. Diese Funktionen dienen der Visualisierung ihrer Netzwerk-Landschaft, Server-Dienste und so weiter. Graphen und Diagramme sagen oftmals mehr aus als weiße Buchstaben und Zahlen auf schwarzen Hintergründen.

Alles im Überblick: Mit Plänen lassen sich Probleme visualisieren.

Mit den Übersichtstafeln lassen sich wiederum genauere Analysen darstellen. Hier können Sie sich anzeigen lassen, was ihnen für die einzelnen Systeme wichtig erscheint. Das kann CPU-Auslastung sein, Netzwerk-Verkehr, benutzter Festplattenplatz und so weiter.

Wer es genau wissen will: Mit den Übersichtstafeln visualisiert der Zabbix-Server Trends.

Spielen Sie einfach ein bisschen mit diesen Funktionen herum. Was am Anfang etwas chaotisch erscheinen mag ergibt sehr schnell Sinn. Einmal begriffen ist die Konfiguration der Visualisierungs-Funktionen ein Kinderspiel.

Import- und Export-Funktion

Die Import- und Export-Funktion ist sinnvoll, wenn Sie zum Beispiel den Zabbix-Server ohne Datenverlust umziehen wollen. Sie könnten die konfigurierten Elemente Auslöser und Graphen natürlich auch manuell aus der Datenbank via Kommandozeile exportieren und auf einem anderen System einfügen. Das muss aber nicht sein. Mit wenigen Klicks haben Sie das komfortabel im Browser erledigt. Sie wählen bei einem Export lediglich die gewünschten Elemente aus und klicken auf Exportieren.

Datensicherung: Die Export-Funktion ist ganz brauchbar für ein Backup der manuellen Konfigurationen.

Der Export ist danach in Form einer XML-Datei verfügbar. Der Import erfolgt äquivalent auf dem neuen System. Schade ist, dass man nicht die komplette Datenbank exportieren beziehungsweise importieren kann. Wollen Sie auch die Datenbank umziehen und die gesammelten Werte beibehalten, müssen Sie das anders bewerkstelligen. Sie können die Datei natürlich auch als eine Art Datensicherung verwenden.

Eigene Elemente erstellen

Wie erwähnt können Sie den Zabbix-Agenten um eigene Elemente beliebig erweitern. Dies ist für Fälle gedacht, wenn Sie etwas überwachen wollen, das in Zabbix nicht enthalten ist. Prinzipiell gibt es zwei Regeln, die Sie einhalten müssen. Der Befehl muss auf der Kommandozeile ausführbar sein und einen einzelnen Wert zurückgeben. Ansonsten können Sie Ihrer Fantasie freien Lauf lassen. Der Eintrag für den Zabbix-Agenten-Dienst erfolgt in der Datei /etc/zabbix/zabbix_agentd.conf.

Einzelner Wert: Zabbix will einen eindeutigen Wert zur Verarbeitung haben.

In der Beispiel-Datei der Sourcen finden sich bereits einige auskommentierte Einträge. Diese zeigen, dass ein eigener Schlüssel immer mit UserParameter= beginnt. Danach vergeben Sie den Namen des Auslösers gefolgt von einem Komma. Dahinter befindet sich der Kommandozeilenbefehl. Das Ganze erklärt sich an einem Beispiel leichter.

UserParameter=internet.alive,ping -c1 -W3 www.tecchannel.de | grep packet | awk '{print $4}'

Der Name des Schlüssels ist internet.alive. Der Befehl nach dem Komma macht nichts anderes als einen einzelnen Ping zu www.tecchannel.de auszuführen. Danach gibt er entweder den Wert 1 oder 0 zurück. Diesen Schlüssel können Sie nun in den Elementen verwenden.

Eigenbau: So integrieren Sie den Schlüssel internet.alive in Ihre Elemente.

Neuerungen in Zabbix 1.4.x

Zabbix bringt in Version 1.4.x einige Neuerungen mit sich. Dazu gehört zum Beispiel Auto-Discovery. Dies soll das Einrichten von Zabbix-Clienten erleichtern. Die Funktion unterstützt IP-Ranges, Überprüfung auf laufende Dienste, Agenten und SNMP. Mit dem „WEB Monitoring“ können Sie die Verfügbarkeit und Performance von Webseiten und webbasierten Applikationen überwachen. Es unterstützt das Weitergeben von GET- und POST-Variablen. Des Weiteren können Sie verschiedene Browser-Varianten simulieren.

Welcher Browser? Zabbix stellt die gängigsten Browser-Varianten zur Verfügung.

Verwenden Sie die Monitoring-Software mit MySQL, passt ein Wachhund auf die Verfügbarkeit dieser auf. Für große Installationen ist das „Distributed Monitoring“ sicher von Interesse: Zabbix unterstützt eine unlimitierte Anzahl von so genannten Nodes. Diese können Sie alle bequem von einer zentralen Stelle konfigurieren. Mehr zu den neuen Funktionen finden Sie in der Dokumentation in Kapitel 2.

Dokumentation

Die Dokumentation von Zabbix ist vorbildlich. Sie ist übersichtlich, komplett und informativ. Der kleine Faux-Pas mit der Installation des Agenten unter Windows Vista ist zwar ärgerlich, schadet aber dem Gesamtbild des Pakets kaum. Wenn Sie die Komplexität von Zabbix voll überblicken möchten, werden Sie früher oder später einen Blick in die Dokumentation werfen und sich schnell zurechtfinden. Ein weiterer Pluspunkt sind die zahlreichen darin enthaltenen Beispiele. Wer mit der „Trial and Error“-Methode nicht mehr weiter kommt, hat mit der Dokumentation einen guten Berater an seiner Seite. Einen Blick sind ebenfalls die Kapitel 6 und 8 Wert. Dort finden Sie einen „Quick Start Guide“ und „Tutorials“. Leider gibt es diese derzeit nur in Englisch.

Fazit

Zabbix ist nach wie vor ein Vorzeige-Progamm der Open-Source-Szene. Es kann in allen Bereichen mit kommerziellen Produkten mithalten. Es hat sich seit Version 1.0 ständig deutlich verbessert und viele neue Funktionen mit sich gebracht. Die Komplexität nahm eindeutig zu. Der Übersichtlichkeit und guten Bedienbarkeit hat das allerdings wenig geschadet. Zabbix ist schon lange den Kinderschuhen entsprungen und bietet mittlerweile auch professionelle Unterstützung gegen Bezahlung an. Dies mag für die eine oder andere Firma wichtig sein. Mehr Informationen zu diesem Thema finden Sie hier.

Administratoren, die viele Systeme und Dienste zu überwachen haben sind mit Zabbix sehr gut beraten. Die Konfiguration von zu überwachenden Systemen ist dank zahlreicher Templates noch einfacher geworden. Hier können Sie Zeit sparen. Haben Sie dennoch Spezial-Anwendungen oder –Wünsche, können Sie das mittels eigen kreierter Schlüsselwerten realisieren. Zabbix ist nach wie vor eine uneingeschränkte Empfehlung, wenn es um Monitoring-Software geht. Version 1.4 bietet noch mehr Visualisierungs-Graphen, mit denen sich Trend leichter ausmachen lassen. Darüber hinaus ist es kostenlos und funktioniert. Außerdem ist die Unterstützung zahlreicher Plattformen ein weiterer dicker Pluspunkt. (jdo)