In questo articolo scoprirete come utilizzare la popolare piattaforma di messaggistica Telegram per inviare notifiche da Checkmk.

Perché inviare notifiche tramite Telegram?

Telegram dispone di un'API ben documentata, facilmente accessibile e gratuita. Inoltre, Telegram è molto popolare e molte persone hanno già familiarità con la piattaforma e la tecnologia. Esistono anche applicazioni per tutte le principali piattaforme mobili e applicazioni per desktop.

Ci sono problemi di privacy?

Questo articolo non affronta la discussione sulla privacy dei dati. Questo argomento è già stato trattato in dettaglio altrove e può approfondito lì. In genere, i dati inviati con queste notifiche non dovrebbero essere sensibili alla privacy. In caso contrario, è possibile scegliere un metodo alternativo per le notifiche.

Checkmk offre già una serie di metodi diversi, che possono essere ampliati con le procedure fornite dalla comunità di Checkmk. Alla fine di questo articolo si apprenderà anche come limitare in una certa misura l'emissione di informazioni.

Come iniziare

Cosa vi serve:

Il plug-in di notifica

Per accedere a Telegram dalla propria istanza di Checkmk, è necessario un plug-in di notifica. Questo articolo utilizza uno script di shell creato da filipnet.

Abilitare le notifiche

Recuperare e comprendere lo script

Per iniziare, è necessario accedere come "istance user". Il sito di esempio in questo articolo si chiama 'telegram'.

omd su telegram

Quindi, dovrete navigare nella cartella dell'albero locale dove si trovano gli script personalizzati per le notifiche.

cd ~/local/share/check_mk/notifications/

Ora è il momento di scaricare lo script vero e proprio e di collocarlo in questa cartella. Se si ha accesso a Internet dal proprio sito, si può usare il seguente comando, ma non importa come si posiziona il file.

wget --no-check-certificate https://raw.githubusercontent.com/filipnet/checkmk-telegram-notify/main/check_mk_telegram-notify.sh -O telegram.sh

Avete la possibilità di mantenere il nome originale o di cambiarlo a vostro piacimento. Io ho rinominato lo script in 'telegram.sh' usando wget. Ora diamo un'occhiata allo script.

vim telegram.sh

Potete usare un editor di testo a vostra scelta, io preferisco vim.

Questa è l'intestazione dello script, che contiene informazioni di base sullo script, il suo autore e la licenza:

L'intestazione del plug-in di notifica di Telegram

Questi sono i parametri di autenticazione dell'ambiente di notifica di Checkmk che vengono passati allo script. Se i parametri non sono specificati nella regola di notifica, lo script terminerà con un errore:

Codice che mostra i parametri di autenticazione di Checkmk passati allo script

La sezione seguente è fondamentalmente una funzione di privacy per modificare gli indirizzi IP, se questo è importante per voi. Lo script maschera parti degli indirizzi IP o li cambia completamente, in modo che un potenziale aggressore non possa conoscere gli indirizzi IP reali. È anche possibile personalizzare il mascheramento in base alle proprie esigenze, modificando lo script di conseguenza. Tuttavia, questa guida utilizza il codice non modificato.

La sezione del codice mostra la funzione privacy dello script.

Nella prossima sezione è possibile impostare le icone per i diversi stati di monitoraggio. L'autore dello script fornisce valori predefiniti, ma indica anche come modificarli.

Parte dello script in cui è possibile impostare le icone per i diversi stati di monitoraggio

Questa è la parte interessante dello script. Utilizzando le variabili d'ambiente fornite nel contesto della notifica, lo script crea il messaggio e lo invia. Se l'invio fallisce, viene visualizzato un messaggio di errore. Naturalmente questa parte è altamente personalizzabile, ma quella predefinita funziona abbastanza bene da poter procedere senza apportare modifiche.

Parte dello script che mostra le variabili utilizzate per creare i messaggi

Dopo aver esaminato lo script e averlo eventualmente personalizzato in base alle proprie esigenze, è necessario renderlo eseguibile per l'utente e il gruppo dell'istanza e riavviare Apache.

chmod ug+x telegram.sh

omd restart apache

Questo passaggio è essenziale perché Checkmk può utilizzare lo script solo se è eseguibile e dopo che l'Apache dell'istanza è stato riavviato.

Impostazione della regola di notifica

Ora che tutto le operazioni preliminari sono state portate a termine, potete passare all'interfaccia web e creare la vostra prima regola di notifica basata su Telegram. Per farlo, andate su Impostazioni ➳ Eventi ➳ Notifiche e copiate la regola di notifica integrata:

Meno per la configurazione delle notifiche in Checkmk

Per evitare confusione, si consiglia di modificare la descrizione in anticipo. Per il 'Metodo di notifica' selezionate 'Notifica push (usando Telegram)'. Se siete stati molto attenti in precedenza, potreste riconoscere il nome del "Metodo di notifica": è la seconda riga dello script di notifica. In questo modo Checkmk sa cosa visualizzare nella finestra di configurazione. A proposito, la prima riga è il cosiddetto shebang, che indica al sistema operativo come eseguire lo script.

Ora inserite i parametri necessari, esattamente in questo ordine:

  • Il vostro token del bot Telegram
  • Il vostro ID di chat
  • Opzionalmente il già citato parametro "privacy".
  • Per il campo "Selezione del contatto" lasciate l'impostazione predefinita.
Modifica della regola di notifica in Checkmk

Congratulazioni, avete finito, o almeno quasi. L'ultima cosa che dovete fare è assicurarvi che il vostro utente sia il contatto di almeno un host. Come fare è documentato in dettaglio nel nostro manuale.

Ora, non appena il vostro host riscontra un problema, sarete i primi a saperlo.

È inoltre possibile verificare immediatamente se le impostazioni di notifica funzionano: È possibile simulare facilmente i risultati dei controlli. Potrebbe essere necessario attivare la voce "Mostra altro" nell'angolo in alto a destra per visualizzare l'opzione.

Fingere i risultati dei controlli con Checkmk

Ora potete inserire un messaggio significativo nel campo evidenziato e selezionare lo stato che volete scegliere per la notifica. L'ideale sarebbe selezionare uno stato critico o almeno di avvertimento per la notifica simulata.

Invio di un risultato di controllo falso in Checkmk

Riassunto

Avete imparato come attivare le notifiche di Checkmk tramite Telegram. Grazie a questa conoscenza di base, sarete in grado di personalizzare in modo flessibile il formato delle notifiche e di estenderlo in base alle vostre esigenze. Questo è inoltre un altro esempio della grande flessibilità offerta da Checkmk e della forza della comunità open source che ha fornito lo script qui utilizzato.

Per ulteriori informazioni, leggete l'articolo del manuale sulle notifiche.