Monit : Configurare & Install

0

Nagios este foarte util pentru notificări despre servicii pe diverse servere ce nu funcționează. Poate trimite notificări prin e-mail, SMS(având un SMS gateway conectat), poate vorbi în boxe(prin intermediul festival) sau poate destul de multe notificări.

Însă nagios face doar notificări. Rulează sub un user simplu, pentru anumite comenzi(ce nu pot fi rulat de sub un simplu user) face sudo (cu supraveghere atentă).

Până nu demult aveam întipărită bine în minte ideea că dacă vreau ceva care să verifice starea unui program și să ia măsuri în anumite situații trebuie să fac un script, aveam în cap chiar și un exemplu (de la eggdrop, remember IRC?) care să îl pun să ruleze în cron.

Ieri m-a întrebat despre așa ceva, pe messenger, unul dintre cititorii acestui blog. I-am dat aceleași răspunsuri pe care le-am scris mai sus dar se pare că pe el nu l-a mulțumit. A tot căutat și el pe net până a dat de un tutorial pe care mi l-a pasat.
Software-ul pare a fi unul destul de matur, a ajuns la versiunea a 5-a(În repozitoarele Debian stable sau Ubuntu LTS e la versiunea 4.8.x). Are chiar și o interfață web pe care totuși nu v-aș recomanda să o porniți, iar dacă o porniți să nu o lăsați liberă publicului larg(în primul rând daemonul rulează sub userul root).

Monit este capabil ca în funcție de diverși parametrii ai aplicatiei, cum ar fi memoria RAM utilizată, nivelul de încărcare al procesorului, dispariția activității pe portul TCP sau UDP să ia anumite măsuri, adică să lanseze anumite comenzi de oprire/pornire/repornire a serviciilor sau chiar modificarea permisiunilor asupra fișierelor.

Dar gata cu vorba lungă, care contrar reclamelor de la TV, este sărăcia omului și să ne apucăm de treabă. Începem cu instalarea pachetului. Nu avem de făcut decât să rulăm ca root următoarea comandă:

apt-get install monit
yum install monit

Ce se îtâmplă?:


Edităm ulterior fișierul /etc/default/monit

Edităm /etc/monit/monitrc

Creem directorul /etc/monit.d și creem câte un fișier de configurare pentru diversele servicii ce urmează să le monitorizăm.

Iată câtvea exemple:

apache2:

bind9:

dovecot:

mysql:


postfix:

proftpd:


ssh:

webmin:

check file webmin_rc with path /etc/init.d/webmin
group webmin
if failed checksum then unmonitor
if failed permission 755 then unmonitor
if failed uid root then unmonitor
if failed gid root then unmonitor


În final pornim serviciul de monitorizare

Leave A Reply