![]() |
This is a machine translation based on the English version of the article. It might or might not have already been subject to text preparation. If you find errors, please file a GitHub issue that states the paragraph that has to be improved. |
1. Le basi delle notifiche
Lanotifica in Checkmk consiste nell'avvisare attivamente gli utenti quando lo stato di un host o di un servizio cambia. Supponiamo che in un certo momento sull'host mywebsrv17
il servizio HTTP foo.bar
passi da OK a CRIT. Checkmk lo rileva e, per impostazione predefinita, invia un'e-mail con i dati più importanti relativi a questo evento a tutti i contatti di questo servizio. In seguito lo stato cambia di nuovo, da CRIT a OK, e i contatti ricevono un'altra e-mail - questa volta con il report di questo evento, che viene definito recupero.
Ma questo è solo il modo più semplice di notificare: ci sono molti modi per perfezionarlo:
Puoi inviare notifiche tramite SMS, cercapersone, Slack e altri servizi internet.
Puoi impostare le notifiche su periodi di tempo specifici, ad esempio per tenere conto dei turni di reperibilità.
Puoi definire delle escalation se il contatto responsabile non interviene abbastanza rapidamente.
Gli utenti possono iscriversi o cancellarsi autonomamente dalle notifiche, se lo desideri.
In generale, puoi definire tramite regole chi deve ricevere una notifica su cosa e quando.
Tuttavia, prima di iniziare a lavorare con le notifiche, devi tenere presente quanto segue:
Le notifiche sono una funzione opzionale: alcuni utenti ne fanno a meno perché hanno un centro di controllo presidiato 24 ore su 24 che opera solo con l'interfaccia di stato.
Inizialmente attiva le notifiche solo per te e renditi responsabile di tutto. Osserva per almeno qualche giorno il numero di notifiche.
Non attivare le notifiche per gli altri utenti finché non avrai ridotto al minimo i falsi allarmi(falsi positivi). Abbiamo descritto come fare nel capitolo sulla messa a punto del monitoraggio.
2. Preparazione delle notifiche via e-mail
Il metodo più semplice e di gran lunga più comune è quello di inviare una notifica via e-mail. In un'e-mail c'è abbastanza spazio per includere anche i grafici delle metriche.
Prima di poter inviare le notifiche via e-mail, il tuo server Checkmk deve essere configurato per l'invio di e-mail. Per tutte le distribuzioni Linux supportate, ciò si riduce a quanto segue:
Installare un servizio di server SMTP. Di solito questo viene fatto automaticamente durante l'installazione della distribuzione.
Specificare uno smarthost, che di solito viene richiesto al momento dell'installazione del server SMTP. Lo smarthost è un server di posta della tua azienda che si occupa della consegna delle e-mail per il server Checkmk. Le aziende molto piccole di solito non hanno un proprio smarthost. In questo caso, si utilizza il server SMTP fornito dal tuo provider di posta elettronica.
Se l'invio della posta è stato configurato correttamente, dovresti essere in grado di inviare un'e-mail dalla linea di comando, ad esempio con questo comando:
OMD[mysite]:~$ echo "test-content" | mail -s test-subject bill.martin@example.com
Se non funziona, troverai indizi sull'origine del problema nel file di log del server SMTP nella directory /var/log/
. Maggiori dettagli sull'impostazione dell'invio della posta in Linux sono disponibili nell'articolo sulle notifiche.
3. Attivare le notifiche via e-mail
Una volta che l'invio di e-mail funziona, attivare le notifiche è molto semplice. Affinché un utente possa ricevere le notifiche via e-mail, devono essere soddisfatte le due condizioni seguenti:
All'utente è stato assegnato un indirizzo e-mail.
L'utente è responsabile di host o servizi - attraverso l'assegnazione di gruppi di contatto.
L'assegnazione dell'indirizzo e-mail e dei gruppi di contatto avviene tramite le proprietà dell'utente, come abbiamo mostrato in precedenza nel capitolo sull'amministrazione degli utenti, ad esempio aggiungendo il tuo indirizzo e-mail all'account utente cmkadmin
e al gruppo di contatto Everything.
4. Testare le notifiche
Sarebbe un po' complicato aspettare un problema reale o addirittura provocarne uno per testare le notifiche. Questo è più facile grazie a Test notifications, uno strumento con il quale puoi simulare una notifica per un host o un servizio e farla inviare immediatamente.
Puoi accedere al test di notifica tramite Setup > Events > Notifications e il pulsante Test notifications:

Basta selezionare un host e poi un qualsiasi cambiamento di stato come evento. Attivando il checkbox Send out notification, specificherai che la notifica non è solo simulata ma anche effettivamente inviata.
Clicca su Test notifications. La finestra di dialogo Test notifications viene nascosta e vengono mostrati i risultati, il più importante dei quali è il riepilogo Analysis results in alto:

