Monitoraggio è uno strumento di monitoraggio proattivo open source 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 di un particolare processo (ad esempio, riavviando il servizio) in modo tale che può essere riportato online.
Monit può essere utilizzato anche per la gestione e il monitoraggio proattivo di programmi, file, directory e dispositivi per modifiche alle autorizzazioni, modifiche ai timestamp, alle dimensioni e al checksum; non limitato a eseguire vari controlli di protocollo, controlli di rete TCP/IP e può utilizzare SSL per tali controlli.
Si collega al suo file di registro e notifica all'utente tramite messaggi personalizzabili, questa guida ti aiuterà a configurare Monit su Debian 9 / Ubuntu 16.04 .
Questa guida dovrebbe funzionare anche su versioni precedenti di Debian e Ubuntu come Debian 8 , Ubuntu 14.04 e anche sulla versione corrente di Ubuntu, ad esempio Ubuntu 17.04
Installa Monitor:
Monit è disponibile su Debian e Ubuntu repository, quindi puoi semplicemente usare "apt-get ” per installarlo.
$ sudo apt-get -y install monit
Risultato:
Reading package lists... Done Building dependency tree Reading state information... Done Suggested packages: sysvinit-core The following NEW packages will be installed: monit 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. Need to get 309 kB of archives. After this operation, 915 kB of additional disk space will be used. Get:1 http://deb.debian.org/debian stretch/main amd64 monit amd64 1:5.20.0-6 [30 9 kB] Fetched 309 kB in 2s (150 kB/s) Selecting previously unselected package monit. (Reading database ... 124586 files and directories currently installed.) Preparing to unpack .../monit_1%3a5.20.0-6_amd64.deb ... Unpacking monit (1:5.20.0-6) ... Setting up monit (1:5.20.0-6) ... Processing triggers for systemd (232-25) ... Processing triggers for man-db (2.7.6.1-2) ...
Servizio di monitoraggio del controllo:
Per avviare il servizio Monit, esegui:
$ sudo systemctl start monit
Per interrompere Monit, esegui:
$ sudo systemctl stop monit
Per riavviare Monit, esegui:
$ sudo systemctl restart monit
Per controllare lo stato di Monit, esegui:
$ sudo systemctl status monit
Risultato:
● monit.service - LSB: service and resource monitoring daemon Loaded: loaded (/etc/init.d/monit; generated; vendor preset: enabled) Active: active (running) since Tue 2017-06-27 22:36:53 EDT; 9min ago Docs: man:systemd-sysv-generator(8) CGroup: /system.slice/monit.service └─1094 /usr/bin/monit -c /etc/monit/monitrc Jun 27 22:36:53 server systemd[1]: Starting LSB: service and resource monitoring daemon... Jun 27 22:36:53 server monit[1087]: Starting daemon monitor: monit. Jun 27 22:36:53 server systemd[1]: Started LSB: service and resource monitoring daemon.
Per abilitare il servizio Monit all'avvio, esegui:
$ sudo systemctl enable monit
Configura Monitor:
“/etc/monit/monitrc ” è il file di configurazione principale di Monit e i file di configurazione aggiuntivi per processo/servizio sono generalmente inseriti in “/etc/monit/conf-disponibile ” e “/etc/monit/conf-enabled ”
Modifica il file di configurazione principale per configurare parametri importanti di Monit per soddisfare i nostri requisiti.
$ sudo nano /etc/monit/monitrc
Se desideri modificare gli intervalli di tempo tra il controllo del servizio, modifica il valore seguente.
set daemon 120
Imposta le informazioni del server di posta per l'inoltro degli avvisi generati da Monit.
set mailserver mx.itzgeek.local port 25
Specifica un indirizzo email su cui vuoi essere avvisato in caso di eventuali guasti/eventi.
set alert [email protected]
Se desideri solo e-mail di avviso per determinati eventi, allora:
Es:avviso solo su "Timeout " e "Ping non riuscito ” eventi.
set alert [email protected] only on { timeout, icmp }
Scopri Come filtrare un evento .
Per impostazione predefinita, Monit invia solo una notifica in caso di errore di un servizio e un'altra in caso di ripristino. Se vuoi essere avvisato su ogni "N ” ciclo se un servizio rimane in stato di errore. Es, quarto ciclo.
alert [email protected] with reminder on 4 cycles
Abilita interfaccia Web Monitor:
Monit è inoltre dotato di un'interfaccia Web incorporata per visualizzare i servizi di stato e gestirli tramite un browser Web. Per impostazione predefinita, l'interfaccia Web di Monit è disabilitata. Per abilitare, modificare il file di configurazione di Monit “/etc/monit/monitrc “.
$ sudo nano /etc/monit/monitrc
Cerca "imposta la porta httpd 2812 ” e modificare 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'
A
set httpd port 2812 and allow admin:monit # require user 'admin' with password 'monit'
Riavvia il servizio Monit.
$ sudo systemctl restart monit
Verifica se il servizio Monit è in ascolto su tutte le interfacce correttamente o meno.
$ sudo netstat -antup | grep -i monit
Risultato:
tcp 0 0 0.0.0.0:2812 0.0.0.0:* LISTEN 1615/monit tcp6 0 0 :::2812 :::* LISTEN 1615/monit
Quanto sopra imposterà Monit per l'ascolto su "porta 2812 ” su tutte le interfacce.
Accesso all'interfaccia Web di monitoraggio:
Accedi all'interfaccia web utilizzando l'URL sottostante e devi utilizzare il nome utente come "admin " e la password come "monito ” per accedere all'interfaccia web di Monit. La home page di Monit sarà simile a questa.
http://il-tuo-indirizzo-ip:2812Fai clic su "server ” per vedere le informazioni dettagliate di Monit.
Puoi anche utilizzare la riga di comando di Monit per vedere lo stato di Monit.
$ sudo monit status
Risultato:
Monit 5.20.0 uptime: 6m System 'server' status Running monitoring status Monitored monitoring mode active on reboot start load average [0.16] [0.12] [0.17] cpu 1.4%us 0.1%sy 0.1%wa memory usage 509.4 MB [25.4%] swap usage 0 B [0.0%] uptime 15m boot time Wed, 28 Jun 2017 07:46:33 data collected Wed, 28 Jun 2017 08:00:45
Configura i servizi per il monitoraggio:
Ora sei pronto per configurare Monit per monitorare altri servizi che desideri monitorare. Puoi inserire i file di configurazione in "/etc/monit/conf-enabled/ ” directory.
Configura Monit per il servizio FTP:
Configura Monit per iniziare quando l'FTP muore per qualsiasi motivo. Crea il file di configurazione chiamato "proftpd “.
$ sudo nano /etc/monit/conf-available/proftpd
Aggiungi la seguente configurazione al file sopra.
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
Abilita il collegamento simbolico del file di configurazione a "/etc/monit/conf-enabled/ ” directory.
$ sudo ln -s /etc/monit/conf-available/proftpd /etc/monit/conf-enabled/
Verifica la sintassi di Monit.
$ sudo monit -t
Risultato:
Control file syntax OK
Ricarica il servizio di monitoraggio per rendere effettive le modifiche.
$ sudo systemctl reload monit
Controlla se riesci a vedere il nuovo servizio sull'interfaccia web.
Fare clic sul nome del servizio “proftpd ” per visualizzare informazioni dettagliate sul servizio.
Modelli predefiniti:
Monit include anche un modello di configurazione predefinito per alcuni processi e servizi. I modelli si trovano in "/etc/monit/conf-available/ ", e puoi abilitarli semplicemente collegando simbolicamente a "/etc/monit/conf-enabled/ ” directory.
$ sudo ls -al /etc/monit/conf-available/
Risultato:(elenco di modelli predefiniti)
drwxr-xr-x 2 root root 4096 Jun 27 22:36 . drwxr-xr-x 6 root root 4096 Jun 28 07:54 .. -rw-r--r-- 1 root root 481 Jan 11 08:48 acpid -rw-r--r-- 1 root root 640 Jan 11 08:48 apache2 -rw-r--r-- 1 root root 455 Jan 11 08:48 at -rw-r--r-- 1 root root 691 Jan 11 08:48 cron -rw-r--r-- 1 root root 602 Jan 11 08:48 mdadm -rw-r--r-- 1 root root 669 Jan 11 08:48 memcached -rw-r--r-- 1 root root 703 Jan 11 08:48 mysql -rw-r--r-- 1 root root 521 Jan 11 08:48 nginx -rw-r--r-- 1 root root 471 Jan 11 08:48 openntpd -rw-r--r-- 1 root root 950 Jan 11 08:48 openssh-server -rw-r--r-- 1 root root 683 Jan 11 08:48 pdns-recursor -rw-r--r-- 1 root root 1421 Jan 11 08:48 postfix -rw-r--r-- 1 root root 869 Jan 11 08:48 rsyslog -rw-r--r-- 1 root root 501 Jan 11 08:48 smartmontools -rw-r--r-- 1 root root 306 Jan 11 08:48 snmpd
Configura Monit per rsyslog utilizzando il modello:
Ad esempio, monitoriamo il servizio apache2 utilizzando il modello predefinito fornito da Monit. Collega i modelli a "/etc/monit/conf-enabled/ ” directory.
$ sudo ln -s /etc/monit/conf-available/apache2 /etc/monit/conf-enabled/
Ricarica il servizio di monitoraggio per rendere effettive le modifiche.
$ sudo systemctl reload monit
Accedi all'interfaccia web; troverai i nuovi servizi che abbiamo configurato utilizzando il modello.
Testare il monitoraggio:
Testiamo l'azione di Monit quando il servizio o il processo si interrompe senza motivo. Ad esempio, interrompi il "proftpd ” demone.
$ sudo systemctl stop proftpd
Attendi 60 secondi, Monit avvierà il "proftpd ” servizio automaticamente. Puoi trovare lo stesso nel registro di Monit.
$ sudo tailf /var/log/monit.log
Risultato:
[EDT Jun 29 01:35:43] error : 'proftpd' process is not running [EDT Jun 29 01:35:43] info : 'proftpd' trying to restart [EDT Jun 29 01:35:43] info : 'proftpd' start: '/etc/init.d/proftpd start'
È tutto. Abbiamo configurato correttamente Monit su Debian 9 / Ubuntu 16.04 . Accogliamo con favore il tuo feedback, per favore pubblica i tuoi preziosi commenti qui sotto.