Monit - Ngwa maka ijikwa na nlekota sistemụ Linux


Monit bụ ihe mepere emepe n'efu yana ngwa bara uru nke na-enyocha ma na-ejikwa usoro, faịlụ, akwụkwọ ndekọ aha, checksums, ikike, sistemụ faịlụ na ọrụ dị ka Apache, Nginx, MySQL, FTP, SSH, SMTP na ndị ọzọ na UNIX/Linux. dabere na sistemụ ma na-enye ọrụ nleba anya dị mma ma na-enye aka nye ndị nchịkwa sistemụ.

Monit nwere interface enyi na enyi ebe ị nwere ike ịlele ọkwa sistemụ yana nhazi usoro site na iji sava weebụ HTTP(S) ma ọ bụ site na interface ahịrị iwu. Nke a pụtara na ị ga-enwerịrị ihe nkesa webụ dị ka Apache ma ọ bụ Nginx arụnyere na sistemụ gị iji nweta ma lelee interface weebụ monit.

[Ị nwekwara ike ịmasị: 20 Command Line Tools to Monitor Linux Performance]

Monit nwere ikike ịmalite usoro ma ọ bụrụ na ọ naghị arụ ọrụ, malitegharịa usoro ma ọ bụrụ na ọ naghị azaghachi, ma kwụsị usoro ma ọ bụrụ na ọ na-eji nnukwu ego. Na mgbakwunye, ị nwekwara ike iji Monit nyochaa faịlụ, akwụkwọ ndekọ aha, na sistemụ faịlụ maka mgbanwe, mgbanwe checksum, mgbanwe nha faịlụ, ma ọ bụ mgbanwe stampụ oge.

Site na Monit, ị nwere ike nyochaa ọdụ ụgbọ mmiri TCP/IP, usoro ihe nkesa, na ping. Monit na-edobe faịlụ ndekọ nke ya yana ọkwa maka ọnọdụ njehie ọ bụla dị oke egwu yana ọkwa mgbake.

Edere edemede a iji kọwapụta ntuziaka dị mfe na ntinye na nhazi nke Monit na nkesa Linux dabere na Debian.

Kwụpụ 1: Wụnye Monit na Linux

Site na ndabara, mmemme nlebanya Monit adịghị site na ntọala ntọala sistemụ ndabara, ịkwesịrị ịgbakwunye ma mee ka ebe nchekwa epel nke ndị ọzọ wụnye ngwugwu monit n'okpuru nkesa dabere na RHEL dị ka CentOS, Rocky Linux, na 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

Ozugbo ị gbakwunyere ebe nchekwa epel, wụnye ngwugwu Monit site na ịme iwu yum a.

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

Maka Ubuntu/Debian/Linux Mint onye ọrụ nwere ike ịwụnye ngwa ngwa site na iji iwu dabara adaba dị ka egosiri.

$ sudo apt install monit

Kwụpụ 2: Ịhazi Monit na Linux

Monit dị mfe ịhazi, n'ezie, a na-emepụta faịlụ nhazi ka ọ dị mfe ọgụgụ ma mee ka ọ dị mfe maka ndị ọrụ ịghọta. Emebere ya iji nyochaa ọrụ na-agba ọsọ kwa nkeji 2 ma debe ndekọ na /var/log/monit“.

Monit nwere interface weebụ nke na-agba ọsọ na ọdụ ụgbọ mmiri 2812 site na iji sava weebụ. Iji mee ka interface weebụ nwee ike ịme mgbanwe na faịlụ nhazi monit.

Faịlụ nhazi bụ isi nke monit dị na /etc/monit.conf n'okpuru (RedHat/CentOS/Fedora) na /etc/monit/monitrc faịlụ maka (Ubuntu/Debian/Linux Mint).

Mepee faịlụ a site na iji nchịkọta nhọrọ nke gị.

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

Na-esote, akọwapụtaghị ngalaba na-esonụ ma tinye adreesị IP ma ọ bụ aha ngalaba nke ihe nkesa gị, kwe ka onye ọ bụla jikọọ ma gbanwee onye ọrụ na paswọọdụ ma ọ bụ ị nwere ike iji nke ndabara.

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

Ozugbo ị haziela ya, ịkwesịrị ịmalite, mee ma chọpụta ọrụ monit iji bugharịa ntọala nhazi ọhụrụ.

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

Ugbu a, ị ga-enwe ike ịnweta interface weebụ monit site na ịgagharị na URL ndị a.

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

Mgbe ahụ tinye aha njirimara dị ka admin na paswọọdụ dị ka monit. Ị ga-enweta ihuenyo yiri nke dị n'okpuru.

Kwụpụ 3: Ịtinye ọrụ Linux na nlekota nlekota

Ozugbo edobere monit web interfaces nke ọma, malite ịgbakwunye mmemme ịchọrọ inyocha n'ime /etc/monitrc n'okpuru (RedHat/CentOS/Fedora) na /etc/monit/monitrc maka (Ubuntu/Debian/Linux Mint)) n'okpuru.

Ndị a bụ ụfọdụ ọmụmaatụ nhazi bara uru maka monit, nke nwere ike inye aka ịhụ ka ọrụ si arụ ọrụ, ebe ọ na-edobe profaịlụ ya, otu esi amalite na kwụsị ọrụ, wdg.

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

Ozugbo ị haziela mmemme niile maka nleba anya, lelee monit syntax maka mperi. Ọ bụrụ na achọpụtara njehie ọ bụla na-edozi ha, ọ bụghị ihe siri ike ịchọpụta ihe na-ezighị ezi. Mgbe ị nwetara ozi dị ka Control file syntax OK, ma ọ bụ ọ bụrụ na ịhụghị njehie, ị nwere ike ịga n'ihu.

# monit -t
Or
$ sudo monit -t

Mgbe edozichara njehie niile enwere ike, ị nwere ike pịnye iwu a ka ịmalite ọrụ monit.

# systemctl monit restart
OR
$ sudo systemctl monit restart

Nke a bụ ka ọ na-ele anya ma gbakwunye ọrụ Linux niile maka nleba anya.