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. Introduzione
Dopo l'articolo sulle nozioni di base delle notifiche, che descriveva i fondamenti delle notifiche, questo articolo tratta ora delle notifiche via e-mail e della creazione di notifiche tramite regole.
2. La visualizzazione delle notifiche
Tramite Setup > Events > Notification puoi accedere alla pagina panoramica delle notifiche. Qui trovi tutte le informazioni importanti sul tema:

Un sistema di notifiche funzionante si basa sull'interazione di una serie di componenti che devono essere tutti configurati. Questa pagina di panoramica ti evita di dover cercare le singole regole, i parametri ecc. nelle varie aree di Checkmk. Da qui puoi accedere a tutti gli aspetti relativi al tema delle notifiche.
2.1. Stato delle notifiche
Sul lato sinistro della pagina viene visualizzata una panoramica dello stato attuale delle notifiche:

Vengono visualizzati:
Failed notifications |
Numero di notifiche non riuscite. Se ci sono notifiche non riuscite, sotto viene visualizzato un link alla panoramica corrispondente. |
Total sent notifications |
Numero di notifiche inviate. Se ci sono notifiche non riuscite, sotto viene visualizzato un link all'Notifications of host & services, filtrato per gli ultimi 7 giorni. Puoi usarlo per vedere più da vicino quali notifiche sono state inviate. |
Core status of notifications |
Mostra su quanti siti Checkmk sono attivate le notifiche. Se sono disattivate su un sito, ad esempio tramite lo snap-in di controllo master, viene visualizzato il nome del sito. Questo ti permette di verificare se ciò era intenzionale. |
2.2. Regole di notifica
A destra delle visualizzazioni di stato troverai i link a tutte le regole di notifica esistenti in Checkmk:

Da qui puoi accedere alle regole per ottimizzare le tue notifiche e a tutte le altre regole relative alle notifiche.
Le regole qui visualizzate potrebbero già esserti familiari da altre sezioni di Checkmk. Qui non sono state create nuove regole, ma sono state semplicemente riassunte in modo chiaro quelle esistenti. |
2.3. Regola di notifica globale e predefinita
L'ultima parte della pagina di panoramica è costituita dalla regola globale esistente.
Se hai appena effettuato l'installazione di Checkmk, sarà stata predefinita esattamente una regola:

Tale regola è strutturata come segue:
Condizione |
Tutti i cambiamenti di stato degli host in DOWN e UP , e dei servizi in CRIT , WARN e OK. |
Metodo |
Invia un'e-mail in formato HTML (con grafici delle metriche incorporati). |
Contatto |
Tutti i contatti dell'host/servizio interessato. |
Come al solito, puoi modificare la regola
, clonarla
, eliminarla
o crearne una nuova.
Una volta che hai più di una regola, puoi modificarne l'ordine di elaborazione trascinandole con il simbolo
.
Le modifiche alle regole di notifica non richiedono di attivare le modifiche, ma hanno effetto immediato. |
3. Semplici notifiche via e-mail
Ma prima di passare a notifiche più complesse, inizia con un modulo molto semplice di notifica: una semplice e-mail.
Una notifica via e-mail inviata da Checkmk in formato HTML ha un aspetto simile a questo:

Come si può vedere nell'esempio, l'e-mail contiene anche le metriche attuali relative al servizio interessato.
Prima di ricevere un'e-mail di questo tipo da Checkmk, sono necessari alcuni preparativi, come descritto di seguito.
3.1. Prerequisiti
Nella configurazione predefinita di Checkmk, un utente riceverà notifiche via e-mail quando saranno soddisfatti i seguenti prerequisiti:
Il server Checkmk dispone di un Setup funzionante per l'invio di e-mail.
È stato configurato un indirizzo e-mail per l'utente.
L'utente fa parte di un gruppo di contatto ed è quindi un contatto.
Si verifica un evento di monitoraggio su un host o un servizio assegnato a questo gruppo di contatti, che attiva una notifica.
3.2. Configurazione dell'invio delle email in Linux
Per poter inviare correttamente le e-mail, il tuo server Checkmk deve avere una configurazione del server SMTP funzionante. A seconda della tua distribuzione Linux, questa potrebbe utilizzare, ad esempio, Postfix, Qmail, Exim o Nullmailer. La configurazione verrà implementata con le risorse della tua distribuzione Linux.
La configurazione si limita generalmente alla registrazione di uno "smarthost" (noto anche come server di inoltro SMTP) a cui verranno indirizzate tutte le e-mail. Questo sarà quindi il server di posta SMTP interno della tua azienda. Di norma gli smarthost non richiedono l’autenticazione in una LAN, il che semplifica le cose. In alcune distribuzioni lo smarthost verrà richiesto durante l’installazione. Con l’appliance Checkmk è possibile configurare comodamente lo smarthost tramite l’interfaccia web.
Puoi testare facilmente l'invio delle e-mail con il comando mail dalla riga di comando.
Poiché esistono numerose implementazioni diverse di questo comando su Linux, per motivi di standardizzazione Checkmk fornisce la versione del progetto Heirloom mailx direttamente nel percorso di ricerca dell'utente dell’istanza (come ~/bin/mail).
Il file di configurazione corrispondente è ~/etc/mail.rc.
Il modo migliore per testarlo è come utente dell’istanza, poiché gli script di notifica verranno successivamente eseguiti con gli stessi permessi.
Il contenuto dell'e-mail viene letto dall'input standard, l'oggetto specificato con -s e l'indirizzo del destinatario semplicemente aggiunto come argomento alla fine della riga di comando:
L'e-mail dovrebbe essere recapitata senza ritardi.
Se questo non funziona, puoi trovare informazioni nel file di log del server SMTP nella directory /var/log (vedi File e directory).
3.3. Indirizzo e-mail e gruppi di contatto
L'indirizzo e-mail e i gruppi di contatto di un utente sono definiti nell'amministrazione utenti:

