Open Source im professionellen Einsatz
Linux-Magazin 05/2014
© Roxana Gonzalez, 123RF

© Roxana Gonzalez, 123RF

Monitoring mit Xymon

Offener Oldtimer

,

Unter dem Kürzel Bbgen kennen manch altgediente Unix-Freaks noch ein Big-Brother-Addon, dem 2002 der Xymon-Vorgänger namens Hobbit entsprang. Erst seit 2009 firmiert es unter seinem heutigen Namen. Obwohl ein echter Oldtimer, hat das Tool den Admins viel zu bieten.

948

Autofans wissen: Alt muss kein Synonym für hässlich oder gar Schrott sein. Das Agent-basierte Monitoring-System Xymon Systems and Network Monitor ([1], unter GPLv2) stammt teilweise aus dem vorigen Jahrtausend [2], bringt aber mit zentraler Konfiguration, flexiblen Netzwerktests und hervorragenden Erweiterungsmöglichkeiten viele Features. Und es weiß mit schneller Installation und kurzer Einarbeitungszeit zu glänzen. Dieser Artikel führt durch die Installation und Konfiguration eines Xymon-Servers für die Überwachung des Testaufbaus aus fünf Servern. Das sollte selten mehr als etwa 30 Minuten erfordern.

Gleich bei der Gruppe der Netzwerktests zeigt sich die angenehme Seite von Xymon: Admins benötigen keine weitere Konfiguration auf den zu testenden Systemen, sondern brauchen sich nur um die Agenten oder Netzwerktests zu kümmern: 27 Agenten für SMTP, Cups, Samba, FTP, HTTP, IMAP und SSH bringt das Tool bereits mit, wobei die Skripte meist deutlich bessere und realistischere Ergebnisse liefern als etwa Bash-Skripte oder Kommandos wie Netstat. Die Daten der CPU-, RAM-, Festplatten- und Netzwerkauslastung sammelt der lokale Monitoring-Agent namens »xymon-client« . Für SNMP-Tests, Mail-Queues und andere lokale Abfragen stehen passende Erweiterungen parat.

Wer eine größere Menge von Gästen überwachen will, aber nur die wichtigsten Informationen aus diesen benötigt, beispielsweise CPU, RAM und Netzwerkauslastung, möchte vielleicht auch ganz auf den oder die Agenten in den virtuellen Maschinen verzichten und sich die Daten direkt aus den Tools des Hypervisors liefern lassen, etwa von der Libvirt. Obwohl das bei vielen Monitoring-Lösungen zum Standard gehört, scheint derlei bei Xymon nicht möglich, auch wenn Entwickler wohl schon länger daran arbeiten [3].

Installation

Weil die Version 4.3.0, Beta 2, aus den Ubuntu-Repositories bereits aus dem Jahr 2009 stammt, ist sie für den Server nicht mehr zu empfehlen, Admins sollten die neuere Version von der Projektseite (4.3.17) installieren. Nach dem Download, etwa mit Wget, fehlen noch ein paar Abhängigkeiten:

apt-get install libldap-2.4 libpcre3 librrd4 libssl1.0.0 fping libc-ares2

Schon steht der Installation selbst mit Dpkg nichts mehr im Weg. Auch auf dem Xymon-Server muss der Admin dabei den Xymon-Client installieren – schließlich will er auch den Server überwachen.

Die Konfigurationsdateien von Xymon liegen bei Debian/Ubuntu unter »/etc/xymon/« , in »hosts.cfg« trägt der Admin alle zu überwachenden Hosts und Netzwerk-Services in einem »/etc/hosts« -ähnlichen Format ein, wobei die Reihenfolge in jeder Zeile lautet: »IP Hostname # Checks« . Alles nach dem »#« interpretiert Xymon als Check oder Server-seitige Erweiterung. Hier sind alle Hosts einzutragen und die Checks – getrennt durch Leerzeichen – aufzulisten (Listing 1).

Listing 1

hosts.cfg

01 192.168.178.100 xymon.local         # bbd http://xymon.local/ ssh
02 group-compress  kvm-host
03 192.168.178.30  kvmhost.local       # ssh
04 group-compress  kvm-guests
05 192.168.178.101 lamp.local          # ssh http://192.168.178.101/ cont=h_php;http://192.168.178.101/phpinfo.php;"register_globals.*Off" mysql
06 192.168.178.102 samba.local         # ssh netbios-ssn dns
07 192.168.178.103 mail.local          # ssh smtp imap imaps
08 192.168.178.104 print.local         # ssh httpstatus=cups;http://192.168.178.104:631/printers;200
09 192.168.178.105 ftp.local           # ssh ftp

