GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come installare Monit su CentOS 8 / RHEL 8

Monit è uno strumento di monitoraggio dei processi open source per il sistema operativo Linux che ti aiuta a monitorare il processo di sistema. Ogni volta che il servizio/processo si interrompe, esegue automaticamente la manutenzione e la riparazione del particolare processo e si assicura che venga riportato online.

Monit può essere utilizzato anche per la gestione e il monitoraggio di programmi, file, directory, filesystem, controlli di rete TCP/IP, controlli di protocollo e può utilizzare SSL per tali controlli.

Si registra nel suo file di registro e notifica all'utente tramite messaggi personalizzabili.

Questa guida ti aiuterà a configurare Monit su CentOS 8 / RHEL 8.

Installa Monit

Installa gli strumenti di compilazione necessari poiché Monit deve ancora essere impacchettato come rpm per CentOS 8 / RHEL 8.

dnf install -y git gcc glibc make glibc-devel kernel-headers autoconf automake libtool bison flex libzip-devel pam-devel openssl openssl-devel

Clona il codice sorgente di Monit per la compilazione.

git clone https://bitbucket.org/tildeslash/monit.git

Compila il Monit con una serie di comandi seguenti.

cd monit

./bootstrap

./configure

make

make install

Configura Monitor

Funzionalità

Copia il file monitrc dal sorgente scaricato nella directory /etc.

cp monitrc /etc/

Apporteremo alcune modifiche al file di configurazione di Monit per i nostri requisiti.

vi /etc/monitrc

Per impostazione predefinita, Monit è impostato per controllare i servizi a intervalli di 30 secondi. Questo intervallo può essere modificato cambiando la riga sottostante.

set daemon 30

Puoi impostare un server di posta elettronica per ricevere avvisi nella tua casella di posta.

set mailserver mx.itzgeek.local port 25
Gli avvisi e-mail possono essere personalizzati utilizzando i modelli integrati che si trovano nel file di configurazione stesso. Per ulteriori informazioni, vedere gli avvisi tramite posta elettronica con Monit in fondo a questo articolo.

L'impostazione dei registri può essere modificata utilizzando il seguente file.

set log /var/log/monit.log

Assicurati di decommentare la riga sottostante. Collocheremo qui i file di monitoraggio del servizio.