In un'istanza Checkmk appena generata, inizialmente è presente solo il gruppo di contatto Everything. I membri di questo gruppo sono automaticamente responsabili di tutti gli host e i servizi e riceveranno una notifica via e-mail per ogni evento di monitoraggio rilevante.
3.4. Casi speciali: sistema di ticket, messenger e motore di eventi
Invece che via e-mail o SMS, puoi anche inviare notifiche a un sistema di ticket (come Jira o ServiceNow), a un servizio di messaggistica (Slack, Mattermost) o a un motore di eventi (Console degli Eventi).
Per ciascuno di questi casi speciali esiste un metodo di notifica separato, che può essere selezionato nella regola di notifica. Tuttavia, quando crei la regola devi tenere presente i seguenti due punti:
Quando selezioni i contatti, assicurati che le notifiche vengano inviate a un solo contatto, ad esempio selezionando un singolo utente. Con i metodi di notifica per i sistemi di ticket ecc., la selezione dei contatti serve solo a specificare che le notifiche vengono inviate. Tuttavia, le notifiche non vengono inviate all'utente selezionato, ma al sistema di ticket. Tieni presente che una selezione dei contatti tramite gruppi di contatto, tutti i contatti di un oggetto o simili genera solitamente diverse notifiche identiche per un evento, che finiscono poi nel sistema di ticket due, tre o anche più volte.
Se il primo punto è soddisfatto, ma l'utente è utilizzato in diverse regole di notifica per lo stesso metodo, in ogni caso si applica solo l'ultima regola. È quindi consigliabile creare un utente funzionale separato per ciascuna di queste regole di notifica.
3.5. Regolazione delle e-mail HTML
Quando invii e-mail HTML, potresti voler aggiungere informazioni aggiuntive o definire in modo flessibile un indirizzo di risposta (Reply to) a un contatto specifico per eventuali domande. A questo scopo, c'è la regola "Setup > Notifications > Parameters for notification methods > HTML Email" e, nelle regole di notifica, il metodo di notifica via e-mail HTML. Con queste regole puoi aggiungere una serie di parametri come l'indirizzo di risposta, campi aggiuntivi con dettagli o testo libero formattato in HTML.
Tieni presente che nel campo Custom HTML section (e.g. title, description…), per motivi di sicurezza, è consentito solo un numero limitato di tag HTML. Questi sono:
| Tag | Funzione | Suggerimenti |
|---|---|---|
|
Consentito se combinato con gli attributi |
|
|
||
|
||
|
||
|
Obsoleto. Non usare questo tag! |
|
|
||
|
||
|
||
|
Obsoleto. Non usare questo tag! |
|
|
Gli spazi e le indentazioni vengono mantenuti. |
|
|
||
|
||
|
||
|
Da usare solo nei seguenti elenchi |
|
|
||
|
Come sempre con tutte le regole in Checkmk, è possibile un'applicazione molto dettagliata, in modo da poter personalizzare una serie dettagliata di notifiche per host e servizi secondo necessità.
4. Gestione delle notifiche tramite regole
Oltre alle semplici notifiche via e-mail, con Checkmk puoi anche configurare sistemi di notifica più complessi.
4.1. Creazione semplificata delle regole
Per facilitare la creazione delle regole per le notifiche, l'interfaccia di Checkmk in questa sezione è diversa da quella a cui sei abituato in altre aree. Con l'opzione "Setup > Events > Notifications > Add notification rule" puoi iniziare a creare le notifiche:

Ora dovrai prendere una decisione.
Se selezioni "Guided mode,", verrai guidato, sezione per sezione, attraverso la creazione di una regola di notifica. Ogni sezione tratta specificamente un aspetto della notifica. Compila la rispettiva sezione con i dati rilevanti per il tuo ambiente. Le descrizioni dei singoli temi sono disponibili più avanti in questo articolo. Una volta modificata una sezione, clicca su "Next step…". I tuoi dati verranno quindi verificati, a condizione che siano tecnicamente obbligatori. Se, ad esempio, mancano dati tecnicamente rilevanti come l'indirizzo e-mail da utilizzare, riceverai un messaggio di errore. Una volta inseriti correttamente i dati di base essenziali, verrai reindirizzato alla sezione successiva e infine alla fine, dove avrai preparato una regola di notifica completa. Completa quindi la creazione con "Apply & test notification rule" o "Apply & create another rule".
In alternativa, puoi utilizzare l’Overview mode. Questo è particolarmente utile per la modifica mirata di singoli parametri in una regola di notifica esistente — allo stesso modo se hai già molta familiarità con la creazione delle regole e non desideri più essere guidato. In Overview mode vedi tutte le sezioni di modifica contemporaneamente e puoi modificare direttamente tutti i campi e le opzioni. La verifica tecnica viene quindi eseguita una sola volta e su tutte le sezioni non appena clicchi su Apply & test notification rule o Apply & create another rule.
4.2. Struttura delle regole di notifica
Di seguito presentiamo la struttura generale delle regole di notifica con le definizioni di condizioni, tipi di evento, filtri, metodi di notifica, contatti e proprietà generali.
Condizioni
Le condizioni determinano quando verrà utilizzata una regola. Sono la base di ogni regola. Per comprenderle è importante ricordare che la fonte è sempre un evento di monitoraggio su un host o un servizio concreto.
Le condizioni riguardano
gli attributi statici dell’oggetto – ad esempio, se il nome del servizio contiene il testo
/tmpo se un host appartiene a un gruppo di host specifico,lo stato attuale o il cambiamento di stato, ad esempio se il servizio è appena passato da OK a CRIT ,
o con elementi completamente diversi, ad esempio se il periodo di tempo di "orario di lavoro" è attualmente attivo.
Ci sono due punti importanti da considerare quando si impostano le condizioni:
Se non sono state definite condizioni, la regola avrà effetto per ogni evento di monitoraggio.
Non appena selezioni anche una sola condizione, la regola ha effetto solo se tutte le condizioni sono soddisfatte. Tutte le condizioni selezionate sono collegate con AND. C'è solo un'eccezione a questa importante regola, di cui parleremo più avanti e che non considereremo ora.
Ciò significa che devi prestare molta attenzione al fatto che le condizioni che hai scelto possano essere soddisfatte contemporaneamente, in modo che venga attivata una notifica per il caso desiderato.
Definizione dei tipi di evento
Nel seguente esempio di struttura di una regola di notifica, due cambiamenti di stato dovrebbero attivare le notifiche:
Host che passano allo stato "DOWN" e
I servizi che passano allo stato "CRIT".
Questo viene definito nel passaggio 1:

L'eccezione all'operazione AND
In Checkmk vale generalmente quanto segue: Solo se un evento di monitoraggio soddisfa tutte le condizioni configurate, la regola di notifica verrà applicata. C'è un'importante eccezione a questa regola generale: per le condizioni "Host events" e "Service events".
Se selezioni solo "Host events", la regola non corrisponderà a nessun evento di servizio. Lo stesso vale per la selezione degli eventi "Service events" e "host". Se invece attivi entrambe le condizioni, la regola corrisponderà se un evento è definito in una qualsiasi delle due condizioni. In questo caso di eccezione, queste condizioni non saranno quindi collegate con un AND logico, ma piuttosto con un OR. In questo modo puoi gestire facilmente le notifiche relative a host e servizi con una sola regola.
Impostazione dei filtri per host e servizi
Nel passaggio 2, utilizzi vari filtri per determinare gli host e i servizi a cui deve applicarsi la regola di notifica.
Supponiamo di impostare il filtro in modo che una notifica venga inviata solo se si verifica un evento di monitoraggio per un servizio che inizia con il nome NTP su un host nella cartella Main:

