[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