Monit - työkalu Linux-järjestelmien hallintaan ja valvontaan


Monit on ilmainen avoimen lähdekoodin ja erittäin hyödyllinen työkalu, joka valvoo ja hallitsee automaattisesti prosesseja, tiedostoja, hakemistoja, tarkistussummia, käyttöoikeuksia, tiedostojärjestelmiä ja palveluita, kuten Apache, Nginx, MySQL, FTP, SSH, SMTP ja niin edelleen UNIX/Linuxissa. perustuu järjestelmiin ja tarjoaa erinomaisen ja hyödyllisen valvontatoiminnon järjestelmänvalvojille.

Monitissa on käyttäjäystävällinen verkkokäyttöliittymä, josta voit suoraan tarkastella järjestelmän tilaa ja määrittää prosesseja käyttämällä alkuperäistä HTTP(S)-verkkopalvelinta tai komentorivikäyttöliittymän kautta. Tämä tarkoittaa, että järjestelmässäsi on oltava verkkopalvelin, kuten Apache tai Nginx, jotta voit käyttää ja tarkastella monit-verkkokäyttöliittymää.

[Saatat pitää myös: 20 komentorivityökalua Linuxin suorituskyvyn valvontaan ]

Monitilla on mahdollisuus käynnistää prosessi, jos se ei ole käynnissä, käynnistää prosessi uudelleen, jos se ei vastaa, ja pysäyttää prosessin, jos se käyttää suuria resursseja. Lisäksi voit myös käyttää Monitia tiedostojen, hakemistojen ja tiedostojärjestelmien seurantaan muutosten, tarkistussummamuutosten, tiedostokoon muutosten tai aikaleiman muutosten varalta.

Monitin avulla voit valvoa etäisäntien TCP/IP-porttia, palvelinprotokollia ja pingiä. Monit pitää omaa lokitiedostoaan ja hälyttää kaikista kriittisistä virhetiloista ja palautuksen tilasta.

Tämä artikkeli on kirjoitettu kuvaamaan yksinkertainen opas Monitin asennuksesta ja määrityksestä Debian-pohjaisissa Linux-jakeluissa.

Vaihe 1: Monitin asentaminen Linuxiin

Oletusarvoisesti Monit-valvontaohjelma ei ole saatavilla oletusjärjestelmän perustietovarastoista, sinun on lisättävä ja otettava käyttöön kolmannen osapuolen epel-arkisto, jotta monit-paketti voidaan asentaa RHEL-pohjaisiin jakeluihin, kuten CentOS, Rocky Linux ja 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

Kun olet lisännyt epel-arkiston, asenna Monit-paketti suorittamalla seuraava yum-komento.

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

Ubuntu/Debian/Linux Mint -käyttäjät voivat asentaa helposti apt-komennolla kuvan mukaisesti.

$ sudo apt install monit

Vaihe 2: Monitin määrittäminen Linuxissa

Monit on erittäin helppo konfiguroida, itse asiassa asetustiedostot on luotu erittäin helposti luettaviksi ja helpottamaan niiden ymmärtämistä. Se on suunniteltu valvomaan käynnissä olevia palveluita 2 minuutin välein ja pitää lokit hakemistossa /var/log/monit.

Monitilla on verkkokäyttöliittymä, joka toimii portissa 2812 verkkopalvelimen avulla. Jotta verkkokäyttöliittymä voidaan ottaa käyttöön, sinun on tehtävä muutoksia monit-määritystiedostoon.

Monitin pääasetustiedosto, joka sijaitsee osoitteessa /etc/monit.conf kohdassa (RedHat/CentOS/Fedora) ja /etc/monit/monitrc-tiedosto (Ubuntu/Debian/Linux Mint).

Avaa tämä tiedosto valitsemallasi editorilla.

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

Poista seuraavaksi kommentit seuraavasta osiosta ja lisää palvelimesi IP-osoite tai verkkotunnus, salli kenen tahansa muodostaa yhteys ja vaihtaa monit-käyttäjää ja salasanaa tai voit käyttää oletusasetuksia.

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

Kun olet määrittänyt sen, sinun on käynnistettävä, otettava käyttöön ja vahvistettava monit-palvelu ladataksesi uudet kokoonpanoasetukset.

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

Nyt voit käyttää monit-verkkokäyttöliittymää siirtymällä seuraaviin URL-osoitteisiin.

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

Kirjoita sitten käyttäjänimi muodossa admin ja salasana monit. Sinun pitäisi saada alla olevan kaltainen näyttö.

Vaihe 3: Linux-palvelujen lisääminen Monitor Monitoringiin

Kun monit-verkkoliittymät on määritetty oikein, aloita valvottavien ohjelmien lisääminen /etc/monitrc-kansioon (RedHat/CentOS/Fedora) ja /etc/monit/monitrc-tiedostoon (Ubuntu/Debian/Linux Mint) pohjalla.

Seuraavassa on joitain hyödyllisiä konfigurointiesimerkkejä monitille, jotka voivat olla erittäin hyödyllisiä näkemään, kuinka palvelu toimii, missä se säilyttää profiilinsa, kuinka palvelu aloitetaan ja lopetetaan jne.

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

Kun olet määrittänyt kaikki ohjelmat valvontaa varten, tarkista monitorin syntaksista virheitä. Jos havaitaan virheitä, jotka korjaavat ne, ei ole niin vaikeaa selvittää, mikä meni pieleen. Kun saat viestin, kuten Ohjaustiedoston syntaksi OK, tai jos et näe virheitä, voit jatkaa eteenpäin.

# monit -t
Or
$ sudo monit -t

Kun olet korjannut kaikki mahdolliset virheet, voit kirjoittaa seuraavan komennon käynnistääksesi monit-palvelun.

# systemctl monit restart
OR
$ sudo systemctl monit restart

Tältä näyttää monit sen jälkeen, kun kaikki Linux-palvelut on lisätty valvontaan.