Die »group-compress« -Direktiven in den Zeilen 2 und 4 strukturieren die Darstellung fürs Webinterface. Achtung: Der in »hosts.cfg« konfigurierte Hostname muss mit dem auf Client-Seite eingetragenen »CLIENTHOSTNAME« aus dessen »/etc/defaults/xymon-client« (früher »hobbit-client« ) übereinstimmen, da Xymon die Statusmeldungen über den Hostnamen zuordnet. Stimmen die Namen nicht überein, tauchen diese Maschinen im Webinterface unter »Ghost Clients« auf.

Dokumentation

Mehr Details bietet die Xymon-Manpage mit »man hosts.cfg(5)« , die ausführliche Informationen zu allen Standardtests bietet. Für das beschriebene Setup gibt es einige Details zu beachten, die dem Admin das Leben einfacher machen oder langes Suchen vermeiden. So bindet sich die Default-Installation von MySQL ja nur an das Loopback-Interface. Das heißt, die Datenbank ist nicht über das Netzwerk erreichbar. In der Konfiguration aus Listing 1 überwacht Xymon die Datenbank mit einem lokalen Test, wobei der Xymon-Client auf »lamp.local« installiert ist und eine Extension wie beispielsweise Hobbit-perl-cl verwendet. Wer MySQL aus dem Netz überwachen kann, der konfiguriert mit

echo -e '[mysql]\n\tport3306\n` >> /etc/xymon/protocols.cfg

den MySQL-Test in »host.cfg« mit einem Eintrag in »protocols.cfg« .

Auch der Cupsd-Check (Zeile 8) ist in »protocols.cfg« definiert. Bisweilen kommt der nicht mit dem TLS-Upgrade zurecht, deshalb ist er in Listing 1 über einen HTTP-Check realisiert. Dabei prüft der so genannte Http-Status-Check, ob eine Webseite Inhalte liefert, ob das PHP-Modul arbeitet und ob »register_globals« korrekt auf »Off« konfiguriert ist. Netzwerktests lassen sich schablonenartig ableiten von den Beispielen für IMAP, IMAPS, SSH und FTP.

Bei Änderungen liest Xymon die Konfigurationsdateien, mit Ausnahme von »xymonserver.cfg« , automatisch neu ein – wobei es nur alle zehn Minuten checkt. »killall -HUP xymond« veranlasst den Server, das sofort zu erledigen.

Das Webinterface von Xymon besteht aus minütlich generierten HTML-Dateien und CGI-Skripten. Für Apache bringt es die notwendigen Alias- und Skript-Alias-Direktiven mit (»/etc/apache2/conf.d/xymon« ), für die Rewrite-Rules muss der Admin nur dafür sorgen, dass das Rewrite-Modul von Apache aktiviert ist, dann steht das GUI etwa unter »http://xymon.local/xymon« bereit.

In der Standardkonfiguration bringt Xymon auch sinnvolle Schwellenwertdefinitionen mit (in »analysis.cfg« ), etwa für die Warnungen bei zu wenig freiem Speicher auf Festplatten. Die Konfiguration der Benachrichtigungen erfolgt in »alerts.cfg« . Die schnellste und einfachste Konfiguration für E-Mail-Benachrichtigungen umfasst die Zeilen

HOST=*
    MAIL root@localhost

und schickt bei allen Problemen eine E-Mail an einen Empfänger. Das Webinterface (Abbildungen 1 und 2) erlaubt es dem Admin, unter »Reports | Notification Report« eine Liste der verschickten Benachrichtigungen abzufragen.

Abbildung 1: Keine Probleme meldet das Webinterface unter Views.
Abbildung 2: Die Trends-Spalte zeigt alle in xymonserver.cfg definierten Trendgraphen auf einen Blick.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 2 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Linux-Magazin kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Großer Bruder

    Wer Problemen seiner Server frühzeitig auf die Spur kommt, verhindert kostspielige Ausfälle. Das Überwachungs-Framework Big Brother hilft dabei.

  • Tooltipps
  • Monitoring-Tool Panoptes twittert

    Panoptes, eine freie Monitoring-Software für Hosts und Netzwerke, ist in Version 1.6 mit neuen Features erhältlich.

  • Veeam Monitor 5.0 zeigt sich informativ

    Die neue Version des Veeam Monitor bietet IT-Administratoren Lösungsvorschläge zu Alerts und verbesserte Skalierbarkeit.

  • Check_mk

    Check_mk hat zurzeit Rückenwind: Es gilt nicht mehr als schnödes Nagios-Plugin und seine Oberfläche Multisite lässt die Konkurrenz alt aussehen. Doch wird Check_mk diesem Ruf in der Praxis gerecht?

comments powered by Disqus

Stellenmarkt

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.