Maintenance

From JonDonym Wiki
Revision as of 14:33, 11 April 2011 by Geko (Talk | contribs)
Jump to: navigation, search

En2.png De2.png    <- prev | Content | next ->

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
Personal tools