GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nainstalovat a nakonfigurovat Monit.

Úvod

Monit je užitečný program, který automaticky monitoruje a spravuje serverové programy, aby zajistil, že nejenže zůstanou trvale online, ale že velikost souboru, kontrolní součet nebo oprávnění jsou vždy správné.

# yum install monit ( To install monit On RedHat/CentOS/Fedora/ )

# sudo apt-get install monit ( To install monit On Ubuntu/Debian )

Konfigurace démona Monit

# vi /etc/monit.conf ( Configuration file in RedHat/CentOS/Fedora/ )

# vi /etc/monit/monitrc ( Configuration file in Ubuntu/Debian )

NYNÍ PŘIDÁVÁNÍ SLUŽEB DO KONFIGURAČNÍHO SOUBORU MONITOROVÁNÍ

Otevřete konfigurační soubor, tj.

For RedHat/CentOS/Fedora (# vi /etc/monit.conf)
For Ubuntu/Debian (# vi /etc/monit/monitrc)

Smažte všechny řádky v konfiguračním souboru a přidejte níže uvedené řádky. (každý řádek je stručně definován níže)

Nastavit interval démona

Toto je interval (v sekundách), ve kterém Monit provádí své testy. Hodnota, kterou zvolíte, bude záviset na tom, kolik testů definujete. Pokud tuto hodnotu změníme, budete muset restartovat Monit.

# check services at 30 seconds of intervals
set daemon 30

Nastavit soubor protokolu

# set logfile syslog facility log_daemon                       
set logfile /var/log/monit.log

Zkontrolujte nastavení využití paměti a restartujte jej

##To check the memory usage and restart the services.    
	check system localhost
    	if memory usage > 93%
        then exec "/usr/local/bin/httpd-start"

Zkontrolujte službu HTTPD a restartujte

Zde je služba Httpd monitorována monit, tj. když služba neběží nebo když je loadavg větší, pak monit spustí službu httpd, aby se restartovala

#To check the Httpd service and restart the services.
# Httpd
        check process httpd with pidfile /var/run/httpd/httpd.pid
        start program = "/usr/local/bin/httpd-start"
        stop program = "/usr/local/bin/httpd-kill"
        if loadavg (1min) greater than 10 for 1 cycles then restart

Zkontrolujte službu mysqld a restartujte

Zde je služba Mysqld monitorována monit, tj. když služba neběží nebo když je loadavg větší, pak monit spustí službu Mysql, aby se restartovala

#To check the mysql service and restart the services.
# mysqld
        check process mysqld with pidfile /var/run/mysqld/mysqld.pid
        start program = "/etc/init.d/mysqld start"
        stop program = "/etc/init.d/mysqld stop"
        if memory usage > 70% for 1 cycles then restart
        if failed host 127.0.0.1 port 3306 then restart
        if loadavg (1min) greater than 5 for 1 cycles then restart

Stejným způsobem můžeme přidat jakoukoli službu, kterou je třeba monitorovat pomocí monit a restartovat

Jakmile jsou všechny služby přidány do konfiguračního souboru. konfigurační soubor vypadá níže..

# check services at 2-minute intervals
set daemon 30
# set logfile syslog facility log_daemon                       
set logfile /var/log/monit.log
##To check the memory usage and restart the services.    
	check system localhost
    	if memory usage > 93%
        then exec "/usr/local/bin/httpd-start"

#To check the Httpd service and restart the services.
# Httpd
        check process httpd with pidfile /var/run/httpd/httpd.pid
        start program = "/usr/local/bin/httpd-start"
        stop program = "/usr/local/bin/httpd-kill"
        if loadavg (1min) greater than 10 for 1 cycles then restart

#To check the mysql service and restart the services.
# mysqld
        check process mysqld with pidfile /var/run/mysqld/mysqld.pid
        start program = "/etc/init.d/mysqld start"
        stop program = "/etc/init.d/mysqld stop"
        if memory usage > 70% for 1 cycles then restart
        if failed host 127.0.0.1 port 3306 then restart
        if loadavg (1min) greater than 5 for 1 cycles then restart

POZNÁMKA:Protože jsme definovali následující řádek v konfiguračním souboru

spustit program ="/usr/local/bin/httpd-start"
zastavit program ="/usr/local/bin/httpd-kill"

Musíme přidat skripty httpd-start, httpd-kill, tj.

vytvořte soubor pomocí následujícího příkazu a přidejte následující řádky

vi /usr/local/bin/httpd-start
#!/bin/bash
/usr/bin/killall -9 httpd; /usr/bin/killall -9 php-cgi; /usr/bin/ipcs |grep apache | /bin/cut -d" " -f2 | /usr/bin/xargs /usr/bin/ipcrm sem {};
/bin/sleep .5;
/usr/sbin/apachectl start
#/sbin/swapoff -a
#/sbin/swapon -a
exit 0;

nyní uložte a ukončete pomocí příkazu

 :wq!

Nyní to samé pro skript httpd-kill

vytvořte soubor pomocí následujícího příkazu a přidejte následující řádky

 vi /usr/local/bin/httpd-kill
#!/bin/bash
/usr/bin/killall -9 httpd; /usr/bin/ipcs |grep apache | /bin/cut -d" " -f2 | /usr/bin/xargs /usr/bin/ipcrm sem {};
/bin/sleep .5;
exit 0;

stejným způsobem musíme definovat pro skripty Mysqld..

Jakmile nakonfigurujete všechny programy pro monitorování, zkontrolujte syntaxi monit kvůli chybám. Pokud byly nalezeny nějaké chyby, opravte je, není tak těžké zjistit, co se pokazilo. Pomocí níže uvedeného příkazu

# monit -t

Pokud je soubor monit Config správný, zobrazí se zpráva jako „Syntaxe ovládacího souboru OK“, nebo pokud nevidíte žádné chyby,

Po opravě všech možných chyb můžete zadáním následujícího příkazu spustit službu monit.

# /etc/init.d/monit start

Ověřování služby Monit

Spuštění služby monit můžete ověřit kontrolou souboru protokolu.

# tail -f /var/log/monit

Ukázkový výstup protokolu je následující

[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     : 'e2enetworks.com' 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

Ubuntu
  1. Jak nainstalovat a nakonfigurovat Ansible na Windows

  2. Jak nainstalovat a nakonfigurovat Redis na Ubuntu 18.04

  3. Jak nainstalovat a nakonfigurovat Monit.

  1. Jak nainstalovat a nakonfigurovat Redmine na Ubuntu 18.04

  2. Jak nainstalovat a nakonfigurovat Sambu na Ubuntu 18.04

  3. Jak nainstalovat a nakonfigurovat Redis na Ubuntu 20.04

  1. Jak nainstalovat a nakonfigurovat Jenkins na Ubuntu 20.04

  2. Jak nainstalovat a nakonfigurovat Askbot na Ubuntu 16.04

  3. Jak nainstalovat a nakonfigurovat MongoDB na Ubuntu 14.04