Il risultato di questa regola di notifica con le tre condizioni individuali (cambiamenti di stato, nome del servizio, cartella) sarebbe che le notifiche verrebbero inviate solo se un servizio passasse a CRIT — e i cambiamenti di stato dell'host verrebbero ignorati perché nessun evento di monitoraggio conterrebbe il cambiamento di stato di un host e il nome del servizio con NTP.
Un ulteriore suggerimento riguardo all'opzione Contact group filters nell'immagine sopra: La condizione verificata qui è se l'host/servizio in questione ha una determinata assegnazione di contatto. Questo può essere utilizzato per implementare funzioni come "Le notifiche relative agli host nel gruppo di contatto Linux non devono mai essere inviate tramite SMS". Questo non ha nulla a che vedere con la selezione dei contatti descritta sopra.
Metodo di notifica
Il metodo di notifica nel passaggio 3 specifica la tecnica da utilizzare per l'invio della notifica, ad esempio tramite e-mail HTML.

Ogni metodo viene realizzato tramite uno script. Checkmk include una serie di script predefiniti. Puoi anche scrivere facilmente i tuoi script personalizzati in qualsiasi linguaggio di programmazione desiderato per implementare notifiche personalizzate, ad esempio per reindirizzare una notifica al tuo sistema di ticket.
Alcuni metodi di notifica possono includere dei parametri.
Ad esempio, i metodi per le e-mail ASCII e HTML ti consentono di specificare esplicitamente l'indirizzo e-mail del mittente (From:).
La pagina appropriata per l'impostazione dei parametri appare dopo aver selezionato il metodo, non appena clicchi su "Create".
Tuttavia, prima di effettuare le impostazioni nella singola regola di notifica qui, devi sapere che puoi anche impostare i parametri per i metodi di notifica in generale in altri due punti in Checkmk:
Nei Parametri per i metodi di notifica, descritti più avanti in questo articolo. Nella regola di notifica, seleziona la definizione del parametro desiderata sotto Select parameters prima di cliccare su Create per modificare la definizione del parametro selezionato per questa regola di notifica.
Nelle regole per host e servizi: Sotto "Setup > Services > Service monitoring rules" troverai un set di regole per ogni metodo di notifica nella sezione "Notifications", che puoi utilizzare per definire le stesse impostazioni — e come al solito, a seconda dell'host o del servizio.
Modifica le definizioni dei parametri nella regola di notifica solo se desideri discostarti da queste impostazioni per singoli casi. Ad esempio, puoi definire un oggetto specifico per le tue e-mail a livello globale, ma definire un oggetto alternativo in una singola regola di notifica.
Invece di "Send notification", puoi anche selezionare "Suppress all previous". Le notifiche delle regole precedenti che utilizzavano questo metodo verranno quindi scartate. Puoi trovare ulteriori informazioni al riguardo nella sezione "Eliminazione delle notifiche in base alle regole".
Per molti metodi di notifica per l'inoltro ad altri sistemi, troverai informazioni più dettagliate in articoli separati. L'elenco degli articoli è disponibile nel capitolo sugli script di notifica. |
Selezione dei contatti
La procedura più comune prevede che le notifiche vengano inviate a tutti gli utenti registrati come contatti per il rispettivo host/servizio. Questa è la procedura "normale" e logica, poiché è proprio tramite i contatti che viene definito quali oggetti ogni utente riceve nella propria GUI — in pratica, gli oggetti di cui l'utente è responsabile.
Puoi specificare diverse opzioni quando selezioni i contatti con "Add recipient" (Seleziona tutti i contatti) e quindi estendere la notifica a più contatti. Checkmk eliminerà automaticamente i contatti duplicati. Affinché la regola abbia senso, è necessario effettuare almeno una selezione.

Le due opzioni "Restrict previous options to" funzionano in modo leggermente diverso.
Qui i contatti selezionati con le altre opzioni saranno nuovamente limitati.
Con queste puoi anche creare un operatore AND tra gruppi di contatti, ad esempio per consentire l'invio di notifiche a tutti i contatti che sono membri sia del gruppo "Linux" che del gruppo "Data center".
Inserendo Explicit email addresses puoi avvisare persone che in realtà non sono registrate come utenti in Checkmk. Questo ovviamente ha senso solo se usato nel metodo di notifica che invia effettivamente le e-mail.
Se, nel metodo scelto, hai selezionato Suppress all previous, le notifiche verranno eliminate solo per il contatto selezionato qui.
Quando si utilizza un sistema di ticket, un servizio di messaggistica o un motore di eventi come metodo di notifica, è necessario osservare anche le note relative a questi casi speciali. |
Condizioni per l'invio delle notifiche
Per il momento puoi saltare il passaggio "Sending conditions" per le regole semplici. Queste sono interessanti soprattutto se vuoi impostare delle escalation.
Proprietà generali
Come per tutte le regole in Checkmk, qui puoi inserire una descrizione e un commento per la regola, o anche disattivarla temporaneamente.

