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

Come installare Monit su CentOS 7 / RHEL 7

Monit è uno strumento di monitoraggio del processo opensource per il sistema operativo Linux che ti aiuta a monitorare il processo di sistema utilizzando il browser web e anche ogni volta che lo richiede esegue automaticamente la manutenzione o la riparazione del particolare processo in modo tale che possa essere riportato online.

Monit può essere utilizzato anche per la gestione e il monitoraggio di programmi, file, directory e dispositivi per modifiche di timestamp, modifiche al checksum o modifiche alle dimensioni; non limitato a eseguire vari 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 installare Monit su CentOS 7 / RHEL 7.

Installa Monit

Abilita il repository EPEL per scaricare l'ultima versione di Monit.

yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

Installa Monit usando il comando YUM.

yum -y install monit

Avvia il monitoraggio usando il comando seguente.

monit

Risultato:

Starting Monit 5.25.1 daemon with http interface at [localhost]:2812

Controlla lo stato di monitoraggio.

monit status

Risultato:

Monit 5.25.1 uptime: 0m

System 'server.itzgeek.local'
  status                       OK
  monitoring status            Monitored
  monitoring mode              active
  on reboot                    start
  load average                 [0.01] [0.05] [0.04]
  cpu                          0.0%us 0.0%sy 0.0%wa
  memory usage                 170.2 MB [29.0%]
  swap usage                   0 B [0.0%]
  uptime                       4m
  boot time                    Sun, 09 Feb 2020 04:55:42
  data collected               Sun, 09 Feb 2020 05:00:00

Configura Monitor

Il file di configurazione principale di Monit è /etc/monitrc. 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. Questa impostazione può essere modificata modificando la riga sottostante.

set daemon  30

Gli avvisi possono essere configurati da.

set mailserver mx.itzgeek.local port 25

I modelli di avviso possono essere trovati nel file di configurazione stesso. Vedi gli extra in fondo a questo articolo.
L'impostazione dei registri può essere modificata utilizzando il seguente file.

set log /var/log/monit

Abilita interfaccia Web Monitor

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 monitoraggio.

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
    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 di cui sopra, monit sarà in ascolto su 2812 e l'utente amministratore potrà accedere all'interfaccia web da qualsiasi rete.

Ricarica monitor.

systemctl restart monit

Avvia automaticamente il monitoraggio all'avvio.

systemctl enable monit

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 monitoraggio

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 apparirà come sotto.

Configura i servizi per il monitoraggio con Monit

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

È possibile posizionare i file di configurazione del monitoraggio del servizio nella directory /etc/monit.d/.

Configura per il servizio SSH.

vi /etc/monit.d/sshdmonitor

Usa le informazioni di seguito.

check process sshd with pidfile /var/run/sshd.pid
start program  "/usr/bin/systemctl start sshd.service"
stop program  "/usr/bin/systemctl stop sshd.service"
if failed port 22 protocol ssh then restart

Configura il servizio per syslog.

vi /etc/monit.d/syslogmonitor

Usa le informazioni di seguito.

check process syslogd with pidfile /var/run/syslogd.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 di seguito.

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 monitoraggio

monit -t

Uscita:

Control file syntax OK

Ricaricalo, per rendere effettive le modifiche.

monit reload

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

Cliccando sui servizi otterrai maggiori informazioni sul particolare servizio. Qui puoi eseguire azioni come avviare, interrompere e riavviare il servizio e anche disabilitare il monitoraggio.

Monitoraggio test

Ora interrompi il servizio HTTP per i nostri test.

systemctl stop httpd

Attendi 30 secondi, monit avvierà automaticamente il syslog. Puoi trovarlo nel log di monitoraggio.

cat /var/log/monit.log

Uscita:

[UTC Feb  9 05:18:00] error    : 'httpd' process is not running
[UTC Feb  9 05:18:00] info     : 'httpd' trying to restart
[UTC Feb  9 05:18:00] info     : 'httpd' start: '/usr/bin/systemctl start httpd.service'
[UTC Feb  9 05:18:31] info     : 'httpd' process is running with pid 1959

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.

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 @ ITzGeek
}

Imposta qui l'indirizzo del destinatario. Nota:riceverai avvisi su tutti i tipi di azioni

set alert root@localhost

Se desideri non avvisarti al riavvio del servizio avviato dall'utente, aggiungi la configurazione seguente.

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

Infine, imposta la configurazione del server di posta in modo da poter ricevere la posta. Qui sto usando il relè locale in modo da poter leggere l'avviso di posta sul terminale per verificare il test.

set mailserver localhost

Ricarica il servizio.

monit reload

Esempio di avviso

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

cat /var/spool/mail/root

Posta:

From [email protected]  Sun Feb  9 05:22:48 2020
Return-Path: <[email protected]>
X-Original-To: root@localhost
Delivered-To: [email protected]
Received: from server.itzgeek.local (localhost [IPv6:::1])
        by server.itzgeek.local (Postfix) with ESMTP id 670E21082B34
        for <root@localhost>; Sun,  9 Feb 2020 05:22:48 +0000 (UTC)
From: "Monit" <[email protected]>
To: [email protected]
Subject: monit alert --  Does not exist httpd
Date: Sun, 09 Feb 2020 05:22:48 GMT
X-Mailer: Monit 5.25.1
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:        Sun, 09 Feb 2020 05:22:48
                 Action:      restart
                 Host:        server.itzgeek.local
                 Description: process is not running

            Your faithful employee,
            Monit @ ITzGeek

From [email protected]  Sun Feb  9 05:23:18 2020
Return-Path: <[email protected]>
X-Original-To: root@localhost
Delivered-To: [email protected]
Received: from server.itzgeek.local (localhost [IPv6:::1])
        by server.itzgeek.local (Postfix) with ESMTP id B22AF1082B37
        for <root@localhost>; Sun,  9 Feb 2020 05:23:18 +0000 (UTC)
From: "Monit" <[email protected]>
To: [email protected]
Subject: monit alert --  Exists httpd
Date: Sun, 09 Feb 2020 05:23:18 GMT
X-Mailer: Monit 5.25.1
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
Message-Id: <[email protected]>

Exists Service httpd
                 Date:        Sun, 09 Feb 2020 05:23:18
                 Action:      alert
                 Host:        server.itzgeek.local
                 Description: process is running with pid 2139

            Your faithful employee,
            Monit @ ITzGeek

O

Usa il client di posta elettronica Mutt (yum install -y mutt).

Conclusione

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


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 8 / RHEL 8