Monit – Nastroj pro monitorovani stavu daemonu v Linuxu

Potreboval jsem na svem domacim serveru s Ubuntu monitorovat stav ssh, vyuziti CPU, RAM a spoustu dalsich veci. Po chvily googleni jsem nasel monit. Sice si snim hraju jenom chvily, ale vypada velice zajimave. Nejlepsi je, ze v pripade havarie spusti nebo zastavi dany program a posle e-mailem upozorneni.

Nema cenu, abych psal vycet vsech funkci. Nasledujici text je prevzat z webu debian.org: 

Instalaci provedete prikazem apt-get install monit . Hlavni konfiguracni soubor se nachazi v /etc/monit/monitrc . Je dobre nejdrive provest zalohu: cp /etc/monit/monitrc /etc/monit/monitrc_ZAL .

Konfiguracni soubor je velci dobre okomentovany, tudiz by nikomu nemelo nastaveni cinit zadne vetsi problemy. Na ukazku uvedu svuj /etc/monit/monitrc :

set daemon  120      
set idfile /var/run/monit.id
set statefile /var/run/monit.state
set mailserver localhost  # adresa SMTP serveru, ja mam na serveru postfix, takze localhost
set eventqueue
	basedir /var/monit 
	slots 100       
set mail-format { from: monit@eu.vancl.eu } # odesilatel e-mailu bude mit zde uvedenou adresu
set alert tux.martin@gmail.com  # mail s upozornenim se posle na tuto adresu
set httpd port 2812 and  # vestavene webove rozhrani (slouzi ke kontrole)
	allow localhost  # povoli pristup z localhostu      
	allow 192.168.1.0/255.255.255.0  # a z mistni site
	allow admin:monit  # vyzaduje uzivatelske jmeno 'admin' a heslo 'monit' pro pristup
check system localhost # hlida aktualni pocitac (localhost)
	if loadavg (5min) > 4 then alert # kdyz je load average behem 5 minut vetsi nez 4, posle mail
	if memory usage > 85% then alert # kdyz je vyuziti RAM vetsi nez 85%, posle mail s upozornenim
	if cpu usage (user) > 95% then alert
check process apache2 with pidfile /var/run/apache2.pid # hlida webovy server apache2 podle PID
	start program = "/etc/init.d/apache2 start" with timeout 60 seconds # prikaz na spusteni apache
	stop program  = "/etc/init.d/apache2 stop"
	if cpu > 90% for 5 cycles then alert
	if totalmem > 200.0 MB for 5 cycles then restart # kdyz apache spostrebuje vic jak 200MB RAM, monit ho restartuje
	if children > 250 then restart
check process sshd with pidfile /var/run/sshd.pid
	start program "/etc/init.d/ssh start"
	stop program "/etc/init.d/ssh stop"
	if failed port 22 protocol ssh then restart
	if 5 restarts within 5 cycles then timeout

 

V pripade prekroceni povolenych limitu prijde nasledujici e-mail:

Jakmile uz neni limit prekroceny, uzivatel dostane opet upozorneni:

Vestavene webove rozhrani je graficky velice jednoduche, ale funkcni:

jde pres nej take jednotlive sluzby spustit, zastavit, nebo restartovat.

Po nastaveni monit je jeste potreba povolit spousteni v /etc/default/monit  jinak to nebude fungovat:

# You must set this variable to for monit to start
startup=1 

Syntaxi konfiguracniho souboru si muzete zkontrolovat prikazem monit -t . Melo by to dopadnou jako u me:

root@eu:/# monit -t
Control file syntax OK
root@eu:/#

 

Jedna se o maly jednoduchy program, ktery mohu jedine doporucit.  

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *