Iniziare con Monit per il Monitoraggio dei Server

0
148

Monit è un server di monitoraggio di programma in grado di controllare i processi in esecuzione sul vostro sistema per garantire che siano sempre online e operativo entro un termine ragionevole di CPU e di memoria limiti. Inoltre è dotato di un interfaccia web per il monitoraggio del sistema.

Cosa Monit Fare?

Essenzialmente, Monit sarà il check-in in un determinato processo, ogni due minuti (per impostazione predefinita) per vedere come si fa. Mantiene un registro di utilizzo delle risorse, e può agire se si verifica un errore. Questo include il rilancio si è schiantato processi, e riavviare i processi che utilizza troppe risorse.

Monit definisce il suo comportamento completamente attraverso il file di configurazione. Ecco la configurazione di default per MySQL come esempio:

processo di controllo di mysql
con pidfile /var/run/mysqld/mysqld.pid
avviare il programma = “/usr/sbin/service mysql start” con timeout di 60 secondi
il programma di stop = “/usr/sbin/service mysql stop” con timeout di 60 secondi
se totalmem > 400 MB per 5 cicli quindi avviso
se totalmem > 600 MB per 5 cicli riavviare
se la cpu > 50% per 5 cicli quindi avviso
se la cpu > 90% per 5 cicli riavviare
se 3 verrà riavviato entro 5 cicli quindi timeout

Monit è configurato per monitorare il MySQL in esecuzione del processo. Se va giù, si può iniziare di nuovo utilizzando il programma start = config. Se MySQL inizia a utilizzare troppe risorse, può essere riavviato automaticamente, anche se sarete avvisati via e-mail prima.

Può anche essere configurato per monitorare l’intero sistema, e in grado di segnalare se il server si è verificato insolito carico.

il sistema di controllo di wp01
se loadavg(5min) > 1 then avviso
se l’utilizzo della memoria > 90% per 5 cicli quindi avviso
se l’utilizzo della cpu (utente) > 90% per 5 cicli quindi avviso

Tutto Monit monitor è visibile dall’interfaccia web, che viene eseguito sulla porta 2812 per impostazione predefinita.

Inoltre, è possibile visualizzare i dati per più host in un unico luogo con la M/Monit utilità, che non richiedono una licenza, ma è libero di provare.

CORRELATI: Come per l’Installazione di Slack Notifiche per carenza di Spazio su Disco Sul Server

Installazione e Configurazione di Monit

Installare Monit dal vostro gestore di pacchetti della distro; in sistemi basati su Debian, come Ubuntu, che sarebbe:

sudo apt-get install monit

Monit dovrebbe venire con la configurazione di default, di solito si trova in ~/.monitrc. Se non (come era il caso con una installazione macOS) è possibile trovare il file di configurazione di default di qui.

Monit interfaccia web è configurato per l’esecuzione sulla porta 2812. Questo è bene, ma è tutto aperto per impostazione predefinita con una password di default. Ci vorrà bloccare un rivenditore autorizzato indirizzo IP e

set httpd porta 2812
consentire your_ip
consentire admin:password

Modificare la password, ovviamente. Ci sono alcuni ulteriori opzioni di configurazione per l’interfaccia web, ma questo è un bene per ora.

Monit poi può essere configurato per monitorare i singoli processi. Di solito, questo viene fatto con i processi di file PID (spesso si trovano in /var/run/) che contiene l’attuale PID dell’istanza in esecuzione di tale processo, dal momento che il PID cambia ogni volta che il processo viene riavviato.

processo di controllo di nginx con pidfile /var/run/nginx.pid
avviare il programma = “/etc/init.d/nginx start”
il programma di stop = “/etc/init.d/nginx stop”

Avrete bisogno di passare Monit un comando per avviare e interrompere il processo. Si dovrebbe riavviare automaticamente se il processo va giù, senza ulteriori config, ma se si desidera riavviare basato sull’utilizzo delle risorse, si dovrà specificare che la familiarità con alcuni se le istruzioni:

processo di controllo di nginx con pidfile /var/run/nginx.pid
avviare il programma = “/etc/init.d/nginx start”
il programma di stop = “/etc/init.d/nginx stop”
se totalmem > 600 MB per 5 cicli riavviare
se la cpu > 90% per 5 cicli riavviare
se 3 verrà riavviato entro 5 cicli quindi timeout

Monit invierà avvisi ogni volta che qualcosa viene riavviato, così sarai avvisato quando c’è qualcosa di sbagliato.

Una volta che hai finito con la config, ricaricare il monit demone con:

monit ricarica

E avviare il monitoraggio con:

monit avviare tutti

Questo dovrebbe avviare l’interfaccia web, che è possibile utilizzare per verificare che Monit funziona correttamente, di solito in esecuzione sulla porta 2812.

Questa è la configurazione di base per ottenere Monit running out of the box, ma Monit ha molto più di sintassi. Potete leggere l’intero manuale su tutto ciò che può fare Monit per saperne di più.

Configurazione Degli Allarmi

Monit può essere configurato per inviare avvisi e-mail ogni volta che i maggiori problemi si verificano, o quando i processi vengono riavviati. Avrete bisogno di aggiungere la configurazione per il server di posta:

set mailserver smtp.gmail.com
la porta 587
username “yourserver@gmail.com”
password “segreto”
con timeout di 60 secondi

set eventqueue
basedir /var/lib/monit/eventi
slot 100

Il primo blocco definisce il server di posta da utilizzare. Il metodo più semplice sarebbe quello di utilizzare solo smtp.gmail.com con un account Gmail, anche se si potrebbe installare Postfix sul vostro server in locale, o utilizzare un servizio di e-mail aziendali.

La seconda riga dice Monit a coda di avvisi, se il server di posta non è raggiungibile per qualsiasi motivo.

Ovviamente, avrete anche bisogno di impostare l’indirizzo e-mail inviata a:

impostare avviso youremail@gmail.com

Inoltre, poiché Monit ha la capacità di eseguire gli script con il comando exec, è possibile impostare avvisi personalizzati tuttavia si desidera. Per esempio, si potrebbe impostare uno script per inviare la Slack, notifiche, archivio come /usr/local/bin/slack-webhook.sh ed eseguirlo ogni volta che nginx modifiche PID o è riavviato da Monit:

processo di controllo di nginx con pidfile /var/run/nginx.pid
avviare il programma = “/etc/init.d/nginx start”
il programma di stop = “/etc/init.d/nginx stop”
se pid è cambiato poi exec “/bin/bash -c ‘PROCESSO=Nginx /usr/local/bin/slack-webhook.sh'”
se 1 riavviare entro 1 ciclo quindi exec “/bin/bash -c ‘PROCESSO=Nginx /usr/local/bin/slack-webhook.sh'”

Nota che tutti i percorsi devono essere completo, inclusi /bin/bash e i percorsi per i file eseguibili in locale bin. E dopo che hai finito di modificare il file di configurazione, è necessario ricaricare Monit di nuovo.