Monit - Għodda għall-Immaniġġjar u l-Monitoraġġ tas-Sistemi Linux


Monit huwa sors miftuħ b'xejn u għodda utli ħafna li awtomatikament timmonitorja u timmaniġġja proċessi, fajls, direttorji, checksums, permessi, sistemi ta' fajls, u servizzi bħal Apache, Nginx, MySQL, FTP, SSH, SMTP, eċċ f'UNIX/Linux sistemi bbażati u jipprovdi funzjonalità ta’ monitoraġġ eċċellenti u ta’ għajnuna lill-amministraturi tas-sistema.

Il-monit għandu interface tal-web faċli għall-utent fejn tista' tara direttament l-istatus tas-sistema u twaqqaf il-proċessi billi tuża web server HTTP(S) nattiv jew permezz tal-interface tal-linja tal-kmand. Dan ifisser li jrid ikollok web server bħal Apache jew Nginx installat fis-sistema tiegħek biex taċċessa u tara l-interface tal-web tal-monit.

[ Tista 'tħobb ukoll: 20 Għodda tal-Linja ta' Kmand biex Tissorvelja l-Prestazzjoni tal-Linux ]

Monit għandu l-abbiltà li jibda proċess jekk ma jkunx qed jaħdem, jerġa 'jibda proċess jekk ma jirrispondix, u jwaqqaf proċess jekk juża riżorsi għoljin. Barra minn hekk, tista 'wkoll tuża Monit biex tissorvelja fajls, direttorji, u sistemi ta' fajls għal bidliet, bidliet ta 'checksum, bidliet fid-daqs tal-fajl, jew bidliet ta' timestamp.

B'Monit, tista' tissorvelja l-port TCP/IP tal-hosts remoti, il-protokolli tas-server, u l-ping. Monit iżomm il-log file tiegħu stess u javża dwar kwalunkwe kundizzjoni ta 'żball kritiku u status ta' rkupru.

Dan l-artikolu huwa miktub biex jiddeskrivi gwida sempliċi dwar l-installazzjoni u l-konfigurazzjoni ta 'Monit fuq distribuzzjonijiet Linux ibbażati fuq Debian.

Pass 1: Installazzjoni ta 'Monit fil-Linux

B'mod awtomatiku, il-programm ta 'monitoraġġ Monit mhuwiex disponibbli mir-repożitorji bażi tas-sistema default, għandek bżonn iżżid u tippermetti repożitorju epel ta' parti terza biex tinstalla l-pakkett monit taħt distribuzzjonijiet ibbażati fuq RHEL bħal CentOS, Rocky Linux, u AlmaLinux.

--------- 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

Ladarba tkun żidt ir-repożitorju epel, installa l-pakkett Monit billi tħaddem il-kmand yum li ġej.

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

Għal Ubuntu/Debian/Linux Mint l-utent jista 'faċilment jinstalla billi juża l-kmand apt kif muri.

$ sudo apt install monit

Pass 2: Konfigurazzjoni ta 'Monit fil-Linux

Monit huwa faċli ħafna biex jiġi kkonfigurat, fil-fatt, il-fajls tal-konfigurazzjoni huma maħluqa biex jinqraw faċilment u jagħmluhom aktar faċli biex jifhmuhom l-utenti. Hija mfassla biex timmonitorja s-servizzi li qed jaħdmu kull 2 minuti u żżomm ir-zkuk f'/var/log/monit.

Monit għandu interface tal-web li jaħdem fuq il-port 2812 billi juża web server. Biex tippermetti l-interface tal-web trid tagħmel bidliet fil-fajl tal-konfigurazzjoni tal-monit.

Il-fajl tal-konfigurazzjoni prinċipali tal-monit li jinsab f'/etc/monit.conf taħt (RedHat/CentOS/Fedora) u /etc/monit/monitrc fajl għal (Ubuntu/Debian/Linux Mint).

Iftaħ dan il-fajl billi tuża l-editur tal-għażla tiegħek.

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

Sussegwentement, neħħi l-kumment tat-taqsima li ġejja u żid l-indirizz IP jew l-isem tad-dominju tas-server tiegħek, ħalli lil xi ħadd jikkonnettja u jibdel l-utent u l-password tal-monit jew tista 'tuża dawk default.

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

Ladarba tkun ikkonfigurajha, għandek bżonn tibda, tattiva u tivverifika s-servizz ta 'monit biex terġa' tgħabbi l-issettjar tal-konfigurazzjoni l-ġdid.

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

Issa, inti tkun tista 'taċċessa l-interface tal-web tal-monit billi tinnaviga għall-URLs li ġejjin.

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

Imbagħad daħħal l-isem tal-utent bħala admin u l-password bħala monit. Għandek tikseb skrin simili għal dak ta 'hawn taħt.

Pass 3: Żieda tas-Servizzi tal-Linux għall-Monit Monitoring

Ladarba l-interfaces tal-web tal-monit ikunu stabbiliti b'mod korrett, ibda żżid il-programmi li trid tissorvelja fil-/etc/monitrc taħt (RedHat/CentOS/Fedora) u /etc/monit/monitrc fajl għal (Ubuntu/Debian/Linux Mint) fil-qiegħ.

Dawn li ġejjin huma xi eżempji ta’ konfigurazzjoni utli għall-monit, li jistgħu jkunu ta’ għajnuna kbira biex tara kif qed jaħdem servizz, fejn iżomm il-profil tiegħu, kif tibda u twaqqaf servizz, eċċ.

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

Ladarba tkun ikkonfigurajt il-programmi kollha għall-monitoraġġ, iċċekkja s-sintassi tal-monit għal żbalji. Jekk jinstabu xi żbalji jirranġawhom, mhux daqshekk diffiċli biex insemmu dak li mar ħażin. Meta tirċievi messaġġ bħal Control file syntax OK, jew jekk ma tara l-ebda żball, tista 'tipproċedi 'l quddiem.

# monit -t
Or
$ sudo monit -t

Wara li tiffissa l-iżbalji kollha possibbli, tista 'ttajpja l-kmand li ġej biex tibda s-servizz tal-monit.

# systemctl monit restart
OR
$ sudo systemctl monit restart

Dan huwa kif jidher monit wara li żżid is-servizzi kollha tal-Linux għall-monitoraġġ.