GNU/Linux >> Linux Esercitazione >  >> Debian

Come installare Monit (monitoraggio di processi e servizi) su Ubuntu / Debian

Monit - Monitoraggio di processi e servizi per Linux

I servizi su qualsiasi server devono essere attivi e in esecuzione e fare ciò che dovrebbero fare.

Il monitoraggio automatizzato è necessario per garantire e massimizzare il tempo di attività e la disponibilità dei servizi di sistema su un server.

Consente agli amministratori di sistema di ricevere notifiche e risolvere i problemi il prima possibile con interruzioni o tempi di inattività minimi.

In questo post giocheremo con uno strumento chiamato Monit in grado di monitorare servizi e processi su un server e inviare e-mail di avviso quando qualcosa non va.

Lo strumento stesso è abbastanza leggero e consente agli utenti di scrivere "test" utilizzando un linguaggio di script molto semplice.

Installa Monitor

Sui sistemi basati su Debian e Ubuntu Monit è disponibile nei repository predefiniti. Installa usando apt-get

$ sudo apt-get install monit

Dopo l'installazione, monit verrà avviato come servizio in background e può essere verificato con il seguente comando

# service monit status
 * monit is running

Configura Monitor

La prossima cosa da fare è configurare monit per monitorare cose specifiche. Il file di configurazione per Monit si trova in /etc/monit/monitrc su sistemi basati su Ubuntu e Debian.

You can either add all configurations to this file - /etc/monit/monitrc, or create additional configuration files in the /etc/monit/conf.d/ directory and monit would automatically read and load all of them

Inizia a modificare il file di configurazione per aggiungere i servizi che desideri monitorare.

Monit ha anche un file di registro situato in /var/log/monit.log che conterrebbe informazioni preziose se è necessario correggere qualcosa

Dopo la configurazione, prova la nuova configurazione eseguendo il comando seguente

# sudo monit -t

Ricarica la nuova configurazione senza riavviare tutto di monit

# sudo monit reload

Abilita l'interfaccia web

L'interfaccia web consente di controllare i report di Monit dal browser. Ciò è utile durante l'impostazione e il test di monit. Successivamente, è meglio disabilitarlo per mantenere le cose al sicuro.

Trova la riga "set httpd" nel file di configurazione e decommenta. Se la linea non esiste, creane una.

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

Ora accedi a http://localhost:2812/ e l'interfaccia web di Monit dovrebbe aprirsi.

Imposta avvisi e-mail

L'idea alla base di monit è di essere avvisati ogni volta che si verifica qualcosa di inaspettato. Monit può inviare automaticamente e-mail. Trova la riga "imposta avviso" e specifica l'e-mail in cui desideri che vengano consegnati i rapporti. Specifica anche il server di posta da utilizzare.

set alert [email protected]
set mailserver localhost

Assicurati che ci sia un server smtp (MTA) in esecuzione su localhost e che sia in grado di consegnare la posta correttamente. Utilizzare il comando mail per verificare che il sistema sia configurato correttamente per inviare e-mail.

Evita le email non di avviso - Monit per impostazione predefinita invia e-mail per ogni cosa che fa o tutto ciò che accade. Ad esempio quando inizia il monitoraggio. Tuttavia, vogliamo solo le e-mail specifiche dell'avviso. Modifica la configurazione come segue

set alert [email protected] not on {instance}

La configurazione di cui sopra non invia tramite e-mail i rapporti sull'istanza generati all'avvio/arresto del monitoraggio. Per ulteriori informazioni, consulta la documentazione di monitoraggio sui filtri degli eventi per gli avvisi.

Ecco come appare un'e-mail di avviso Monit. Viene generato quando viene eseguito un test dello spazio su disco e non riesce sul server.

Resource limit matched Service server_disk 

	Date:        Thu, 11 Jun 2015 15:41:43
	Action:      alert
	Host:        localhost
	Description: space usage 61.4% matches resource limit [space usage>50.0%]

Your faithful employee,
Monit

Monitoraggio di servizi come Apache, Mysql, Postfix

Ora vuoi monitorare il tuo server web, server di database, server di posta e altri demoni per assicurarti che i servizi siano sempre attivi e funzionanti perfettamente. Questo è facile.

Continua ad aggiungere le istruzioni nel file di configurazione di monit per specificare ogni servizio che desideri monitorare e Monit inizierà a farlo immediatamente.

After changing configurations, make sure to run 'sudo monit reload' to bring them in effect.
While testing you can manually turn services on/off and check the monit report from the web interface.

Ecco alcuni esempi -

1. Servizio HTTP - porta 80

L'esempio seguente dirà a Monit di verificare se il server http è in servizio sulla porta 80 o meno. In caso contrario, genererebbe un avviso

check host http_server with address localhost
    if failed port 80 protocol http then alert

Quindi, se c'è qualche problema con il server http (apache o nginx) verrebbe generato un avviso
Allo stesso modo puoi impostare monitor per altre porte come ftp, smtp, imap ecc.

2. Monitora lo stato del sito web

Il solo monitoraggio della porta 80 non è sufficiente per garantire che il sito Web sia attivo e funzionante. Dobbiamo assicurarci che il recupero di una pagina fornisca un codice di risposta http di 200. Ecco la configurazione richiesta

# check that website is working proper
check host binarytides with address www.binarytides.com
    if failed
        port 80
        protocol http
        request "/"
        status = 200
    then alert

Se una delle opzioni "porta 80" o "server http" o "stato 200 per / url" non riesce, verrà generato un avviso. Questo è un modo efficace per verificare che il tuo sito sia attivo e disponibile per gli utenti.

3. Server Web Apache - Monitoraggio dei processi