Con l'opzione "Allow users to deactivate this notification" puoi consentire agli utenti di "annullare l'iscrizione" alle notifiche generate da questa regola. Ti mostriamo come farlo con le notifiche personali.
4.3. Imposta i parametri per i metodi di notifica
Puoi definire parametri separati per ogni metodo di notifica. Questi parametri vengono definiti e gestiti separatamente dalle regole di notifica effettive in Checkmk. Questo ti permette di utilizzare i parametri per più regole contemporaneamente. Devi solo apportare eventuali modifiche centralmente in un unico posto e otterrai un aspetto uniforme per tutte le notifiche dello stesso tipo, indipendentemente dalle regole di attivazione.
Apri la panoramica di tutti i parametri personalizzabili tramite Setup > Events > Notifications e il pulsante Parameters for notifications methods:

Da qui puoi creare, modificare e — se non sono utilizzati in nessuna regola — eliminare i parametri generali per ciascun metodo.
4.4. Testare le regole di notifica
Per testare le regole di notifica, Checkmk offre uno strumento intelligente con Test notifications. Puoi usarlo per simulare una notifica per un host o un servizio e capire quali delle tue regole di notifica sono efficaci. Oltre alla simulazione, puoi anche far inviare la notifica.
Il modo più veloce per accedere al test di notifica è tramite Setup > Events > Test notifications. Inoltre, ci sono altre opzioni per richiamarlo da alcune visualizzazioni in Monitoraggio (elenco dei servizi e dettagli del servizio) e in Setup (proprietà dell'host), in ogni caso nel menu Host > Test notifications.

Per prima cosa, clicca su uno dei due pulsanti per decidere se la notifica è per un Host o un Service. Poi seleziona quale host o servizio deve essere. Come evento puoi selezionare un cambiamento di stato o l'inizio di un periodo di tempo di manutenzione programmata. Puoi aggiungere una descrizione dell'evento a Plugin output. Usa la checkbox Send out notification for specific method per specificare se la notifica è solo simulata o effettivamente inviata.
Infine, sotto "Advanced condition simulation" ci sono altre due opzioni con cui puoi definire l'ora e il numero di notifiche. Questo ti permette di testare regole di notifica che si applicano solo in un determinato periodo di tempo (ad es. fuori dall'orario di lavoro) o che avviano un'escalation dopo un numero specificato di notifiche ripetute.
Clicca su "Test notifications" per avviare il test — e anche l'invio, se hai selezionato questa opzione. I risultati vengono visualizzati sotto la box "Test notifications":

Per prima cosa viene visualizzato il riepilogo.
Sotto "Test results" puoi vedere quante regole di notifica si applicano e quante notifiche ne derivano.
Se hai selezionato "Invia notifica", qui viene visualizzato il messaggio di notifications have been sent out corrispondente.
Questo deve quindi portare immediatamente all'invio di un'e-mail relativa a questo problema.
La riga sottostante riassume le notifiche generate dai tuoi inserimenti.
Cliccando sul simbolo "
", puoi visualizzare il contesto della notifica.
Questo ti permette di vedere le variabili d'ambiente e i loro valori validi nel contesto di questa notifica.
Le due sezioni seguenti mostrano poi ulteriori dettagli:

Sotto "Predicted notifications" puoi vedere a chi e come verrebbero inviate le notifiche. Riceverai queste informazioni anche sulla simulazione se non hai selezionato l'invio della notifica.
Sotto "Global notification rules" c'è un elenco delle regole di notifica che hai creato qui.
A questo punto, è importante solo la prima colonna della tabella, che usa dei simboli per indicare quali regole si applicano
e quali no
.
Come al solito, puoi continuare ad attivare le notifiche direttamente tramite la GUI come alternativa al test delle notifiche tramite simulazione, ad esempio con i comandi Send custom notification e Fake check results. |
4.5. Notifiche ripetute periodicamente ed escalation
Per alcuni sistemi, può avere senso non affidarsi a una singola notifica quando un problema persiste per un periodo di tempo più lungo, ad esempio per gli host il cui tag host Criticality è impostato su Business critical.
Configurare le notifiche ripetute con periodicità
Checkmk può essere configurato in modo che vengano inviate notifiche successive a intervalli fissi, finché non viene effettuata la conferma del problema o la sua risoluzione.
L'impostazione si trova nel set di regole "Periodic notifications during host problems" o, rispettivamente, "Periodic notifications during service problems":

