Monit - Linux ulgamlaryny dolandyrmak we gözegçilik etmek üçin gural


Monit mugt açyk çeşme we UNIX/Linux-da Apache, Nginx, MySQL, FTP, SSH, SMTP we ş.m. ýaly amallary, faýllary, kataloglary, barlaglary, rugsatlary, faýl ulgamlaryny we hyzmatlary awtomatiki gözegçilikde saklaýar we dolandyrýar. esasly ulgamlar we ulgam dolandyryjylaryna ajaýyp we peýdaly gözegçilik funksiýasyny üpjün edýär.

Monitde ulanyjy üçin amatly web interfeýsi bar, bu ýerde ulgamyň ýagdaýyny gönüden-göni görüp we ýerli HTTP (S) web serweri ýa-da buýruk setiri interfeýsi arkaly amallary gurup bilersiňiz. Monit web interfeýsine girmek we görmek üçin ulgamyňyzda Apache ýa-da Nginx ýaly web serweriniň bolmalydygyny aňladýar.

[Şeýle hem halap bilersiňiz: Linux öndürijiligine gözegçilik etmek üçin 20 buýruk setiri gurallary]

Monit işlemeýän bolsa bir prosese başlamak, jogap bermese bir prosesi täzeden başlamak we ýokary çeşmeler ulanýan bolsa bir prosesi duruzmak ukybyna eýedir. Mundan başga-da, üýtgeşmeler, barlag barlaglary, faýl ölçegleriniň üýtgemegi ýa-da wagt belligi üýtgemegi üçin faýllara, kataloglara we faýl ulgamlaryna gözegçilik etmek üçin Monit-den peýdalanyp bilersiňiz.

“Monit” -iň kömegi bilen uzakdaky hostlaryň TCP/IP portuna, serwer protokollaryna we pingine gözegçilik edip bilersiňiz. Monit öz gündelik faýlyny saklaýar we islendik möhüm ýalňyşlyk şertleri we dikeldiş ýagdaýy barada duýduryş berýär.

Bu makala, Debian esasly Linux paýlamalarynda Monit gurmak we konfigurasiýa barada ýönekeý gollanmany beýan etmek üçin ýazyldy.

1-nji ädim: Linux-da Monit gurmak

Düzgüne görä, Monit gözegçilik programmasy deslapky ulgam ammarlaryndan elýeterli däl, CentOS, Rocky Linux we AlmaLinux ýaly RHEL esasly paýlamalaryň aşagynda monit paketini gurmak üçin üçünji tarap epel ammaryny goşmaly we işletmeli.

--------- On RHEL 9 based Systems --------- 
# dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm 

--------- On RHEL 8 based Systems --------- 
# dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

--------- On RHEL 7 based Systems ---------
# yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

Epel ammaryny goşanyňyzdan soň, aşakdaky yum buýrugyny işledip Monit paketini guruň.

# yum install monit
OR
# dnf install monit  [On Fedora Linux]

Ubuntu/Debian/Linux Mint ulanyjylary, görkezilişi ýaly apt buýrugyny ulanyp aňsatlyk bilen gurup bilerler.

$ sudo apt install monit

2-nji ädim: Linux-da Monit sazlamak

Monit düzmek gaty aňsat, aslynda konfigurasiýa faýllary aňsatlyk bilen okalmagy we ulanyjylara düşünmegini aňsatlaşdyrmak üçin döredilýär. Işleýän hyzmatlara her 2 minutdan gözegçilik etmek üçin niýetlenendir we surnallary “/ var/log/monit” -de saklaýar.

Monit-de web serweri ulanyp 2812-nji portda işleýän web interfeýsi bar. Web interfeýsini işletmek üçin monit konfigurasiýa faýlynda üýtgeşmeler girizmeli.

Monitiň esasy konfigurasiýa faýly (RedHat/CentOS/Fedora) we/etc/monit/monitrc faýly (Ubuntu/Debian/Linux Mint) aşagyndaky /etc/monit.conf-da ýerleşýär.

Redaktory saýlap, bu faýly açyň.

# vi /etc/monitrc
Or
$ sudo nano /etc/monit/monitrc

Ondan soň, indiki bölümi açmaň we serweriňiziň IP adresini ýa-da domen adyny goşuň, monit ulanyjyny we paroly birikdirmäge we üýtgetmäge rugsat beriň ýa-da deslapky bölümlerini ulanyp bilersiňiz.

set httpd port 2812 and
     use address 0.0.0.0  # only accept connections from localhost
     allow 0.0.0.0/0        # 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

Ony düzeniňizden soň, täze konfigurasiýa sazlamalaryny täzeden açmak üçin monit hyzmatyny başlamaly, işletmeli we barlamaly.

# systemctl start monit
# systemctl enable monit
# systemctl status monit

Indi, aşakdaky URL-lere geçip, monit web interfeýsine girip bilersiňiz.

http://localhost:2812
OR
http://ip-address:2812
Or
http://example.com:2812

Soňra ulanyjy adyny “administrator” we paroly “monit” hökmünde giriziň. Aşakdaky ýaly ekrany almaly.

3-nji ädim: Monitoryň gözegçiligine Linux hyzmatlaryny goşmak

Monit web interfeýsleri dogry gurlandan soň, gözegçilik etmek isleýän programmalaryňyzy (RedHat/CentOS/Fedora) we/etc/monit/monitrc faýly (Ubuntu/Debian/Linux Mint) üçin/etc/monitrc-e goşup başlaň. düýpde.

Aşakda monit üçin peýdaly konfigurasiýa mysallary bar, bu hyzmatyň nähili işleýändigini, profilini nirede saklaýandygyny, hyzmaty nädip başlamaly we bes etmelidigini görmek üçin gaty peýdaly bolup biler.

check process httpd with pidfile /var/run/httpd.pid
group apache
start program = "/usr/bin/systemctl httpd start"
stop program = "/usr/bin/systemctl 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 = "/usr/bin/systemctl apache2 start" with timeout 60 seconds
stop program  = "/usr/bin/systemctl apache2 stop"
check process nginx with pidfile /var/run/nginx.pid
start program = "/usr/bin/systemctl nginx start"
stop program = "/usr/bin/systemctl nginx stop"
check process mysqld with pidfile /var/run/mysqld/mysqld.pid
group mysql
start program = "/usr/bin/systemctl mysqld start"
stop program = "/usr/bin/systemctl 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 "/usr/bin/systemctl sshd start"
stop program "/usr/bin/systemctl sshd stop"
if failed host 127.0.0.1 port 22 protocol ssh then restart
if 5 restarts within 5 cycles then timeout

Gözegçilik üçin ähli programmalary düzeniňizden soň, ýalňyşlaryň monit sintaksisini barlaň. Haýsydyr bir ýalňyşlyk tapylsa, nämäniň ýalňyşdygyny anyklamak gaty kyn däl. “Dolandyryş faýly sintaksis OK” ýaly habar alanyňyzda ýa-da ýalňyşlyk görmeseňiz, dowam edip bilersiňiz.

# monit -t
Or
$ sudo monit -t

Possiblehli mümkin bolan ýalňyşlyklary düzedenden soň, gözegçilik hyzmatyny başlamak üçin aşakdaky buýrugy ýazyp bilersiňiz.

# systemctl monit restart
OR
$ sudo systemctl monit restart

Gözegçilik üçin ähli Linux hyzmatlaryny goşandan soň monit görünýär.