Kaip įdiegti ir nustatyti „Monit“ („Linux“ procesų ir paslaugų stebėjimo) programą
„Monit“ yra nemokamas atviro kodo ir labai naudingas įrankis, kuris automatiškai stebi ir valdo serverio procesą, failus, katalogus, kontrolines sumas, teises, failų sistemas ir paslaugas, tokias kaip „Apache“, „Nginx“, „MySQL“, FTP, SSH, „Sendmail“ ir pan. sistemos administratoriams suteikia puikią ir naudingą stebėjimo funkciją.
„Monit“ turi patogią žiniatinklio sąsają, kurioje galite tiesiogiai peržiūrėti sistemos būseną ir nustatyti sąrankos procesus naudodami vietinį HTTP (S) žiniatinklio serverį arba per komandinės eilutės sąsają. Tai reiškia, kad turite prieigą prie interneto monito sąsajos ir jos peržiūrą, kad jūsų sistemoje būtų įdiegtas žiniatinklio serveris, pvz., „Apache“ ar „Nginx“.
„Monit“ turi galimybę paleisti procesą, jei jis nevykdomas, paleisti procesą iš naujo, jei nereaguoja, ir sustabdyti procesą, jei naudoja daug išteklių. Be to, galite naudoti „Monit“, kad stebėtumėte failus, katalogus ir failų sistemas pakeitimams, kontrolinės sumos pakeitimams, failo dydžio ar laiko žymos pakeitimams. Su „Monit“ galite stebėti nuotolinio kompiuterio TCP/IP prievadą, serverio protokolus ir ping. „Monit“ saugo savo žurnalo failą ir įspėja apie visas kritinių klaidų sąlygas ir atkūrimo būseną.
Šis straipsnis yra parašytas aprašant paprastą „Monit“ diegimo ir konfigūravimo vadovą RHEL, „CentOS“, „Fedora“, „Ubuntu“, „Linux Mint“ ir „Debian Linux“ operacinėse sistemose, tačiau jis taip pat turėtų būti lengvai suderinamas su „Scientific Linux“.
1 žingsnis: „Monit“ diegimas
Pagal numatytuosius nustatymus „Monit“ įrankis nėra prieinamas sistemos bazinėse saugyklose. Turite pridėti ir įgalinti trečiųjų šalių „epel“ saugyklą, kad įdiegtumėte „monit“ paketą savo RHEL/CentOS sistemose. Pridėję epel saugyklą, įdiekite paketą vykdydami šią yum komandą. „Ubuntu“/„Debian“/„Linux Mint“ vartotojai gali lengvai įdiegti naudodami komandą apt-get, kaip parodyta.
# yum install monit
$ sudo apt-get install monit
2 žingsnis: „Monit“ konfigūravimas
„Monit“ yra labai lengva konfigūruoti, iš tikrųjų konfigūracijos failai yra sukurti taip, kad juos būtų galima lengvai perskaityti ir vartotojams lengviau suprasti. Jis skirtas stebėti veikiančias paslaugas kas 2 minutes ir saugo žurnalus „/ var/log/monit“.
„Monit“ turi interneto sąsają, veikiančią 2812 prievade, naudojant žiniatinklio serverį. Norėdami įjungti žiniatinklio sąsają, turite atlikti keitimo konfigūracijos failą. Pagrindinis „monit“ konfigūracijos failas, esantis aplanke /etc/monit.conf (RedHat/CentOS/Fedora) ir/etc/monit/monitrc failas (Ubuntu/Debian/Linux Mint). Atidarykite šį failą naudodami pasirinktą redaktorių.
# vi /etc/monit.conf
$ sudo vi /etc/monit/monitrc
Tada pašalinkite komentarą iš šio skyriaus ir pridėkite savo serverio IP adresą ar domeno pavadinimą, leiskite visiems prisijungti ir pakeisti monitro vartotoją ir slaptažodį arba galite naudoti numatytuosius.
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
Sukonfigūravę, turite paleisti „monit“ paslaugą, kad iš naujo įkeltumėte naujus konfigūracijos nustatymus.
# /etc/init.d/monit start
$ sudo /etc/init.d/monit start
Dabar galėsite pasiekti įprastą žiniatinklio sąsają, eidami į „http:// localhost: 2812“ arba „http://example.com:2812“. Tada įveskite vartotojo vardą kaip „admin“ ir slaptažodį kaip „monit“. Turėtumėte gauti ekraną, panašų į žemiau pateiktą.
3 žingsnis: Stebėjimo paslaugų pridėjimas
Tinkamai sukonfigūravę interneto sąsają, pradėkite pridėti programas, kurias norite stebėti, į /etc/monit.conf (RedHat/CentOS/Fedora) ir/etc/monit/monitrc failą (Ubuntu/Debian/Linux Mint) adresu apačia.
Toliau pateikiami keli naudingi „monit“ konfigūracijos pavyzdžiai, kurie gali būti labai naudingi norint sužinoti, kaip veikia paslauga, kur ji palaiko failą ir kaip paleisti bei sustabdyti paslaugą ir pan.
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
Sukonfigūravę visas programas stebėjimui, patikrinkite, ar nėra sintaksės klaidų. Jei radote klaidų, jas išspręsti nėra taip sunku suprasti, kas nutiko. Kai gausite pranešimą, pvz., „Valdymo failo sintaksė gerai“, arba jei nematote klaidų, galite tęsti.
# monit -t
$ sudo monit -t
Ištaisę visas galimas klaidas, galite įvesti šią komandą, kad paleistumėte „monit“ paslaugą.
# /etc/init.d/monit restart
$ sudo /etc/init.d/monit restart
Galite patikrinti, ar „monit“ paslauga paleista, patikrindami žurnalo failą.
# 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
Taip atrodo vienodai, pridėjus visą stebėjimo procesą.
Nuorodos nuorodos
- „Monit“ pagrindinis puslapis
- „Monit“ dokumentacija
- „Monit“ konfigūracijos pavyzdžiai