Monit è uno strumento di monitoraggio dei processi gratuito e open source che può essere utilizzato per monitorare il processo di sistema utilizzando il browser Web e la riga di comando. Viene anche utilizzato per monitorare file, directory e dispositivi per modifiche alle dimensioni e alle autorizzazioni. Monit ripara automaticamente un particolare processo se si interrompe. Monit è anche in grado di monitorare la maggior parte dei servizi come Apache, Sendmail, Nginx, FTP, SSH e MySQL su sistemi basati su Linux. È possibile monitorare la porta TCP/IP degli host remoti, i protocolli e il ping utilizzando Monit. Monit ha la capacità di interrompere un processo specifico che utilizza risorse elevate. Monitora, controlla il tuo server e invia avvisi su eventuali condizioni di errore critiche e stato di ripristino.
Caratteristiche
- Avvia, arresta e termina automaticamente un processo specifico.
- Interfaccia web facile da usare per il monitoraggio dello stato.
- Informare via e-mail di qualsiasi condizione critica.
- Controlla il carico del sistema, l'utilizzo della CPU, l'utilizzo della RAM, il disco, le modifiche alle dimensioni dei file, le modifiche alle autorizzazioni ecc.
- Monitoraggio di vari protocolli HTTP, FTP, SSH, POP, IMAP, LDAP, IMAP e SMTM.
- Registrazione tramite syslog o proprio file di registro.
In questo tutorial, spiegheremo come configurare e utilizzare Monit su Debian 9.
Requisiti
- Un nuovo server Debian 9 installato sul tuo sistema.
- La password di root è impostata sul tuo server.
1.Aggiorna il sistema
Iniziamo aggiornando il tuo sistema all'ultima versione stabile. Puoi aggiornarlo con il seguente comando:
apt-get update -y
apt-get upgrade -y
Una volta aggiornato il sistema, riavvia il sistema per rendere effettive queste modifiche con il seguente comando:
reboot
Dopo il riavvio, accedi con l'utente root e procedi al passaggio successivo.
2. Installazione di Monit
Per impostazione predefinita, Monit è disponibile nel repository di Ubuntu. Puoi installarlo facilmente eseguendo il seguente comando:
apt-get install monit -y
Una volta installato Monit, avvia il servizio Monit e abilitalo all'avvio all'avvio eseguendo il comando seguente:
systemctl start monit
systemctl enable monit
Puoi controllare lo stato del servizio Monit in qualsiasi momento eseguendo il comando seguente:
systemctl status monit
3 Configurazione di Monit
Il file di configurazione predefinito di Monit monitrc si trova nella directory /etc/monit/ e altri file di configurazione specifici di processi e server si trovano in /etc/monit/conf-available/diractory. Monit viene fornito con un'interfaccia web integrata, ma è disabilitato per impostazione predefinita. Puoi abilitarlo modificando il file /etc/monit/monitrc come segue:
nano /etc/monit/monitrc
Modifica le righe 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'
A
set httpd port 2812 and allow admin:monit # require user 'admin' with password 'monit'
Salva e chiudi il file al termine, quindi riavvia il servizio di monitoraggio per applicare queste modifiche con il comando seguente:
systemctl restart monit
Puoi controllare lo stato del servizio di monitoraggio con il seguente comando:
netstat -ant | grep :2812
Dovresti vedere il seguente output:
tcp 0 0 0.0.0.0:2812 0.0.0.0:* LISTEN 1615/monit tcp6 0 0 :::2812 :::* LISTEN 1615/monit
4 Accesso all'interfaccia Web di Monit
Puoi accedere all'interfaccia web di Monit utilizzando l'URL http://192.168.0.227:2812, quindi inserisci il nome utente admin e password monito . Dovresti vedere la dashboard di Monit come segue:
Puoi vedere lo stato di Minit con il seguente comando:
monit status
Dovresti vedere il seguente output:
System 'localhost' status Running monitoring status Monitored load average [0.68] [0.78] [0.45] cpu 0.0%us 0.0%sy 0.0%wa memory usage 294.1 MB [14.7%] swap usage 0 B [0.0%] data collected Mon, 07 Aug 2017 20:12:36
Una volta terminato, puoi procedere al passaggio successivo.
5 Aggiunta di servizi di monitoraggio
Una volta configurata l'interfaccia web di Monit, dovrai aggiungere i servizi che desideri monitorare.
Qui daremo alcuni esempi per monitorare alcuni servizi come Apache, Proftpd e Rsyslog.
Configura Monit per il servizio Apache
Per impostazione predefinita, Monit viene fornito con il modello predefinito per alcuni processi e servizi. Puoi trovare questi modelli nella directory /etc/monit/conf-available/. Per impostazione predefinita, il modello per Apache è disponibile in Monit. Quindi dovrai solo abilitarlo. Puoi abilitarlo eseguendo il seguente comando:
ln -s /etc/monit/conf-available/apache2 /etc/monit/conf-enabled/
Quindi, riavvia monit servcie per applicare queste modifiche con il seguente comando:
systemctl restart monit
Configura Monit per il servizio Rsyslog
Innanzitutto, abilita il modello Rsyslog con il seguente comando:
ln -s /etc/monit/conf-available/rsyslog /etc/monit/conf-enabled/
Quindi, riavvia il servizio di monitoraggio per applicare queste modifiche con il comando seguente:
systemctl restart monit
Configura Monit per il servizio Proftpd
Il modello per Proftpd non è disponibile con Monit. Quindi dovrai creare un file di configurazione per Proftpd. Puoi farlo creando il file proftpd all'interno della directory /etc/monit/conf-available/ come segue:
nano /etc/monit/conf-available/proftpd
Aggiungi le seguenti righe:
check process proftpd with pidfile /var/run/proftpd.pid start program = "/etc/init.d/proftpd start" stop program = "/etc/init.d/proftpd stop" if failed port 21 protocol ftp then restart
Salva e chiudi il file al termine, quindi abilita il file di configurazione con il seguente comando:
ln -s /etc/monit/conf-available/proftpd /etc/monit/conf-enabled
Quindi, controlla il file di configurazione per eventuali errori di sintassi con il seguente comando
monit -t
Infine, riavvia il servizio di monitoraggio per applicare queste modifiche con il comando seguente:
systemctl restart monit
Una volta configurati tutti i servizi richiesti, accedi all'interfaccia web per monitorare tutti i servizi come mostrato di seguito:
Quindi, fai clic sul servizio apache per visualizzare le informazioni dettagliate su apache:
6 Monitoraggio del monitoraggio tramite riga di comando
Puoi anche monitorare Monit dalla riga di comando. Puoi visualizzare un rapido riepilogo di monit eseguendo il comando seguente:
monit summary
Dovresti vedere il seguente output:
The Monit daemon 5.16 uptime: 0m Process 'rsyslogd' Initializing - start pending File 'rsyslogd_bin' Accessible File 'rsyslogd_rc' Accessible File 'rsyslog_file' Does not exist Process 'proftpd' Running Process 'apache' Execution failed File 'apache_bin' Accessible File 'apache_rc' Accessible System 'localhost' Running
Puoi anche vedere lo stato di tutti i servizi con il seguente comando:
monit status
Dovresti vedere il seguente output:
The Monit daemon 5.16 uptime: 0m Process 'rsyslogd' status Initializing - start pending monitoring status Initializing data collected Mon, 07 Aug 2017 20:41:18 File 'rsyslogd_bin' status Accessible monitoring status Monitored permission 755 uid 0 gid 0 size 585.3 kB timestamp Tue, 25 Oct 2016 11:38:40 checksum d71f3d1c58df065e3aac1e2c566a6436 (MD5) data collected Mon, 07 Aug 2017 20:41:18 File 'rsyslogd_rc' status Accessible monitoring status Monitored permission 755 uid 0 gid 0 size 2.7 kB timestamp Tue, 25 Oct 2016 11:48:29 checksum a1ef1bb01ba370040d705c92fc09e92e (MD5) data collected Mon, 07 Aug 2017 20:41:18 File 'rsyslog_file' status Does not exist monitoring status Monitored data collected Mon, 07 Aug 2017 20:41:18 Process 'proftpd' status Running monitoring status Monitored pid 4915 parent pid 1 uid 0 effective uid 119 gid 65534 uptime 3m threads 1 children 0 memory 3.6 MB memory total 3.6 MB memory percent 0.2% memory percent total 0.2% cpu percent 0.0% cpu percent total 0.0% port response time 10.737 ms to [localhost]:21 type TCP/IP protocol FTP data collected Mon, 07 Aug 2017 20:41:18 Process 'apache' status Execution failed monitoring status Monitored data collected Mon, 07 Aug 2017 20:41:48 File 'apache_bin' status Accessible monitoring status Monitored permission 755 uid 0 gid 0 size 647.0 kB timestamp Sat, 29 Jul 2017 22:19:09 checksum ef2a678bdcd791948ceabc3013d9a2c0 (MD5) data collected Mon, 07 Aug 2017 20:41:18 File 'apache_rc' status Accessible monitoring status Monitored permission 755 uid 0 gid 0 size 7.9 kB timestamp Mon, 07 Aug 2017 20:40:33 checksum 744ef9ca584493299c353e2251cbf993 (MD5) data collected Mon, 07 Aug 2017 20:41:18 System 'localhost' status Running monitoring status Monitored load average [0.96] [0.60] [0.46] cpu 0.0%us 0.0%sy 0.0%wa memory usage 266.4 MB [13.3%] swap usage 2.1 MB [0.4%] data collected Mon, 07 Aug 2017 20:41:18
Per visualizzare informazioni dettagliate sul servizio Proftpd, eseguire il comando seguente:
monit status proftpd
Dovresti vedere il seguente output:
The Monit daemon 5.16 uptime: 2m Process 'proftpd' status Running monitoring status Monitored pid 4915 parent pid 1 uid 0 effective uid 119 gid 65534 uptime 6m threads 1 children 0 memory 3.6 MB memory total 3.6 MB memory percent 0.2% memory percent total 0.2% cpu percent 0.0% cpu percent total 0.0% port response time 7.945 ms to [localhost]:21 type TCP/IP protocol FTP data collected Mon, 07 Aug 2017 20:43:49
Congratulazioni! hai installato e configurato correttamente Monit sul tuo server Debian 9.