include /etc/monit.d/*

Interfaccia Web

Monit fornisce anche un'interfaccia web per il monitoraggio e la gestione dei servizi configurati. Per impostazione predefinita, Monit è in ascolto sulla porta 2812, ma deve essere configurato.

Modifica il file di configurazione di Monit /etc/monitrc.

vi /etc/monitrc

Cerca la porta httpd 2812, modifica le seguenti voci.

DA:

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'
    #with ssl {            # enable SSL/TLS and set path to server certificate 
    # pemfile: /etc/ssl/certs/monit.pem 
    #}

A:

set httpd port 2812 and
    use address 0.0.0.0  # only accept connection from localhost (drop if you use M/Monit)
    allow  0.0.0.0/0         # allow localhost to connect to the server and
    allow admin:monit      # require user 'admin' with password 'monit'
    #with ssl {            # enable SSL/TLS and set path to server certificate
    #    pemfile: /etc/ssl/certs/monit.pem
    #}

Dalle impostazioni precedenti, Monit ascolterà sulla porta 2812 su tutte le interfacce. L'utente amministratore potrà accedere all'interfaccia web da qualsiasi rete.

Configurazione del sistema

Ora creeremo un file systemd per avviare automaticamente Monit all'avvio del sistema.

vi /lib/systemd/system/monit.service

Usa le impostazioni seguenti.

 # This file is systemd template for monit service. To
 # register monit with systemd, place the monit.service file
 # to the /lib/systemd/system/ directory and then start it
 # using systemctl (see below).
 #
 # Enable monit to start on boot:
 #         systemctl enable monit.service
 #
 # Start monit immediately:
 #         systemctl start monit.service
 #
 # Stop monit:
 #         systemctl stop monit.service
 #
 # Status:
 #         systemctl status monit.service

 [Unit]
 Description=Pro-active monitoring utility for unix systems
 After=network.target
 Documentation=man:monit(1) https://mmonit.com/wiki/Monit/HowTo

 [Service]
 Type=simple
 KillMode=process
 ExecStart=/usr/local/bin/monit -I
 ExecStop=/usr/local/bin/monit quit
 ExecReload=/usr/local/bin/monit reload
 Restart = on-abnormal
 StandardOutput=null

 [Install]
 WantedBy=multi-user.target                        

Ricarica il demone systemd.

systemctl daemon-reload

Avvia il servizio di monitoraggio.

systemctl start monit

Avvia automaticamente il monitoraggio all'avvio.

systemctl enable monit

Firewall

Configura il firewall per consentire l'accesso all'interfaccia web di Monit, in esecuzione sulla porta 2812.

firewall-cmd --permanent --add-port=2812/tcp

firewall-cmd --reload

Accedi all'interfaccia web di Monitor

Apri il tuo browser web e vai all'URL sottostante.

http://tuo.ip.addr.ess:2812

O

http://tuo.fq.dn:2812

Utilizza il nome utente e la password menzionati nel passaggio precedente.

La home page di Monit sarà simile a questa:

Configura i servizi per il monitoraggio con Monit

Una volta installata l'interfaccia web, possiamo iniziare a configurare altri servizi che desideri monitorare.

mkdir /etc/monit.d/

Puoi inserire i file di configurazione nella directory /etc/monit.d/.

Configura il servizio per syslog.

vi /etc/monit.d/syslogmonitor

Usa le informazioni qui sotto.

check process SysLog with pidfile /var/run/rsyslogd.pid
start program = "/usr/bin/systemctl start rsyslog.service"
stop program = "/usr/bin/systemctl stop rsyslog.service"

Servizio di configurazione per HTTP.

vi /etc/monit.d/httpdmonitor

Usa le informazioni qui sotto.

check process HTTPD with pidfile /var/run/httpd/httpd.pid
start program "/usr/bin/systemctl start httpd.service"
stop program "/usr/bin/systemctl stop httpd.service"
if failed port 80 protocol http then restart

Una volta configurata, verifica la sintassi di Monit

monit -t

Risultato:

Control file syntax OK

Ricarica Monit per rendere effettive le modifiche.

systemctl reload monit

Accedi all'interfaccia web. Dovresti vedere i nuovi servizi che abbiamo configurato proprio ora.

Facendo clic su un servizio verranno fornite ulteriori informazioni sul servizio specifico. Qui puoi eseguire azioni come avviare, interrompere e riavviare il servizio e anche disabilitare il monitoraggio.

Testare il monitoraggio

Ora interrompi il servizio HTTP per i nostri test.

systemctl stop httpd

Attendi 30 secondi, Monit avvierà automaticamente il syslog. Puoi trovarlo nel registro di Monit.

cat /var/log/monit.log

Risultato:

[EST Jan 27 20:37:03] error    : 'HTTPD' process is not running
[EST Jan 27 20:37:03] info     : 'HTTPD' trying to restart
[EST Jan 27 20:37:03] info     : 'HTTPD' start: '/usr/bin/systemctl start httpd.service'
[EST Jan 27 20:37:38] info     : 'HTTPD' process is running with pid 25270

Avvisi e-mail con Monit

In Monit sono disponibili modelli di avviso predefiniti per avvisare gli amministratori di sistema in caso di guasto di un particolare servizio. Per questa demo, utilizzeremo l'inoltro locale (server di posta elettronica) per avvisare l'utente root.

Modifica il file di configurazione.

vi /etc/monitrc

Puoi aggiornare il modello di avviso di seguito in base alle tue esigenze.

set mail-format {
  from:    Monit <monit@$HOST>
  subject: monit alert --  $EVENT $SERVICE
  message: $EVENT Service $SERVICE
                Date:        $DATE
                Action:      $ACTION
                Host:        $HOST
                Description: $DESCRIPTION

           Your faithful employee,
           Monit
}

Imposta qui l'indirizzo del destinatario per ricevere avvisi su tutti i tipi di azioni

set alert root@localhost

Imposta qui l'indirizzo del destinatario per non avvisare in caso di riavvio del servizio avviato dall'utente.

set alert root@localhost not on { instance, action }

Infine, imposta la configurazione del server di posta in modo da poter ricevere la posta.

set mailserver localhost

Qui sto usando il local relay dnf install -y sendmail &&systemctl start sendmail in modo che possiamo leggere gli avvisi e-mail sul terminale per confermare il meccanismo di avviso.

Ricarica il servizio.

systemctl reload monit

Visualizza avviso

Monit ha inviato e-mail all'utente root sul processo HTTP.

cat /var/spool/mail/root

Risultato:

To: [email protected]
Subject: monit alert --  Does not exist HTTPD
Date: Tue, 28 Jan 2020 01:44:05 GMT
X-Mailer: Monit 5.27.0
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
Message-Id: <[email protected]>

Does not exist Service HTTPD
                Date:        Mon, 27 Jan 2020 20:44:05
                Action:      restart
                Host:        centos8.itzgeek.local
                Description: process is not running

           Your faithful employee,
           Monit @ ITzGeek

From [email protected]  Mon Jan 27 20:44:47 2020
Return-Path: <[email protected]>
Received: from centos8.itzgeek.local (localhost [127.0.0.1])
        by centos8.itzgeek.local (8.15.2/8.15.2) with ESMTP id 00S1ilKL026285
        for <root@localhost>; Mon, 27 Jan 2020 20:44:47 -0500
From: "Monit" <[email protected]>
To: [email protected]
Subject: monit alert --  Exists HTTPD
Date: Tue, 28 Jan 2020 01:44:47 GMT
X-Mailer: Monit 5.27.0
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
Message-Id: <[email protected]>

Exists Service HTTPD
                Date:        Mon, 27 Jan 2020 20:44:47
                Action:      alert
                Host:        centos8.itzgeek.local
                Description: process is running with pid 26069

           Your faithful employee,
           Monit @ ITzGeek

O

Usa mutt dnf install -y mutt, un client di posta elettronica per visualizzare gli avvisi.

Conclusione

È tutto. Abbiamo configurato correttamente Monit su CentOS 8 / RHEL 8.


Cent OS
  1. Come installare phpMyAdmin su RHEL 8 / CentOS 8

  2. Come installare P7Zip su RHEL 8 / CentOS 8

  3. Come installare ntfs-3g su RHEL 8 / CentOS 8

  4. Come installare Icinga 2 su CentOS 8 / RHEL 8

  5. Come installare Monit su CentOS 6

Come installare cpan su RHEL 8 / CentOS 8

Come installare Ruby su RHEL 8 / CentOS 8

Come installare Docker CE su RHEL 8 / CentOS 8

Come installare VirtualBox 6.0 su CentOS 8 / RHEL 8

Come installare PHP 7.4 su CentOS 8 / RHEL 8

Come installare Monit su CentOS 7 / RHEL 7