Ubuntu 12.04 Precise Pangolin
Dieser Artikel erfordert mehr Erfahrung im Umgang mit Linux und ist daher nur für fortgeschrittene Benutzer gedacht.
Der System-Monitoring-Dienst Xymon ist das Open-Source-Pedant zu Big Brother. Aus dem ursprünglichen "bbgen toolkit" ist die Standalone-Version Hobbit hervorgegangen, doch da dieser Begriff schon als Markenzeichen registriert war, ist der finale Name Xymon entstanden. Diese historische Entwicklung spiegelt sich in den Datei- und Ordnernamen, Konfigurationsdateien, usw. wider.
Die Version 5 befindet sich derzeit in Entwicklung und wird Unterstützung für IPv6 mitbringen. Wer immer noch keine Ahnung hat, worum es eigentlich geht, schaut sich die Online-Demo an.
Ab Ubuntu 12.10 wurden nahezu alle Dateien, Pfade und Befehle im System, sowie das Nutzerkonto, unter welchem die Dienste laufen, von hobbit auf xymon umbenannt.
Xymon kann direkt aus den Paketquellen installiert werden. [1]
xymon (Server)
hobbit-plugins (optional - Erweiterungen für Server und Client)
mit apturl
Paketliste zum Kopieren:
sudo apt-get install xymon hobbit-plugins
sudo aptitude install xymon hobbit-plugins
xymon-client (Client)
hobbit-plugins (optional - Erweiterungen für Client und Server)
mit apturl
Paketliste zum Kopieren:
sudo apt-get install xymon-client hobbit-plugins
sudo aptitude install xymon-client hobbit-plugins
Der Xymon-Server wird automatisch gestartet und kann wie jeder andere Dienst über das Init-Skript /etc/init.d/hobbit gesteuert werden. Installiert man den Server-Dienst, so wird auch automatisch der Client installiert, um den Xymon-Server selbst zu überwachen. Die Hobbit-Plugins stellen weitere Tests bereit, wie zum Beispiel eine "apt"-Abfrage, um die Aktualität des Systems anzuzeigen.
Client übermittelt eigenständig Daten (z.B. CPU-Last, RAM- und Festplattenbelegung, Logfiles)
Server fragt eigenständig Daten ab (z.B. Ping, Dienste auf TCP-Ports, HTTP-Anfragen)
Server verarbeitet gesammelte Daten und speichert diese unter /var/lib/hobbit als Dateien ab
/var/lib/hobbit/hist enthält Dateien der Form <hostname>.<testname>
:
Enthält die Farben der Statusänderungen in der Form: <Datum> <Farbe> <Beginn (unix timestamp)> <Dauer (in Sek.)>
/var/lib/hobbit/histlog enthält Dateien in der Form <Hostname>/<Testname>/<Datum der Statusänderung>
Enthält die volle Meldung des Tests zum entsprechenden Zeitpunkt
Xymon arbeitet nicht in Echtzeit! Änderungen am Status eines Systems werden erst nach dem Überschreiten interner Bearbeitungszyklen angezeigt. In den meisten Fällen entspricht das einer Verzögerung von fünf bis zehn Minuten.
Standardmäßig werden alle von Xymon benötigten Dateien nach /usr/lib/hobbit installiert. Um Xymon an die ubuntutypischen Spezifika anzupassen, wurden verschiedene Ordner mittels Symlinks "umgebogen". Aus diesem Grund befinden sich alle Konfigurationsdateien unter /etc/hobbit. Zu beachten ist, dass in diesem Verzeichnis nun sowohl Server- als auch Client-Konfigurationsdateien gemischt sind.
Tests, die von außen an einem überwachten System ausgeführt werden können, wie z.B. ob eine Webseite verfügbar ist oder ein anderer Dienst erreichbar ist, sollten serverseitig konfiguriert und ausgeführt werden.
Der Xymon-Server wird über folgende Dateien und Verzeichnisse konfiguriert:
Konfigurationsdatei | Beschreibung |
bb-hosts | Hauptkonfigurationsdatei |
bb-services | Definitionen der Test für einen TCP basierenden Dienst |
client-local.cfg | legt fest, welche Dienste auf dem Client überwacht werden. Diese Datei wird vom Server als Antwort auf die vom Client gesendeten Daten geschickt, um die Konfiguration für den nächsten Überwachungszyklus mitzuteilen. (Auch hier ist zu bedenken, dass Xymon kein Echtzeit-System ist. Im ungünstigsten Fall dauert eine Änderung der Anzeige nach einer Konfigurationsänderung 15 Minuten: Der Client übermittelt alle fünf Minuten seine Daten und empfängt die neue Konfiguration, nach weiteren fünf Minuten übermittelt der Client die neuen Daten und nach weiteren fünf Minuten zeigt die Weboberfläche die Ergebnisse der geänderten Konfiguration.) |
hobbit-clients.cfg | Serverseitige Interpretation der Daten, die vom Xymon-Client geliefert werden. |
hobbitlaunch.cfg | In dieser Datei werden die Module des Xymon-Servers konfiguriert |
hobbit-alerts.cfg | Steuerung der Alarmbenachrichtigung |
hobbitcgi.cfg | Konfiguration der Kommandozeilenoptionen, die an CGI-Tools übergeben werden. |
hobbitgraph.cfg | hobbitgrapf.cgi nutzt diese Datei, um die Graphen aus den Dateien zu generieren. |
hobbit-nkview.cfg | hobbit-nkview.cgi nutzt diese Datei um zu entscheiden, ob ein Status gelb oder rot wird und ob es unter den "Critical Systems" aufgeführt wird. |
hobbitserver.cfg | Definition der Umgebung(svariablen) auf dem Server |
Um die Xymon-Webseite aufrufen zu können, muss ein Webserver auf dem Xymon-Host installiert und konfiguriert sein. Dafür empfiehlt sich z.B. der Webserver Apache.
apache2
mit apturl
Paketliste zum Kopieren:
sudo apt-get install apache2
sudo aptitude install apache2
Das Xymon-Paket aus den Paketquellen enthält eine Beispielkonfiguration für den Webserver Apache. Diese findet man unter /etc/apache2/conf.d/hobbit. Diese Konfiguration wird automatisch geladen und ermöglicht den Zugriff auf die Xymon-Webseite ohne weiteres Eingreifen.
Es kann durchaus sinnvoll sein, die vorgegebene Konfigurationsdatei des Apache zu verschieben, um die Seite z.B. als virtuellen Host bereitzustellen. Mit Hilfe dieser Befehlskette führt man diese Veränderung durch:
sudo mv /etc/apache2/conf.d/hobbit /etc/apache2/sites-available/ sudo a2ensite hobbit sudo service apache reload
Nun kann man im Browser die Xymon-Webseite mit http://localhost/xymon/
aufrufen.
Um den Zugriff auf die Xymon-Webseite nicht nur vom Server selbst, sondern auch von anderen Systemen bzw. Clients zuzulassen, muss unter hinter allen Allow From
-Einträgen die entsprechende IP-Adresse bzw. das entsprechende Subnetz (in CIDR-Schreibweise) eingetragen werden. Die geänderte Konfiguration aktiviert man mit:
sudo service apache reload
Wenn es stört, dass man die Webseite mit einem beendenden "/" aufrufen muss (http://localhost/xymon/
statt http://localhost/xymon
), so entfernt man in der Virtualhost-Datei hinter Alias /xymon/ den Schrägstrich. Die fertige Zeile sieht dann so aus:
1 | Alias /xymon "/var/lib/xymon/www/" |
Im Gegensatz zur Serverkonfiguration kann natürlich auch der Client direkt konfiguriert werden. Auch weitere Tests, die vom Xymon-Client direkt auf dem System ausgeführt werden, können auf diesem Weg eingepflegt werden.
Der Xymon-Client wird über folgende Dateien konfiguriert:
Konfigurationsdatei | Beschreibung |
clientlaunch.cfg | Enthält eine Liste der Aufgaben, die beim Start des Clients ausgeführt werden. |
hobbitclient.cfg | Definition der Umgebung[svariablen] auf dem Client |
localclient.cfg | Die lokale Variante der hobbit-clients.cfg, Interpretationskonfiguration der RAW-Daten |
Diese Datei enthält die grundlegende Standardkonfiguration des Xymon-Client. Um systemspezifische Einstellungen vorzunehmen, sollte die hier "inkludierte" Datei /etc/default/hobbit-client angepasst werden. Hierin wird der Xymon-Server und der Hostname des Clients angegeben.
Um Problemen auf den Grund zu gehen sollten in erster Linie die Log-Dateien betrachtet werden. Diese schreibt sowohl der Server als auch der Client in das Verzeichnis /var/log/hobbit/.
Diese Fehlermeldung kann man u.U. in /var/log/hobbit/hobbitclient.log finden. Läuft der Client unter einem dedizierten Nutzer (Standard) und sind die hobbit-plugins installiert, so legt der Aptitude-Test unter /var/lib/hobbit/ ein Verzeichnis .aptitude an. Standardmäßig fehlen aber dem Hobbit-Dienstkonto die Rechte in diesem Verzeichnis, um den Ordner anlegen zu können. Dagegen hilft:
sudo chown hobbit:hobbit /var/lib/hobbit
Der Nutzer hobbit (Standard) muss hierbei durch das entsprechende Dienstkonto ersetzt werden.
Folgende Fehlermeldung tritt beim ersten Start (sudo service apache2 start
) von Apache auf:
Starting web server apache2
Syntax error on line 60 of /etc/apache2/conf.d/xymon:
Invalid command 'RewriteEngine', perhaps misspelled or defined by a module not included in the server configuration
Action 'start' failed.
The Apache error log may have more information.
Die in der zu Xymon gehörenden Virtualhost-Datei angeforderte RewriteEngine
ist ein Modul des Webservers Apache. Dieses Modul kann mit folgendem Befehl geladen werden:
sudo a2enmod rewrite
Anschließend sollte sich der Webserver starten lassen:
sudo service apache2 start
Dieses Verhalten ist normal für Pakete, die z.B. mit dpkg -i /path/to/package.deb
installiert wurden. Werden unter dieser Warnung Pakete gelistet, die definitiv nicht händisch installiert wurden, so helfen folgende Schritte (hier am Beispiel von libwbclient0):
Zuerst alle verfügbaren Versionen auflisten:
sudo apt-cache policy libwbclient0
libwbclient0: Installiert: 2:3.4.7~dfsg-1ubuntu3.11 Kandidat: 2:3.4.7~dfsg-1ubuntu3.11 Versions-Tabelle: *** 2:3.4.7~dfsg-1ubuntu3.11 0 100 /var/lib/dpkg/status 2:3.4.7~dfsg-1ubuntu3.10 0 500 http://archive.ubuntu.com/ubuntu/ lucid-updates/main Packages 500 http://archive.ubuntu.com/ubuntu/ lucid-security/main Packages 2:3.4.7~dfsg-1ubuntu3 0 500 http://archive.ubuntu.com/ubuntu/ lucid/main Packages'''
Hier sieht man, dass die aktuell installierte Version 2:3.4.7~dfsg-1ubuntu3.11
nur lokal unter /var/lib/dpkg/status
referenziert wird. Als Lösung für dieses Problem hilft ein Downgrade auf die Version, die auch in den Paketquellen verfügbar ist:
sudo apt-get install libwbclient0=2:3.4.7~dfsg-1ubuntu3.10
Führt man anschließend erneut den apt-cache
-Befehl aus, so wird die installierte Version auch im entsprechenden Repository gelistet:
apt-cache policy libwbclient0
libwbclient0: Installiert: 2:3.4.7~dfsg-1ubuntu3.10 Kandidat: 2:3.4.7~dfsg-1ubuntu3.10 Versions-Tabelle: *** 2:3.4.7~dfsg-1ubuntu3.10 0 500 http://archive.ubuntu.com/ubuntu/ lucid-updates/main Packages 500 http://archive.ubuntu.com/ubuntu/ lucid-security/main Packages 100 /var/lib/dpkg/status 2:3.4.7~dfsg-1ubuntu3 0 500 http://archive.ubuntu.com/ubuntu/ lucid/main Packages
Projektseite auf SourceForge
System Monitoring with Xymon - Dokumentation bei Wikibooks.org
Netzwerk-Monitoring Programmübersicht
Diese Revision wurde am 8. März 2017 13:13 von noisefloor erstellt.