Monit è un programma di monitoraggio del server in grado di controllare i processi in esecuzione sul sistema per assicurarsi che siano sempre online e in esecuzione entro limiti ragionevoli di CPU e memoria. Inoltre è dotato di un'interfaccia web per monitorare il tuo sistema.
Cosa fa Monit?
Semplicemente, Monit verificherà una determinata procedura ogni due minuti (per impostazione predefinita) para ver cómo está funcionando. Mantiene un registro del uso de recursos y puede tomar medidas si se produce un error. Esto incluye relanzar procesos bloqueados y reiniciar procesos que usan demasiados recursos.
Monit establece su comportamiento totalmente a través de archivos de configuración. Aquí está la configuración predeterminada para MySQL como ejemplo:
check process mysql with pidfile /var/run/mysqld/mysqld.pid start program = "/usr/sbin/service mysql start" with timeout 60 seconds stop program = "/usr/sbin/service mysql stop" with timeout 60 seconds if totalmem > 400 MB for 5 cycles then alert if totalmem > 600 MB for 5 cycles then restart if cpu > 50% per 5 cycles then alert if cpu > 90% per 5 cycles then restart if 3 restarts within 5 cycles then timeout
Monit está configurado para monitorear el procedimiento de MySQL en ejecución. Si se cae, puede iniciarlo de nuevo con el start program =
config. Si MySQL comienza a utilizar demasiados recursos, se puede reiniciar automáticamente, aún cuando primero se le advertirá por email.
Además se puede configurar para monitorear su sistema como un todo y puede alertarle si su servidor está experimentando una carga inusual.
check system wp01 if loadavg(5min) > 1 then alert if memory usage > 90% per 5 cycles then alert if cpu usage (utente) > 90% per 5 cycles then alert
Todo lo que Monit supervisa se puede ver desde la interfaz web, que se ejecuta en el puerto 2812 per impostazione predefinita.
Allo stesso tempo, puede ver los datos de varios hosts en un solo lugar con el Utilidad M / Monit, que necesita una licencia pero es gratuito para probar.
IMPARENTATO: Come impostare le notifiche di Slack per spazio su disco insufficiente sul tuo server
Monit installazione e configurazione
Installa Monit da il gestore di pacchetti della tua distribuzione; per sistemi basati su Debian come Ubuntu, sarebbe:
sudo apt-get install monit
Monit dovrebbe venire con le impostazioni predefinite, generalmente situato in ~/.monitrc
. Se non l'hai fatto (come nel caso di un'installazione macOS), puoi trovare i file di configurazione predefiniti qui.
L'interfaccia web di Monit è configurata per essere eseguita sulla porta 2812. Va bene, pero está totalmente abierta de forma predeterminada con una contraseña predeterminada. Queremos bloquearlo en una dirección IP autorizada y
set httpd port 2812 allow your_ip allow admin:parola d'ordine
Cambie esta contraseña, in ogni caso. C'è un algunas opciones de configuración más para la interfaz web, pero esto es bueno por ahora.
Successivamente, Monit se puede configurar para monitorear procesos individuales. Generalmente, esto se hace con el archivo PID de procesos (que a menudo se encuentra en /var/run/
) que almacena el PID actual de la instancia en ejecución de ese procedimiento, puesto que el PID cambiará cada vez que se reinicie el procedimiento.
check process nginx with pidfile /var/run/nginx.pid start program = "/etc/init.d/nginx start" stop program = "/etc/init.d/nginx stop"
Deberá pasar un comando a Monit para iniciar y detener su procedimiento. Debería reiniciarse automáticamente si el procedimiento falla, sin configuración adicional, pero si desea reiniciar según el uso de recursos, tendrá que especificarlo usted mismo con algunos if
dichiarazioni:
check process nginx with pidfile /var/run/nginx.pid start program = "/etc/init.d/nginx start" stop program = "/etc/init.d/nginx stop" if totalmem > 600 MB for 5 cycles then restart if cpu > 90% per 5 cycles then restart if 3 restarts within 5 cycles then timeout
Monit enviará alertas cada vez que se reinicie algo, por lo que se le notificará cuando algo esté mal.
Una vez que haya terminado con la configuración, vuelva a cargar el demonio monit con:
monitorare la ricarica
E inizia a monitorare con:
mon inizia tutto
Questo dovrebbe anche avviare l'interfaccia web, che puoi utilizzare per verificare che Monit funzioni correttamente, generalmente in esecuzione nel porto 2812.
Questa è la configurazione di base per Monit per funzionare fuori dalla scatola, ma Monit ha molta più sintassi. Puoi leggi il manuale completo fondamentalmente cosa può fare Monit per saperne di più.
Configura avvisi
Monit se puede configurar para enviar alertas por email siempre que se produzcan problemas importantes o cuando se reinicien los procesos. Deberá agregar la configuración para su servidor de correo:
set mailserver smtp.gmail.com port 587 nome utente "[email protected]" parola d'ordine "secret" with timeout 60 seconds set eventqueue basedir /var/lib/monit/events slots 100
El primer bloque establece el servidor de correo a usar. El método más sencillo sería utilizar smtp.gmail.com
con una cuenta de Gmail, anche se puoi installare Postfix sul tuo server per eseguirlo localmente o utilizzare un servizio di posta elettronica aziendale.
La seconda riga dice a Monit di mettere in coda gli avvisi, se il server di posta non è raggiungibile per qualsiasi motivo.
Evidentemente, devi anche configurare l'indirizzo email a cui invii:
imposta l'avviso [email protected]
Allo stesso tempo, poiché Monit ha la capacità di eseguire script con il exec
comando, puoi impostare avvisi personalizzati come preferisci. Come esempio, puoi impostare uno script per inviarti notifiche da Slack, almacenarlo como /usr/local/bin/slack-webhook.sh
y ejecútelo siempre que nginx cambie el PID o sea reiniciado por Monit:
check process nginx with pidfile /var/run/nginx.pid start program = "/etc/init.d/nginx start" stop program = "/etc/init.d/nginx stop" if changed pid then exec "/bin/bash -c 'PROCESS=Nginx /usr/local/bin/slack-webhook.sh'" Se 1 restart within 1 cycle then exec "/bin/bash -c 'PROCESS=Nginx /usr/local/bin/slack-webhook.sh'"
Si prega di notare che tutte le rotte devono essere completamente classificate, incluso /bin/bash
e percorsi per gli eseguibili nella tua sede bin
. E una volta che hai finito di modificare i file di configurazione, dovrai ricaricare Monit.