I processi vengono monitorati utilizzando file pid specifici. Ad esempio su Debian Apache il server web ha un pid situato in /var/run/apache2/apache2.pid che può essere verificato per assicurarsi che apache sia in esecuzione o meno.

# Monitor Apache and restart if not running, also alert
check process apache with pidfile /var/run/apache2/apache2.pid
    start program = "/etc/init.d/apache2 start"
    stop program  = "/etc/init.d/apache2 stop"

Quanto sopra dice a monit di monitorare il processo dal file pid specificato. Da qui, se monit non trova il processo in esecuzione, tenterà di avviarlo utilizzando il comando specificato nel parametro "start program". Per impostazione predefinita, monit genererà anche un avviso (e-mail) al riavvio.

Solo monitor

Se non vuoi che monit riavvii apache e ti informi solo sull'evento, usa un diverso tipo di configurazione

# Alert if apache not running
check process apache with pidfile /run/apache2/apache2.pid
    if does not exist then alert

4. Controlla Mysql sulla porta 3306 - Monitoraggio delle porte

In questo esempio monitoriamo il database mysql non utilizzando il pid ma collegandoci direttamente alla porta del servizio che è 3306.

Per controllare solo il numero di porta con protocollo utilizzare la seguente configurazione -

# check just port 3306
check host localmysql with address localhost
    if failed port 3306 protocol mysql then alert

La seguente configurazione verificherà il processo MySQL e si riavvierà se non è in esecuzione. Verificherebbe anche il servizio della porta 3306.

check process mysql_server with pidfile /var/run/mysqld/mysqld.pid
   start program = "/etc/init.d/mysql start"
   stop program = "/etc/init.d/mysql stop"
   if failed host 127.0.0.1 port 3306 protocol mysql then alert

5. Monitora il server di posta e le porte di Postfix

Ora consente di impostare una configurazione per monitorare il server di posta postfix. La configurazione è identica alle precedenti, solo con un file pid e un numero di porta diversi

check host localpostfix with address localhost
    if failed port 25 protocol smtp then alert

Per monitorare il processo e riavviare in caso di errore, utilizzare questo -

check process postfix with pidfile /var/spool/postfix/pid/master.pid
   start program = "/etc/init.d/postfix start"
   stop  program = "/etc/init.d/postfix stop"
   if failed port 25 protocol smtp then restart
And do not forget that while postfix is down, monit might not be able to send any emails (unless there are other mail servers specified). But monit would send them once the mail server is up again.

6. Avvisa ripetutamente

Per impostazione predefinita, Monit genera un avviso solo due volte. Una volta quando un test fallisce e un altro quando ha successo.

Se desideri ricevere avvisi ripetuti per lo stesso test non riuscito (se è troppo importante, ad esempio), utilizza la seguente configurazione.

set alert [email protected] with reminder on 15 cycles

La configurazione di cui sopra è un'impostazione globale, che invia tutti gli avvisi dopo ogni 15 controlli/cicli.

Per ripetere gli avvisi solo per test specifici, specifica la direttiva di avviso all'interno dei criteri di test particolari come questo

check filesystem datafs with path /dev/sda1
  alert [email protected] with reminder on 1 cycles
  if space usage > 80% for 5 times within 5 cycles then alert

Se desideri ricevere un promemoria meno volte ma ripetutamente, utilizza qualcosa come "promemoria su 10 cicli".

Controlla lo stato di monitoraggio

Ciò richiede che il demone http monit sia in esecuzione.

$ sudo monit status
The Monit daemon 5.8.1 uptime: 0m
Process 'apache'
  status                            Running
  monitoring status                 Monitored
  pid                               1335
  parent pid                        1
  uid                               0
  effective uid                     0
  gid                               0
  uptime                            1h 52m
  children                          7
  memory kilobytes                  29556
  memory kilobytes total            241604
  memory percent                    0.3%
  memory percent total              2.9%
  cpu percent                       0.0%
  cpu percent total                 0.0%
  data collected                    Fri, 05 Dec 2014 11:11:18
System 'enlightened'
  status                            Running
  monitoring status                 Monitored
  load average                      [0.05] [0.26] [0.35]
  cpu                               3.7%us 0.8%sy 0.0%wa
  memory usage                      3613152 kB [44.2%]
  swap usage                        0 kB [0.0%]
  data collected                    Fri, 05 Dec 2014 11:11:18

Oppure controlla l'interfaccia web su http://localhost:2812/ per controllare lo stato di tutto

Conclusione

Gli esempi precedenti mostrano solo esempi molto semplici di impostazione di attività di monitoraggio con Monit.

Monit è in grado di eseguire operazioni molto più complesse come eseguire il ping degli host di rete, eseguire script esterni e testare l'output per un determinato valore.

Controlla la documentazione completa su -
https://mmonit.com/monit/documentation/monit.html

Esempi di configurazione dalla pagina wiki di Monit contiene molti esempi su come configurare i monitor per vari servizi -

http://mmonit.com/wiki/Monit/ConfigurationExamples

Se hai commenti o domande, faccelo sapere nei commenti qui sotto.


Debian
  1. Come installare Netflix in Kodi su Ubuntu e Debian

  2. Come installare e configurare Webmin su Debian / Ubuntu

  3. Come installare Python 3.7 su Ubuntu, Debian e LinuxMint

  4. Come installare Suricata su Debian 11

  5. Come installare e configurare Monit su Linux per il monitoraggio dei processi

Come installare Cacti Monitoring su Debian 9

Come installare Cacti Monitoring su Debian 10

Come installare Mongoku su Ubuntu 20.04 / Debian 11

Come installare ODBC su Ubuntu 20.04 / Debian 11?

Come installare Jitsi Meet su Debian e Ubuntu

Come installare Grafana su Ubuntu 18.04 e Debian 8