Sådan installeres og opsættes Monit (Linux Process and Services Monitoring) Program


Monit er et gratis open source og meget nyttigt værktøj, der automatisk overvåger og administrerer serverprocesser, filer, mapper, kontrolsummer, tilladelser, filsystemer og tjenester som Apache, Nginx, MySQL, FTP, SSH, Sendmail og så videre i en UNIX/Linux-baseret systemer og giver en fremragende og nyttig overvågningsfunktionalitet til systemadministratorer.

Monit har brugervenlig webgrænseflade, hvor du direkte kan se systemstatus og opsætte processer ved hjælp af native HTTP (S) webserver eller via kommandolinjegrænsefladen. Dette betyder, at du skal have en webserver som Apache eller Nginx installeret på dit system for at få adgang til og se monit webinterface.

Monit har evnen til at starte en proces, hvis den ikke kører, genstarte en proces, hvis den ikke reagerer, og stoppe en proces, hvis den bruger høje ressourcer. Derudover kan du også bruge Monit til at overvåge filer, mapper og filsystemer til ændringer, kontrolsumændringer, filstørrelsesændringer eller tidsstempelændringer. Med Monit kan du overvåge fjernværter TCP/IP-port, serverprotokoller og ping. Monit opbevarer sin egen logfil og advarer om kritiske fejltilstande og gendannelsesstatus.

Denne artikel er skrevet for at beskrive en simpel guide til Monit installation og konfiguration på et RHEL, CentOS, Fedora, Ubuntu, Linux Mint og Debian Linux operativsystemer, men det skal også være let kompatibelt med Scientific Linux.

Trin 1: Installation af Monit

Som standard er Monit-værktøjet ikke tilgængeligt fra systembaserede arkiver, du skal tilføje og aktivere tredjeparts epel-arkiv for at installere monit-pakke under dine RHEL/CentOS-systemer. Når du har tilføjet epel repository, skal du installere pakken ved at køre følgende yum-kommando. Til Ubuntu/Debian/Linux Mint kan brugerne nemt installere ved hjælp af apt-get-kommandoen som vist.

# yum install monit
$ sudo apt-get install monit

Trin 2: Konfiguration af Monit

Monit er meget let at konfigurere, faktisk er konfigurationsfilerne oprettet for at være meget let læselige og gør dem lettere for brugerne at forstå. Det er designet til at overvåge de kørende tjenester hvert andet minut og holder logfilerne i “/ var/log/monit”.

Monit har sin webgrænseflade, der kører på port 2812 ved hjælp af webserver. For at aktivere webgrænsefladen skal du foretage ændringer i konfigurationsfilen for monit. Hovedkonfigurationsfilen for monit placeret på /etc/monit.conf under (RedHat/CentOS/Fedora) og/etc/monit/monitrc fil til (Ubuntu/Debian/Linux Mint). Åbn denne fil ved hjælp af dit valg af editor.

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

Fjern derefter kommentar fra det følgende afsnit, og tilføj IP-adressen eller domænenavnet på din server, tillad enhver at oprette forbindelse og ændre monit-bruger og adgangskode, eller du kan bruge standard.

 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

Når du har konfigureret det, skal du starte monit-tjenesten for at genindlæse de nye konfigurationsindstillinger.

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

Nu har du adgang til monit-webgrænsefladen ved at navigere til "http:/localhost: 2812" eller "http://example.com:2812". Indtast derefter brugernavn som “admin” og adgangskode som “monit”. Du skal få en skærm, der ligner nedenunder.

Trin 3: Tilføjelse af overvågningstjenester

Når monit webgrænsefladen er korrekt konfigureret, skal du begynde at tilføje de programmer, du vil overvåge, til /etc/monit.conf under (RedHat/CentOS/Fedora) og/etc/monit/monitrc-filen til (Ubuntu/Debian/Linux Mint) på bunden.

Følgende er nogle nyttige konfigurationseksempler til monit, der kan være meget nyttigt at se, hvordan en tjeneste kører, hvor den beholder sin pidfil og hvordan man starter og stopper en service osv.

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

Når du har konfigureret alle programmer til overvågning, skal du kontrollere monit syntaks for fejl. Hvis der findes fejl, der løser dem, er det ikke så svært at finde ud af, hvad der gik galt. Når du får besked som "Kontrol af filsyntaks OK", eller hvis du ikke ser nogen fejl, kan du gå videre.

# monit -t
$ sudo monit -t

Når du har rettet alle mulige fejl, kan du skrive følgende kommando for at starte monit-tjenesten.

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

Du kan kontrollere, at monit-tjenesten startes ved at kontrollere logfilen.

# 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

Sådan ser monit ud efter tilføjelse af al proces til overvågning.

Reference Links

  1. Monit-startside
  2. Monit-dokumentation
  3. Monit-konfigurationseksempler