Maintenance
Mix server monitoring using Nagios
There is a Nagios plugin available to monitor a mix server. It is using the monitoring interface provided by the mix server itself and has to be activated in the mix server first. During the installation of the mix software the option "--enable-server_monitoring" has to be added and in der Mix-Server_Konfiguration ist im Step 2 die Monitoring-Schnittstelle (Netzwerk Interface und Port) zu konfigurieren.
Das Nagios-Plugin findet man in den Sourcen des Mix im Unterverzeichnis misc/nagios oder es kann hier herunter geladen werden check-mix-server. Das Script ist im Nagios Plugin Verzeichnis zu speichern und die Berechtigungen sind als ausführbar zu setzen.
Das Script check-mix-server ist in Perl geschrieben. Es nutzt die Perl-Module Nagios::Plugin und XML::Simple. Diese Module sind zusätzlich zu installieren. Man kann die von der Distribution zur Verfügung gestellten Module nutzen und mit dem Paketmanager installieren. Für Debian/Ubuntu tut aptitude alles nötige:
> sudo aptitude install libxml-simple-perl libnagios-plugin-perl
Alternativ kann man die Perl-Module aus dem CPAN installieren:
> sudo perl -MCPAN -e shell
...
cpan> install XML::Simple
cpan> install Nagios::Plugin
cpan> quit
Usage
Der Aufruf des Plugin check-mix-server erfüllt die Anforderungen der Guidelines für Nagios-Plugins. Informationen zu den Aufruf-Parametern erhlält man mit den Optionen --help oder in Kurzform mit --usage.
> check-mix-server -?
Usage: check-mix-server -H|--hostname <host> [-p|--port <port>] [ -v|--verbose ] [-t <timeout>]
.
-?, --usage
Print usage information
-h, --help
Print detailed help screen
-V, --version
Print version information
--extra-opts=[section][@file]
Read options from an ini file. See http://nagiosplugins.org/extra-opts for usage
-H, --hostname=HOST
Hostname or IP address of the mix server (required)
-p, --port=INTEGER
Monitoring port of your mix server (default: 8080)
-t, --timeout=INTEGER
Seconds before plugin times out (default: 15)
-v, --verbose
Show details for command-line debugging (can repeat up to 3 times)
- --hostname | -H ist ein notwendiger Parameter. Es ist die IP-Adresse oder der Hostname anzugeben.
- --port | -p Als Monitoring.Port wird standardmäßig Port 8080 genutzt. Wenn die Mix-Konfiguration von diesem Standard abweicht kann ein anderer Port mit diesem Parameter angegeben werden.
- --timeout | -t Der Timeout hat Nagios-typisch den Default-Wert 15sec, kann aber problemlos auf 5sec reduziert werden.
Return Werte
Das Plugin check-mix-server prüft den Zustand des Mix-Server und die Kaskade. Wenn beide Funktionen den Zustand Ok haben, liefert auch das Plugin Ok. Tritt bei einem der beiden Tests ein Warnung oder ein kritischer Zustand auf, liefert das Plugin den Fehler. Wenn alles funktioniert:
> check-mix-server -H 123.123.123.123
MIXSERVER OK - mix is operating, first mix online
Ist der Mix-Server nicht erreichbar, liefet das Script den Return-Wert "4" und folgende Fehlermeldung:
> check-mix-server -H 123.123.123.123
MIXSERVER UNKNOWN - An error occured while trying to connect to mix.
Für den Mix-Server werden folgende Zustände unterschieden:
Zustand | Level | Return Value |
---|---|---|
Mix wird initialisiert | Ok | 0 |
Mix arbeitet | Ok | 0 |
Mix ist beim restart | Ok | 0 |
segmentation fault | CRITICAL | 3 |
Für den Status der Kaskade werden folgende Zustände unterschieden:
Zustand | Level | Return Value |
---|---|---|
Mix initialisiert | Ok | 0 |
Mix ist mit Nachfolger/Vorgänger verbunden | Ok | 0 |
Mix Online (Kaskade arbeitetsfähig) | Ok | 0 |