Almeno una regola di notifica deve entrare in vigore e produrre una notifica. La notifica deve anche essere stata inviata, come indicato dal messaggio Notifications have been sent
.
Alla voce Resulting notifications puoi vedere a chi e attraverso quale canale è stata inviata la notifica:

Una descrizione dettagliata delle opzioni e dei risultati del test di notifica si trova nell'articolo sulle notifiche.
Se non hai ricevuto una notifica nel monitoraggio reale, cioè al di fuori della simulazione, questo non significa necessariamente che ci sia un errore. Ci sono situazioni in cui le notifiche di Checkmk vengono deliberatamente soppresse, ad esempio:
quando la notifica è stata disabilitata Master control snap-in;
quando un host o un servizio è in un tempo di manutenzione programmata;
quando un host è DOWN e quindi non vengono attivate notifiche dai suoi servizi;
se lo stato del servizio è cambiato troppo spesso di recente e il servizio è stato contrassegnato come irregolare .
5. Mettere a punto le notifiche
Puoi adattare le notifiche di Checkmk alle tue esigenze o a quelle della tua organizzazione in molti modi, grazie a regole di notifica complesse. Puoi trovare tutti i dettagli nell'articolo sulle notifiche.
6. Risoluzione dei problemi
Il modulo di notifica di Checkmk è molto complesso, perché copre molti requisiti diversi che si sono rivelati importanti nel corso di molti anni di esperienza pratica. La domanda "Perché Checkmk non ha attivato la notifica?" ti verrà quindi posta più spesso di quanto tu possa aspettarti, soprattutto all'inizio. Per questo motivo, ecco alcuni consigli per la risoluzione dei problemi.
Se una notifica non è stata attivata da un particolare servizio, il primo passo da fare è controllare la cronologia delle notifiche di quel servizio. Per farlo, apri la pagina dei dettagli di quel servizio cliccando sul monitoraggio del servizio. Seleziona Service > Service notifications dal menu. Qui troverai tutti gli eventi di monitoraggio di quel servizio elencati cronologicamente dal più recente al più vecchio.
Ecco un esempio di un servizio per il quale è stata tentata la notifica, ma per il quale l'invio di e-mail non è riuscito perché non è stato installato alcun server SMTP.

Puoi trovare ulteriori informazioni nel file ~/var/log/notifiy.log
. Puoi visualizzarlo come utente dell'istanza, ad esempio con il comando less
:
OMD[mysite]:~$ less var/log/notify.log
Se non hai ancora familiarità con less
- con la combinazione di tasti Shift+G
puoi saltare alla fine di un file (utile per i file di log) e uscire da less
con il tasto Q
.
Con il comando tail -f
puoi anche osservare il contenuto del file "in diretta" mentre è in esecuzione, il che è utile se ti interessano solo i nuovi messaggi, cioè quelli che appaiono solo dopo che è stato inserito tail
.
Ecco un estratto di notify.log
per una notifica attivata con successo:
2024-04-15 16:21:47,912 [20] [cmk.base.notify] Analysing notification (localhost) context with 14 variables
2024-04-15 16:21:47,912 [20] [cmk.base.notify] Global rule 'Notify all contacts of a host/service via HTML email'...
2024-04-15 16:21:47,913 [20] [cmk.base.notify] -> matches!
2024-04-15 16:21:47,913 [20] [cmk.base.notify] - adding notification of martin via mail
2024-04-15 16:21:47,913 [20] [cmk.base.notify] Executing 1 notifications:
2024-04-15 16:21:47,913 [20] [cmk.base.notify] * notifying martin via mail, parameters: graphs_per_notification, notifications_with_graphs, bulk: no
2024-04-15 16:21:47,913 [20] [cmk.utils.notify] sending command LOG;HOST NOTIFICATION: martin;localhost;DOWN;mail;
2024-04-15 16:21:47,913 [20] [cmk.base.notify] executing /omd/sites/mysite/share/check_mk/notifications/mail
2024-04-15 16:21:48,458 [20] [cmk.base.notify] Output: Spooled mail to local mail transmission agent
2024-04-15 16:21:48,501 [20] [cmk.utils.notify] sending command LOG;HOST NOTIFICATION RESULT: martin;localhost;OK;mail;Spooled mail to local mail transmission agent;Spooled mail to local mail transmission agent
Con l'impostazione delle notifiche, hai completato gli ultimi ritocchi: il tuo sistema Checkmk è pronto per l'uso! Questo non significa, ovviamente, che le capacità di Checkmk siano state esplorate appieno.