L'invio di notifiche via email con Checkmk è piuttosto semplice e rapidamente configurabile tramite l'interfaccia. Ha un requisito, però: necessita di un server di posta attraverso il quale le email possano essere inviate. Quindi, come si configura un tale server? Questo è lo scopo di questo tutorial.
BOX: Questo tutorial copre una configurazione di Postfix adatta a tutti i tipi di dimensioni di installazioni di Checkmk. Nel caso tu gestisca un'installazione piuttosto piccola (meno di poche centinaia di email di notifica all'ora), potresti voler valutare DragonFly Mail Agent. Tuttavia, la configurazione di Postfix qui presentata è simile a quella che migliaia di utenti professionali di Checkmk stanno utilizzando.
>Ti mostreremo come installare e configurare il server di posta Postfix, poiché è ampiamente utilizzato, moderno e funziona bene con Checkmk. Supporremo che l'agente di trasporto della posta Postfix sia in esecuzione sulla stessa macchina di Checkmk e che la consegna della posta avvenga localmente utilizzando il comando "sendmail".
Postfix agirà come un MTA locale al quale Checkmk può inviare email e, se la destinazione è al di fuori della tua LAN, le inoltrerà al server di posta corretto che si occuperà di consegnarle all'indirizzo giusto. In pratica, Postfix consegnerà le email internamente e le reindirizzerà a server di posta esterni quando necessario.
Installazione di Postfix
Postfix, se non già installato, può essere aggiunto al sistema tramite i repository ufficiali. Su un sistema Debian/Ubuntu:
sudo apt update
sudo apt install postfix
SU RHEL/CentOS:
sudo yum install postfix
Se ti viene richiesto di scegliere durante l'installazione, seleziona "Internet Site" come tipo di configurazione della posta. Questo indicherà a Postfix che intendi usarlo per inviare email ad altri server di posta, agendo come "SmartHost" o, anche, relay host.
Configurazione di Postfix
Il file principale di configurazione di Postfix è /etc/postfix/main.cf
. Dopo l'installazione, il file dovrebbe essere già presente e riempito con le opzioni predefinite. Ci interessano solo alcune di esse.
Assicurati di avere le seguenti impostazioni:
myhostname = checkmk.yourdomain.com
myorigin = /etc/mailname
inet_interfaces = loopback-only
relayhost = [smtp.yourmailprovider.com]:587
# smtp_sasl_auth_enable = yes
# smtp_sasl_password_maps = static:YOUR-SMTP-USER-NAME-HERE:YOUR-SMTP-SERVER-PASSWORD-HERE
# smtp_sasl_security_options = noanonymous
L'impostazione più importante qui è relayhost, che è l'indirizzo del tuo server. La porta 587 viene utilizzata invece della comune 25 poiché spesso gli ISP bloccano le email provenienti dalla porta standard per il contenimento dello spam. L'opzione myorigin si riferisce a un file contenente il tuo nome di dominio completo. Le distribuzioni basate su Debian e Ubuntu di solito lo creano per te durante l'installazione di Postfix. Puoi crearlo tu stesso se non presente, o usare direttamente il tuo nome di dominio come opzione myorigin
.
NOTA: Nota la riga inet_interfaces = loopback-only. Questo indica a Postfix di ascoltare solo sull'interfaccia locale e di non aprire alcuna porta sulle interfacce di rete esterne. Ricontrolla l'accesso esterno alle porte 25, 465 e 587 e blocca inoltre l'accesso a queste porte tramite le impostazioni del firewall.
Abbiamo commentato alcune opzioni relative all'autenticazione SASL in quanto non sono strettamente necessarie, ma la tua organizzazione o il tuo ISP potrebbero richiederle. In questo caso, decommenta smtp_sasl_auth_enablesmtp_sasl_password_maps
e smtp_sasl_security_options
. L'unica che devi modificare è l'opzione password_maps
Se hai più di un account sul server di posta del tuo ISP, o se semplicemente più di un utente utilizzerà questa installazione di Postfix, è meglio avere le loro credenziali nel file /etc/postfix/sasl_passwd
, che dovrebbe assomigliare a questo:
user1@example.com
username1:password1
user2@example.com
username2:password2
# Login info for the default relayhost
[smtp.youmailprovider.com]
username:password
E usa main.cf:
sudo systemctl restart postfix
Ricordarsi di eseguire postmap /etc/postfix/sasl_passwd
ogni volta che apporti modifiche al file.
Una volta che la configurazione di Postfix è come sopra, ricarica il server di posta con
sudo systemctl restart postfix
E le impostazioni sono ora applicate e il server di posta Postfix dovrebbe essere in esecuzione. Puoi testare se le email vengono consegnate correttamente con
echo "This is a test email body." | mail -s
"Subject" -r "you<your-domain-dot-com>"
you@example-dot-com
Checkmk viene fornito con Heirloom mailx che include il comando sopra (in ~/bin/mail). Puoi usarlo o optare per l'alternativa del tuo sistema operativo, non importa ai fini di questo tutorial. Abbiamo solo bisogno di un metodo per verificare se Postfix sta inoltrando correttamente le email.
Dai al server qualche secondo, specialmente se stai consegnando a un server remoto, e controlla se l'email di prova è stata consegnata. I log di Postfix possono essere letti in /var/log/mail.log
. Cerca una riga che includa status=sent
per confermare la consegna. Controlla anche il journal di systemD con:
sudo journalctl -u postfix
Configurazione di Checkmk per le notifiche email
La configurazione di Checkmk è semplice per le notifiche email. Probabilmente sei già pronto con ciò di cui hai bisogno per farle funzionare. Checkmk necessita solo di 3 cose:
- Un server di posta funzionante (che è quello che abbiamo appena configurato)
- Un utente con un indirizzo email valido
- Un gruppo di contatto per tale utente
Con il primo punto fatto, controlla che il tuo utente abbia un indirizzo email valido sotto Setup > Users > Users. In caso contrario, assicurati di aggiungerlo ora. Nella stessa vista dei dettagli utente, devi controllare che questo utente sia associato a un gruppo di contatto, più in basso sotto "Contact Groups". Ciò è necessario per abilitare le notifiche via email che vengono attivate da eventi specifici, a seconda delle regole impostate. Le regole e altro vanno ben oltre ciò che copre questo tutorial; vai alla Guida utente di Checkmk sulle regole per saperne di più.
BOX: A seconda di quanto rigorosamente è configurato il server di posta del tuo provider, potrebbe essere necessario modificare i Parametri per l'email HTML in modo che contengano l'indirizzo email corrispondente all'account che stai utilizzando per accedere.
Nient'altro è necessario dal lato di Check_mk. Con il server Postfix funzionante, ora ogni volta che una regola attiva un evento per il gruppo di contatto dell'utente, viene inviata una notifica email all'indirizzo email associato all'utente. L'email verrà inviata a Postfix che controllerà se è un indirizzo locale e la consegnerà direttamente tramite la rete locale. Oppure, se è un indirizzo esterno, Postfix si occuperà di instradarla tramite il tuo provider di posta che hai impostato con relayhost nel file di configurazione principale di Postfix.
È consigliabile non aspettare che un evento attivi una notifica, ma provare subito la notifica email. Puoi farlo sotto Setup > Events > Notifications dove ti verrà presentato un pulsante "test notification".
Per maggiori informazioni sulle notifiche email, la fonte autorevole è la Guida utente di Checkmk sulle notifiche email. Ti guiderà attraverso l'impostazione delle regole e la personalizzazione dell'aspetto dell'email.