Kā instalēt un iestatīt Monit (Linux procesu un pakalpojumu uzraudzības) programmu


Monit ir bezmaksas atvērtā koda un ļoti noderīgs rīks, kas automātiski uzrauga un pārvalda servera procesu, failus, direktorijus, kontrolsummas, atļaujas, failu sistēmas un pakalpojumus, piemēram, Apache, Nginx, MySQL, FTP, SSH, Sendmail un tā tālāk, pamatojoties uz UNIX/Linux sistēmām un nodrošina lielisku un noderīgu uzraudzības funkcionalitāti sistēmu administratoriem.

Monit ir lietotājam draudzīgs tīmekļa interfeiss, kurā jūs varat tieši apskatīt sistēmas statusu un iestatīt procesus, izmantojot vietējo HTTP (S) tīmekļa serveri vai izmantojot komandrindas saskarni. Tas nozīmē, ka jūsu sistēmā ir jābūt instalētam tīmekļa serverim, piemēram, Apache vai Nginx, lai piekļūtu monit tīmekļa saskarnei un skatītu to.

Monitam ir iespēja sākt procesu, ja tas nedarbojas, restartēt procesu, ja nereaģē, un apturēt procesu, ja tiek izmantoti lieli resursi. Varat arī izmantot Monit, lai uzraudzītu failus, direktorijus un failu sistēmas izmaiņām, kontrolsummas izmaiņām, faila lieluma izmaiņām vai laika zīmoga izmaiņām. Izmantojot Monit, jūs varat kontrolēt attālo saimnieku TCP/IP portu, servera protokolus un ping. Monit glabā pats savu žurnālfailu un brīdina par visiem kritisko kļūdu apstākļiem un atkopšanas statusu.

Šis raksts ir rakstīts, lai aprakstītu vienkāršu Monit instalēšanas un konfigurēšanas rokasgrāmatu RHEL, CentOS, Fedora, Ubuntu, Linux Mint un Debian Linux operētājsistēmās, taču tai jābūt viegli saderīgai arī ar Scientific Linux.

1. darbība: instalējiet Monit

Pēc noklusējuma Monit rīks nav pieejams sistēmas bāzes krātuvēs, jums jāpievieno un jāiespējo trešo pušu epel repozitorijs, lai instalētu monit pakotni jūsu RHEL/CentOS sistēmās. Kad esat pievienojis epel repozitoriju, instalējiet pakotni, izpildot šo komandu yum. Ubuntu/Debian/Linux Mint lietotāji var viegli instalēt, izmantojot komandu apt-get, kā parādīts.

# yum install monit
$ sudo apt-get install monit

2. darbība: konfigurējiet Monit

Monit ir ļoti viegli konfigurēt, faktiski konfigurācijas faili ir izveidoti tā, lai tie būtu ļoti viegli lasāmi un padarītu tos lietotājiem vieglāk saprotamus. Tas ir paredzēts, lai ik pēc 2 minūtēm uzraudzītu darbojošos pakalpojumus, un žurnālus glabā mapē “/ var/log/monit”.

Monitam ir tā tīmekļa saskarne, kas darbojas portā 2812, izmantojot tīmekļa serveri. Lai iespējotu tīmekļa saskarni, jāveic izmaiņas konfigurācijas failā monit. Galvenais monit konfigurācijas fails, kas atrodas /etc/monit.conf sadaļā (RedHat/CentOS/Fedora) un/etc/monit/monitrc fails (Ubuntu/Debian/Linux Mint). Atveriet šo failu, izmantojot izvēlēto redaktoru.

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

Pēc tam noņemiet komentāru no šīs sadaļas un pievienojiet sava servera IP adresi vai domēna nosaukumu, ļaujiet ikvienam izveidot savienojumu un mainīt monit lietotāju un paroli, vai arī varat izmantot noklusējuma.

 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

Kad esat to konfigurējis, jums jāsāk monit pakalpojums, lai atkārtoti ielādētu jaunos konfigurācijas iestatījumus.

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

Tagad jūs varēsiet piekļūt monit tīmekļa saskarnei, pārejot uz “http:// localhost: 2812” vai “http://example.com:2812”. Pēc tam ievadiet lietotāja vārdu kā “admin” un paroli kā “monit”. Jums vajadzētu iegūt līdzīgu ekrānu kā zemāk.

3. darbība: uzraudzības pakalpojumu pievienošana

Kad esat pareizi iestatījis tīmekļa saskarni, sāciet pievienot programmas, kuras vēlaties uzraudzīt, failā /etc/monit.conf sadaļā (RedHat/CentOS/Fedora) un/etc/monit/monitrc failā (Ubuntu/Debian/Linux Mint) vietnē apakša.

Tālāk ir sniegti daži noderīgi monit konfigurācijas piemēri, kas var būt ļoti noderīgi, lai uzzinātu, kā pakalpojums darbojas, kur tas saglabā savu pidfailu un kā sākt un apturēt pakalpojumu utt.

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

Kad esat konfigurējis visas programmas uzraudzībai, pārbaudiet, vai sintaksē nav kļūdu. Ja tiek konstatētas kļūdas, tās tiek novērstas, nav tik grūti saprast, kas ir noticis nepareizi. Kad saņemat ziņojumu, piemēram, “Vadības faila sintakse ir laba”, vai ja neredzat kļūdas, varat turpināt.

# monit -t
$ sudo monit -t

Pēc visu iespējamo kļūdu novēršanas varat ierakstīt šo komandu, lai sāktu monit pakalpojumu.

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

Pārbaudot žurnāla failu, varat pārbaudīt, vai ir sākts monit pakalpojums.

# 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

Šādi izskatās vienveidīgi pēc visu procesu pievienošanas uzraudzībai.

Atsauces saites

  1. Monit mājas lapa
  2. Monita dokumentācija
  3. Konfigurācijas piemēri Monit