[Eisfair] monitorix auf eis
D. Oezbilen
oezbilen at gmx.net
Mo Mär 16 05:44:48 CET 2020
Hallo @all,
monitorix laesst sich auch auf eis installieren. Eisgraph macht auch
sowas, stimmt.
<https://www.monitorix.org/>
Ich habe mir
<https://www.monitorix.org/monitorix-3.12.0.tar.gz>
geholt und mit
make install-redhat-all
installiert.
Da redhat dies hat
/etc/rc.d/init.d
eis hingegen nicht, tritt am Ende ein Fehler auf. Doch da ist schon
alles getan. Einzig das Startskript wird nicht gescheit v.
monitorix.init -> auf /etc/init.d/monitorix kopiert. dg. Ist nicht
dramatisch.
Das kann man manuell erledigen in dem man aus
/monitorix-3.12.0/docs
monitorix.init -> /etc/init.d/monitorix kopiert.
In
/etc/init.d/monitorix
muessen diese Anteile modifiziert werden:
daemon $DAEMON -c $CONF -p $PIDFILE $OPTIONS && success || failure
=>
daemon $DAEMON -c $CONF -p $PIDFILE $OPTIONS
Da redhat eine andere
/etc/init.d/functions
hat, produzieren ... && success || failure eine Fehlermeldung.
Wenn jemand hier die richtigen eis-success und eis-failure aus der
eis-functions ergaenzen kann, waere ich sehr erfreut.
Ein weitere Veraenderung im start-Skript ist unter
case "$1" in
...
status)
Alles was v.
status)
bis
;;
steht wird gegen
{
statusproc ${DAEMON}
}
ergaenzt. Diese Funktion kommt aus der eis-functions und liefert sowas
monitorix is running with Process ID(s) 31663.
Monitorix verfolgt ein anderes Konzept, was mit rrds dargestellt werden
soll, wird in
/etc/monitorix/monitorix.conf
unter
# Graphs (de)activation
ein/ausgeschaltet. Weiter unterhalb dieser Sektion kann fuer z.B. disk
(wenn y gesetzt)
# DISK graph
#
-----------------------------------------------------------------------------
<disk>
<------><list>
<------><------>0 = /dev/sda, /dev/sdb
<------></list>
<------><alerts>
<------><------>realloc_enabled = n
<------><------>realloc_timeintvl = 0
<------><------>realloc_threshold = 1
<------><------>realloc_script = /path/to/script.sh
<------><------>pendsect_enabled = n
<------><------>pendsect_timeintvl = 0
<------><------>pendsect_threshold = 1
<------><------>pendsect_script = /path/to/script.sh
<------></alerts>
</disk>
defniert werden. Alle anderen Graphen haben mehr oder minder so eine Config.
Vorab, fuer den schnellen Erfolg sollten diese Zeilen in der o.g. Config
angepasst werden
<httpd_builtin>
enabled = y
host = [ip-adresse-des-hosts]
und gaaaaaaaaaaanz wichtig
group = nobody
=>
group = nogroup
Denn eis hat *keine* nobody-Group, dafuer gibt es eine nogroup.
Schaltet man
<auth>
enabled = y
ein, so kann man mit
htpasswd -c /var/lib/monitorix/htpasswd [monitorix-Benutzername]
zumindest eine Benutzer/Passwort-Kombination fuer die Webseite unter
port = 8088
nicht 8080 (mini_httpd ist auf 8080)
angeben. Monitorix kann nicht http_s_. Soll aber nginx/apache vhost koennen.
Es gibt in den sourcen eine Apache-Konfig.
../monitorix-3.12.0/docs/monitorix-apache.conf
Normalerweise wird diese Datei z.B. als monitorix.conf unter
/etc/apache2/conf geparkt und per
a2ensite monitorix
als vhost dem apache zugefuegt (ln -s Link entsteht). Leider hat der
eis-apache kein ../conf-Verzeichnis, ebenso fehlt a2ensite um apache2
mit dem neu zugefuegtem vhost neu zu starten.
Klar, ein vhost unter eis entsteht aus dem setup, doch da muesste man
x-Zeilen eintragen, hier waere a2ensite etwas :-) schneller und zudem
alles schon vorgegeben/weniger fehlertraechtig ist.
Ueber Tipps monitorix unter apache2 (eben dann auch mit ssl) mit der
o.g. config einzupflegen waere ich dankbar (ohne alles ueber setup zu
regeln/eingeben zu muessen).
Es fehlen jetzt nur noch paar Perl Module, die beim ersten Start moniert
werden:
Config/General.pm
HTTP/Server/Simple/CGI.pm
/var/log/monitorix
zeigt auf die Probleme beim Start. Installiert werden diese mit:
perl -MCPAN -e 'install Config::General'
perl -MCPAN -e 'install HTTP::Server::Simple::CGI'
und
perl -MCPAN -e 'install XML::LibXML'
wenn man noch andere Module in
/etc/monitorix/monitorix.conf
unter
# Graphs (de)activation
einschaltet.
Das Modul XML::LibXML zieht viel nach sich. Ich habe diese Module
direkt installiert, libXML gibt es unter eis, aber nicht Config/General.pm.
Diese Module lassen sich auch mit z.B. mit cpan -i Config::General
installieren; viele Wege fuehren nach Rom. :-)
Wenn all das erfuellt ist kann ein erneuter Startversuch erfolgen:
Die Ausgabe in/unter
/var/log/monitorix
sollte sowas anzeigen:
Mon Mar 16 05:26:11 2020 - Starting Monitorix version 3.12.0 (pid 30878).
Mon Mar 16 05:26:11 2020 - Loaded main configuration file
'/etc/monitorix/monitorix.conf'.
Mon Mar 16 05:26:11 2020 - Initializing graphs.
Mon Mar 16 05:26:11 2020 - Generating the 'index.html' file.
Mon Mar 16 05:26:11 2020 - Started HTTP built-in server (pid 30929).
Mon Mar 16 05:26:11 2020 - Ok, ready.
HTTPServer: You can connect to your server at http://localhost:8088/
Dann war alles richtig und man kann unter http://ip:8088/monitorix
ansteuern.
Viel Erfolg
Oez.
Mehr Informationen über die Mailingliste Eisfair