Una volta attivata questa opzione, per un problema persistente, Checkmk invierà notifiche regolari agli intervalli configurati. Queste notifiche riceveranno un numero progressivo che inizia da 1 (per la notifica iniziale).
Le notifiche periodiche non servono solo a ricordare un problema (e a infastidire l'operatore), ma forniscono anche una base per le escalation, il che significa che dopo un tempo definito una notifica può essere inoltrata ad altri destinatari.
Configura le escalation e capiscile
Per configurare un'escalation, crea una regola di notifica aggiuntiva che utilizzi la condizione "Restrict to notification number".

Se inserisci un intervallo compreso tra 3 e 99999 come numero sequenziale, questa regola entra in vigore a partire dalla terza notifica. L'escalation può quindi essere eseguita selezionando un altro metodo (ad es. SMS) oppure notificando altri contatti (selezione dei contatti).
Con l'opzione "Throttling of 'Periodic notifications'", dopo un determinato periodo di tempo è possibile ridurre la frequenza di ripetizione delle notifiche in modo che, ad esempio, all'inizio venga inviata un'e-mail ogni ora e successivamente questa frequenza possa essere ridotta a un'e-mail al giorno.
Con più regole di notifica, puoi costruire un modello di escalation. Ma come funzionerà questa escalation nella pratica? Chi viene avvisato e quando? Ecco un esempio, implementato con una regola per le notifiche ripetute periodicamente e tre regole di notifica: Ad esempio:
nel caso in cui venga rilevato un problema in un servizio, verrà inviata una notifica sotto forma di e-mail ogni 60 minuti fino a quando il problema non viene risolto o confermato.
Le notifiche da uno a cinque vengono inviate alle due persone responsabili del servizio.
Le notifiche da sei a dieci vengono inviate anche al responsabile del team di riferimento.
A partire dall'undicesima notifica, viene invece inviata una mail giornaliera alla gestione aziendale.
Alle 9 del mattino si verifica un problema nella struttura. I due dipendenti responsabili vengono avvisati del problema ma non forniscono una risposta (per qualsiasi motivo). Quindi alle 10, alle 11, alle 12 e alle 13 ricevono ciascuno una nuova e-mail. A partire dalla sesta notifica alle 14, anche il team leader riceve un’e-mail — tuttavia, il problema rimane invariato. Alle 15, alle 16, alle 17 e alle 18 vengono inviate ulteriori e-mail ai membri del team e al caposquadra.
Alle 19:00 entra in vigore il terzo livello di escalation: Da questo momento in poi, non vengono più inviate e-mail ai membri del team o al caposquadra. Invece, la gestione riceve ora un'e-mail ogni giorno alle 19:00 fino a quando il problema non viene risolto.
Non appena il problema è stato risolto e lo stato del servizio in Checkmk torna a "OK", viene inviato automaticamente un "tutto a posto" all'ultimo gruppo di persone avvisate: Quindi, nell'esempio sopra, se il problema viene risolto prima delle 14:00, ai due membri del team; se il problema viene risolto tra le 14:00 e le 19:00, ai membri del team e al team leader; e dopo le 19:00, solo alla gestione aziendale.
4.6. Eliminazione delle notifiche tramite regole
Come già accennato nella selezione del metodo di notifica, troverai anche l'opzione di selezione "Suppress all previous". Per capire come funziona una regola del genere, è meglio visualizzare la tabella delle notifiche. Supponendo che l'elaborazione delle regole per un evento di monitoraggio concreto sia parzialmente completata e che, a causa di una serie di regole, siano state attivate le seguenti tre notifiche:
| Chi (contatto) | Come (metodo) |
|---|---|
Harry Hirsch |
|
Bruno Weizenkeim |
|
Bruno Weizenkeim |
SMS |
Ora arriva una nuova regola con il metodo "SMS" e la selezione "Suppress all previous". La selezione dei contatti sceglie il gruppo di contatto "Windows", di cui Bruno Weizenkeim fa parte. Come risultato di questa regola, la voce "Bruno Weizenkeim / SMS" viene rimossa dalla tabella, che ora appare così:
| Chi (contatto) | Come (metodo) |
|---|---|
Harry Hirsch |
|
Bruno Weizenkeim |
Se una regola successiva dovesse definire nuovamente una notifica SMS per Bruno, questa regola avrà la priorità e l'SMS verrà aggiunto nuovamente alla tabella.
Riassumendo:
Le regole possono sopprimere (eliminare) notifiche specifiche.
Le regole di cancellazione devono seguire le regole che creano le notifiche.
Una regola di cancellazione non "cancella" effettivamente una regola precedente, ma sopprime le notifiche generate da (possibilmente più) regole precedenti.
Le regole successive possono ripristinare le notifiche precedentemente soppresse.
4.7. Consegna sincrona per le e-mail HTML
Puoi selezionare e configurare la consegna tracciabile tramite SMTP per il metodo di notifica e-mail HTML inserendo lo smarthost (con nome e numero di porta), i dati di accesso e il metodo di crittografia:

Nella cronologia del servizio in questione, potrai quindi tracciare la consegna con precisione. Ecco un esempio in cui un servizio — a scopo di test — è stato impostato manualmente su CRIT. Lo screenshot qui sotto mostra le notifiche per questo servizio, che puoi visualizzare nella pagina dei dettagli del servizio all’indirizzo Service > Service Notifications:

Qui vedrai i quattro singoli passaggi in ordine cronologico dal basso verso l’alto, così come li abbiamo già presentati nel capitolo sulla cronologia delle notifiche nell’articolo sulle nozioni di base sulle notifiche.
La differenza importante è che ora puoi vedere nella voce più in alto di
che l’e-mail è stata consegnata con successo allo smarthost e la sua risposta è success.
Puoi anche seguire i singoli passaggi nel file ~/var/log/notify.log.
Le righe seguenti appartengono all'ultimo passaggio e contengono la risposta del server SMTP:
2021-08-26 10:02:22,016 [20] [cmk.base.notify] Got spool file d3b417a5 (mysrv;CPU load) for local delivery via mail
2021-08-26 10:02:22,017 [20] [cmk.base.notify] executing /omd/sites/mysite/share/check_mk/notifications/mail
2021-08-26 10:02:29,538 [20] [cmk.base.notify] Output: success 250 - b'2.0.0 Ok: queued as 1BE667EE7D6'L'ID del messaggio 1BE667EE7D6 apparirà nel file di log dello smarthost.
Lì, se ti interessa, puoi verificare dove è finita l'e-mail.
In ogni caso puoi dimostrare che l'e-mail è stata inviata correttamente da Checkmk e quando.
Ripetiamo il test di cui sopra, ma questa volta con una password configurata in modo errato per il trasferimento SMTP allo smarthost.
Qui puoi vedere in chiaro il messaggio di errore SMTP Error: authentication failed proveniente dallo smarthost:

Cosa si può fare in caso di notifiche fallite? Anche in questo caso, la notifica via e-mail non sembra essere una buona soluzione. Invece Checkmk mostra un chiaro avviso con sfondo rosso nello snap-in Panoramica:

Qui puoi:
Cliccare sul testo "… failed notifications" per visualizzare un elenco delle consegne non riuscite.
Cliccare sul simbolo "
" per confermare questi messaggi e rimuovere l'avviso cliccando su "
" Confirm nella panoramica che si apre.
Importante: tieni presente che la consegna diretta tramite SMTP in caso di errore può causare l'esecuzione dello script di notifica per un tempo molto lungo e portare a un timeout. Per questo motivo ti consigliamo vivamente di utilizzare lo spooler di notifica e di selezionare una consegna asincrona delle notifiche.
Il comportamento in caso di errori ripetibili (come un timeout SMTP) può essere definito con Global settings > Notifications > Notification spooler configuration per ogni metodo di notifica:

Oltre a un timeout opzionale (il valore predefinito è 1 minuto) e a un numero massimo di tentativi, è possibile definire anche se lo script può essere eseguito più volte in parallelo e quindi inviare più notifiche (Maximum concurrent executions). Se lo script di notifica è molto lento, un'esecuzione in parallelo può avere senso — tuttavia lo script deve essere programmato in modo tale che le esecuzioni multiple funzionino correttamente (e, ad esempio, che lo script non riservi determinati dati per sé stesso).
Un invio multiplo e parallelo tramite SMTP non presenta problemi, poiché il server di destinazione è in grado di gestire più connessioni parallele. Questo non è certamente il caso quando si invia direttamente tramite SMS tramite un modem senza uno spooler aggiuntivo, e in questo caso è consigliabile mantenere l'impostazione 1.
Importante: la consegna tracciabile tramite SMTP non è disponibile per le notifiche di massa!
5. Notifiche di massa
5.1. Panoramica
Chiunque si occupi di monitoraggio ha sicuramente sperimentato come un singolo problema possa scatenare una vera e propria valanga di notifiche (successive). Il principio degli host padre è un modo per ridurre queste notifiche in circostanze specifiche, ma purtroppo non è efficace in tutti i casi.
Puoi prendere un esempio dallo stesso progetto Checkmk: Una volta al giorno creiamo i pacchetti di installazione di Checkmk per ogni distribuzione Linux supportata. Il nostro monitoraggio Checkmk è configurato in modo tale da avere un servizio che entra in stato "OK" solo se il numero corretto di pacchetti è stato creato correttamente. Può capitare occasionalmente che un errore generale nel software ostacoli la creazione dei pacchetti, causando l'entrata simultanea di 43 servizi nello stato "CRIT".
Abbiamo configurato le notifiche in modo tale che, in un caso del genere, venga inviata una sola e-mail che contiene l'elenco delle 43 notifiche in sequenza. Questo è ovviamente più chiaro rispetto a 43 e-mail singole e riduce anche il rischio che, "nel pieno della battaglia", si perda la 44ª e-mail relativa a un problema completamente diverso.
Il funzionamento di questa notifica di massa è molto semplice. Quando si verifica una notifica, inizialmente verrà trattenuta per un breve periodo. Le notifiche successive che si verificano durante questo periodo verranno immediatamente aggiunte alla stessa e-mail. Questa raccolta può essere definita per ogni regola. Quindi, ad esempio, durante il giorno puoi operare con e-mail singole, ma durante la notte con una notifica di massa. Se viene attivata una notifica di massa, ti verranno generalmente offerte le seguenti opzioni:

Il tempo di attesa può essere configurato a piacere. In molti casi è sufficiente un minuto, poiché entro quel momento dovrebbero essere comparsi tutti i problemi correlati. Ovviamente puoi impostare un tempo più lungo, ma ciò comporterà un ritardo sostanziale nelle notifiche.
Dato che ovviamente non ha senso mettere tutto nello stesso calderone, puoi specificare quali gruppi di problemi devono essere notificati collettivamente. L'opzione "Host" è molto usata: garantisce che vengano raggruppate solo le notifiche provenienti dallo stesso host.
Ecco alcune informazioni aggiuntive sulle notifiche di massa:
Se il raggruppamento è attivato in una regola, l'attivazione può essere disattivata da una regola successiva – e viceversa.
La notifica di massa avviene sempre per contatto. Ogni contatto ha di fatto il proprio "contenitore privato di raccolta".
Puoi limitare la dimensione del contenitore (Max. notifications per bulk). Una volta raggiunto il limite massimo, la notifica di massa verrà inviata immediatamente.
5.2. Notifiche di massa e periodi di tempo
Cosa succede quando una notifica rientra nel periodo di notifica, ma la notifica di massa che contiene questa notifica – e che arriva un po' più tardi – è fuori dal periodo di notifica? È possibile anche la situazione opposta…
Qui si applica un principio molto semplice: tutte le configurazioni che limitano le notifiche a determinati periodi di tempo sono valide solo per la notifica effettiva. La successiva notifica di massa verrà sempre recapitata indipendentemente da tutti i periodi di tempo.
6. Cosa succede se non c'è nessuna regola applicabile?
Anche chi configura può commettere errori. Un possibile errore nella configurazione delle notifiche potrebbe essere che venga rilevato un problema critico di monitoraggio, ma che nessuna regola di notifica venga applicata.
Per proteggerti da questo tipo di situazione, Checkmk offre l'impostazione "Fallback email address for notifications". La trovi in "Setup > General > Global settings" nella sezione "Notifications". Inserisci qui un indirizzo e-mail. A questo indirizzo e-mail verranno inviate le notifiche per le quali non si applica nessuna regola di notifica.
In alternativa, puoi anche impostare un utente come destinatario nelle sue impostazioni personali. L'indirizzo e-mail memorizzato con l'utente viene utilizzato come indirizzo di riserva. |
L'indirizzo di riserva verrà tuttavia utilizzato solo se non si applica alcuna regola, non quando non è stata attivata alcuna notifica! Come abbiamo mostrato nella sezione sulla cancellazione delle notifiche, la soppressione esplicita delle notifiche è auspicabile: non si tratta di un errore di configurazione.
L'inserimento di un indirizzo di riserva sarà "consigliato" nella pagina Notifications con un avviso sullo schermo:

Se, per qualsiasi motivo, vuoi solo eliminare l'avviso, ma allo stesso tempo non vuoi ricevere e-mail all'indirizzo di riserva, inserisci comunque prima un indirizzo di riserva e poi crea una nuova regola come prima regola, che cancella tutte le notifiche precedenti. Questa regola non ha effetto sulla configurazione delle notifiche, poiché qui non sono ancora state create notifiche. Ma in questo modo puoi assicurarti che almeno una regola sia sempre applicata, consentendo così di eliminare questo avviso.
Sconsigliamo espressamente questo approccio, poiché potresti trascurare delle lacune nella tua catena di regole.
Se vuoi disattivare le notifiche solo per te personalmente, puoi farlo tramite le regole di notifica personali. |
