Monitorare la ricezione ed invio di email con Nagios
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