Kako instalirati i postaviti program Monit (Nadgledanje procesa i usluga Linuxa)


Monit je besplatni otvoreni izvor i vrlo koristan alat koji automatski nadgleda i upravlja procesom poslužitelja, datotekama, direktorijima, kontrolnim zbrojevima, dozvolama, datotečnim sustavima i uslugama poput Apachea, Nginxa, MySQL-a, FTP-a, SSH-a, Sendmaila i tako dalje na UNIX/Linux baziranom sustavima i pruža izvrsnu i korisnu funkciju nadgledanja administratorima sustava.

Monit ima user friendly web sučelje gdje možete izravno pregledavati status sustava i postavljati procese pomoću izvornog HTTP (S) web poslužitelja ili putem sučelja naredbenog retka. To znači da na vašem sustavu morate imati instaliran web poslužitelj poput Apachea ili Nginxa za pristup i pregled monit web sučelja.

Monit ima mogućnost pokretanja procesa ako se ne izvodi, ponovnog pokretanja postupka ako ne reagira i zaustavljanja postupka ako koristi velike resurse. Uz to, Monit možete koristiti i za nadgledanje datoteka, direktorija i datotečnih sustava za promjene, promjene kontrolne sume, promjene veličine datoteke ili promjene vremenskog žiga. Pomoću Monita možete nadzirati TCP/IP priključak udaljenih hostova, protokole poslužitelja i ping. Monit čuva vlastitu datoteku dnevnika i upozorava o svim kritičnim uvjetima pogreške i statusu oporavka.

Ovaj je članak napisan da opiše jednostavan vodič o Monitovoj instalaciji i konfiguraciji na RHEL, CentOS, Fedora, Ubuntu, Linux Mint i Debian Linux operativnim sustavima, ali trebao bi biti lako kompatibilan i sa Scientific Linuxom.

Korak 1: Instalacija Monita

Alat Monit prema zadanim postavkama nije dostupan iz temeljnih spremišta sustava, morate dodati i omogućiti spremište epel treće strane da instalira paket monit pod vašim RHEL/CentOS sustavima. Nakon što dodate epel spremište, instalirajte paket pokretanjem sljedeće yum naredbe. Za Ubuntu/Debian/Linux Mint korisnici mogu jednostavno instalirati pomoću naredbe apt-get kao što je prikazano.

# yum install monit
$ sudo apt-get install monit

Korak 2: Konfiguriranje Monita

Monit je vrlo jednostavno konfigurirati, ustvari su konfiguracijske datoteke stvorene da budu vrlo lako čitljive i čine ih korisnicima lakšim za razumijevanje. Dizajniran je za praćenje pokrenutih usluga u svake 2 minute i čuva zapise u “/ var/log/monit“.

Monit ima svoje web sučelje koje se izvodi na portu 2812 pomoću web servera. Da biste omogućili web sučelje, morate unijeti promjene u konfiguracijsku datoteku monit. Glavna konfiguracijska datoteka monita smještena na /etc/monit.conf pod (RedHat/CentOS/Fedora) i/etc/monit/monitrc datoteka za (Ubuntu/Debian/Linux Mint). Otvorite ovu datoteku pomoću uređivača po vašem izboru.

# vi /etc/monit.conf
$ sudo vi /etc/monit/monitrc

Dalje, raskomentirajte sljedeći odjeljak i dodajte IP adresu ili ime domene vašeg poslužitelja, omogućite bilo kome da se poveže i promijeni monit korisnika i lozinku ili možete koristiti zadane.

 set httpd port 2812 and
     use address localhost  # only accept connection from localhost
     allow localhost        # allow localhost to connect to the server and
     allow admin:monit      # require user 'admin' with password 'monit'
     allow @monit           # allow users of group 'monit' to connect (rw)
     allow @users readonly  # allow users of group 'users' to connect readonly

Nakon što ste ga konfigurirali, morate pokrenuti uslugu monit za ponovno učitavanje novih postavki konfiguracije.

# /etc/init.d/monit start
$ sudo /etc/init.d/monit start

Sada ćete moći pristupiti web sučelju monit tako što ćete prijeći na “http:// localhost: 2812” ili “http://example.com:2812“. Zatim unesite korisničko ime kao "admin", a lozinku kao "monit". Trebali biste dobiti zaslon sličan donjem.

Korak 3: Dodavanje usluga praćenja

Nakon što se web sučelje monit pravilno postavi, počnite dodavati programe koje želite nadzirati u /etc/monit.conf pod (RedHat/CentOS/Fedora) i/etc/monit/monitrc datotekom za (Ubuntu/Debian/Linux Mint) na dno.

Slijedi nekoliko korisnih primjera konfiguracije za monit, koji mogu biti vrlo korisni da se vidi kako se usluga izvodi, gdje zadržava pidfile i kako pokrenuti i zaustaviti uslugu itd.

check process httpd with pidfile /var/run/httpd.pid
group apache
start program = "/etc/init.d/httpd start"
stop program = "/etc/init.d/httpd stop"
if failed host 127.0.0.1 port 80
protocol http then restart
if 5 restarts within 5 cycles then timeout
check process apache with pidfile /run/apache2.pid
start program = "/etc/init.d/apache2 start" with timeout 60 seconds
stop program  = "/etc/init.d/apache2 stop"
check process nginx with pidfile /var/run/nginx.pid
start program = "/etc/init.d/nginx start"
stop program = "/etc/init.d/nginx stop"
check process mysqld with pidfile /var/run/mysqld/mysqld.pid
group mysql
start program = "/etc/init.d/mysqld start"
stop program = "/etc/init.d/mysqld stop"
if failed host 127.0.0.1 port 3306 then restart
if 5 restarts within 5 cycles then timeout
check process sshd with pidfile /var/run/sshd.pid
start program "/etc/init.d/sshd start"
stop program "/etc/init.d/sshd stop"
if failed host 127.0.0.1 port 22 protocol ssh then restart
if 5 restarts within 5 cycles then timeout

Nakon što konfigurirate sve programe za nadzor, provjerite ima li sinitaksa pogrešaka. Ako ih pronađu pogreške, nije tako teško shvatiti što je pošlo po zlu. Kad dobijete poruku poput "Kontrola sintakse datoteke," ili ako ne vidite pogreške, možete nastaviti.

# monit -t
$ sudo monit -t

Nakon ispravljanja svih mogućih pogrešaka, možete upisati sljedeću naredbu za pokretanje usluge monit.

# /etc/init.d/monit restart
$ sudo /etc/init.d/monit restart

Možete provjeriti je li pokrenuta usluga monit provjerom datoteke dnevnika.

# tail -f /var/log/monit
$ sudo tail -f /var/log/monit.log
[BDT Apr  3 03:06:04] info     : Starting monit HTTP server at [localhost:2812]
[BDT Apr  3 03:06:04] info     : monit HTTP server started
[BDT Apr  3 03:06:04] info     : 'linux-console.net' Monit started
[BDT Apr  3 03:06:04] error    : 'nginx' process is not running
[BDT Apr  3 03:06:04] info     : 'nginx' trying to restart
[BDT Apr  3 03:06:04] info     : 'nginx' start: /etc/init.d/nginx

Ovako izgleda monit nakon dodavanja cijelog procesa za praćenje.

Referentni linkovi

  1. Monit početna stranica
  2. Monit dokumentacija
  3. Primjeri monit konfiguracije