Monitorare la ricezione ed invio di email con Nagios

From RVM Wiki
Jump to navigation Jump to search

Questo comando testa un invio via smtp ed una ricezione via imap:


/usr/lib/nagios/plugins/check_email_delivery \
	--smtp-server smtp.gmail.com \
	--smtp-username nagios.example@gmail.com \
	--smtp-password pluto \
	--smtptls \
	--imap-server imap.example.com \
	--username nagios@rvmgroup.it \
	--password pippo \
	--imapssl \
	--imap-port 993 \
	--mailto nagios@example.com \
	--mailfrom nagios.example@gmail.com


Purtroppo per un bug nelle librerie Perl, l'utilizzo tls con gmail non funziona. Per questo si utilizza stunnel per creare già una connessione SSL verso il server gmail.

  • Installare stunnel:
sudo apt-get install stunnel4
  • Configurare il tunnel in ascolto sulla porta locale 2525:
sudoedit /etc/stunnel/gmail.conf
[ssmtp]
accept  = 127.0.0.1:2525
connect = smtp.gmail.com:465
client = yes
  • Attivare il daemon stunnel
sudoedit /etc/default/stunnel4
ENABLED=1


  • Avviarlo:
sudo systemctl restart stunnel4.service ;sudo systemctl status stunnel4.service -l
  • Verificare che ascolti SOLO su localhost:
$ sudo netstat -anp | grep 2525
tcp        0      0 127.0.0.1:2525          0.0.0.0:*               LISTEN      20576/stunnel4 
  • Testarlo:
telnet localhost 2525
Trying ::1...
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 smtp.gmail.com ESMTP o18sm2921016wrb.47 - gsmtp
quit
221 2.0.0 closing connection o18sm2921016wrb.47 - gsmtp
Connection closed by foreign host.


  • Ora è possibile usare il comando indicando come smtp server localhost, porta 2525 e senza tls:
/usr/lib/nagios/plugins/check_email_delivery \
	--smtp-server localhost \
	--smtp-username nagios.example@gmail.com \
	--smtp-password pluto \
	--smtp-port 2525 \
	--imap-server imap.example.com \
	--username nagios@rvmgroup.it \
	--password pippo \
	--imapssl \
	--imap-port 993 \
	--mailto nagios@example.com \
	--mailfrom nagios.example@gmail.com