ubuntuusers.de

Du betrachtest eine alte Revision dieser Wikiseite.

Xymon

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Dieser Artikel ist mit keiner aktuell unterstützten Ubuntu-Version getestet! Bitte teste diesen Artikel für eine Ubuntu-Version, welche aktuell unterstützt wird. Dazu sind die Hinweise zum Testen von Artikeln zu beachten.

Artikel für fortgeschrittene Anwender

Dieser Artikel erfordert mehr Erfahrung im Umgang mit Linux und ist daher nur für fortgeschrittene Benutzer gedacht.

Wiki/Icons/service.png 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.

Hinweis:

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.

Installation

Xymon kann direkt aus den Paketquellen installiert werden. [1]

Server

  • xymon (Server)

  • hobbit-plugins (optional - Erweiterungen für Server und Client)

Befehl zum Installieren der Pakete:

sudo apt-get install xymon hobbit-plugins 

Oder mit apturl installieren, Link: apt://xymon,hobbit-plugins

Client

  • xymon-client (Client)

  • hobbit-plugins (optional - Erweiterungen für Client und Server)

Befehl zum Installieren der Pakete:

sudo apt-get install xymon-client hobbit-plugins 

Oder mit apturl installieren, Link: apt://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.

Funktionsweise

  • 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.

Konfiguration

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.

Server

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

Webserver

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

Befehl zum Installieren der Pakete:

sudo apt-get install apache2 

Oder mit apturl installieren, Link: apt://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.

Experten-Info:

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.

Konfigurationsanpassungen /etc/apache2/conf.d/hobbit

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/"

Client

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

hobbitclient.cfg

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.

Problembehandlung

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/.

/var/lib/hobbit/.aptitude - mkdir (13: Permission denied

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.

Erster Start (Apache) schlägt fehl

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 

Hobbit-Plugins: apt meldet "Packages not installed from apt repositories"

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 

Diese Revision wurde am 4. Mai 2017 09:53 von Heinrich_Schwietering erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Netzwerk, Server, System