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
1.1. Contesto e motivazione
La nostra integrazione con Datadog è pensata per tutti i nostri utenti che già utilizzano Datadog nelle loro organizzazioni. Grazie a questa integrazione, abbiamo ridotto la necessità di controllare continuamente due sistemi di monitoraggio e abbiamo anche colmato il divario tra i due sistemi.
L'integrazione ci permette di correlare i dati dei due sistemi, per velocizzare l'analisi delle cause alla radice e allo stesso tempo facilitare la comunicazione tra gli utenti di Checkmk e Datadog.
1.2. Monitori ed eventi
In concreto, la nostra connessione permette di effettuare il monitoraggio e visualizzare i cosiddetti monitor ed eventi provenienti da Datadog all’interno di Checkmk. Naturalmente puoi anche ricevere notifiche sugli eventi direttamente da Checkmk, come al solito.
L'integrazione dei monitor e degli eventi da Datadog è fornita tramite uno special agent.
2. Configurazione dell'integrazione
2.1. Generazione e copia delle chiavi
Per il data mining, il nostro special agent utilizza l’API di Datadog. Per garantire l’accesso a questa API sono necessarie due chiavi: una chiave API e una chiave applicazione ciascuna. Ti consigliamo di creare due nuove chiavi da utilizzare con Checkmk e di usarle esclusivamente per il recupero da parte di Checkmk.
Al momento della stesura di questo articolo, puoi trovare le chiavi corrispondenti o l’opzione per crearne di nuove in Datadog cliccando sul pulsante nell’angolo in basso a sinistra dove si trova il tuo nome utente. Clicca lì su “Organization Settings”. Sotto la voce “ACCESS” troverai le due voci “API Keys” e “Application Keys”. Crea una nuova chiave in ciascuno di questi due sottomenu utilizzando il pulsante “New Key”.

Per poter inserire successivamente le due chiavi in Checkmk, ti consigliamo di copiarle. Per farlo, clicca sulla riga della rispettiva chiave e poi su "Copy".
Nota: durante la stesura di questo articolo la posizione delle chiavi è già cambiata una volta. Se non trovi le voci di menu descritte sopra, consulta la documentazione di Datadog.
2.2. Creazione di un host
A seconda di come vuoi integrare Datadog in Checkmk, ci possono essere diversi modi per assegnare i dati ottenuti agli host in Checkmk. Ne parleremo più avanti. Per ora, concentriamoci su un Setup semplice e assegniamo tutti i dati a un host.
Per farlo, crea un nuovo host in Checkmk come al solito e chiamalo, ad esempio, mydatadoghost.
Dato che per il momento questo host riceverà dati solo tramite il special agent, imposta l'opzione "IP address family" su "No IP".

Effettua tutte le altre impostazioni in base al tuo ambiente e conferma la tua selezione tramite Save & view folder.
2.3. Creazione di una regola per l'agente Datadog
Successivamente, devi configurare l'special agent tramite il set di regole Setup > Agents > Other integrations > Applications > Datadog. Per prima cosa, copia le due chiavi che hai creato in precedenza nei campi previsti, oppure utilizza l'archivio password di Checkmk. Dopodiché, verifica se l'API host preinserito corrisponde a quello della tua istanza Datadog. Per farlo, basta confrontare l'URL della tua istanza Datadog con la voce predefinita nella regola e modificarla se necessario.
Se Checkmk comunica con Datadog tramite un HTTP proxy, inseriscilo nell'opzione seguente.
Ora puoi decidere quali dati vuoi trasferire da Datadog a Checkmk. Qui puoi scegliere tra i cosiddetti monitors e events.
Recupera monitoraggio
Se abiliti il monitoraggio dei monitor, hai la possibilità di filtrare i dati da trasmettere utilizzando i tag all’interno di Datadog.
Soprattutto in ambienti di grandi dimensioni, si consiglia di contrassegnare i monitor che desideri visualizzare in Checkmk con un tag appropriato in Datadog (ad es. monitored_by_checkmk:yes).
Inserisci quindi questi tag sotto Restrict by monitor tags.
Inoltre, è anche possibile utilizzare altri tag che compaiono nella configurazione del monitor in Datadog per il filtraggio. Ad esempio, potresti taggare gli host con 'Checkmk:yes' in Datadog.
Se poi crei un monitor host in Datadog che fa riferimento a tutti gli host con quel tag, puoi usare lo stesso tag anche in Checkmk sotto Restrict by tags. In questo modo, con pochissimo sforzo otterrai tutti i monitor da Datadog che contengono il tag "checkmk:yes". Ovviamente, questo funziona non solo per i tag host, ma per tutti i tag da cui è possibile creare monitor in Datadog.

Se lasci entrambe le opzioni disabilitate, tutti i monitor verranno semplicemente trasferiti da Datadog a Checkmk.
In Checkmk verrà creato un servizio per ogni monitor Datadog, che potrai poi monitorare in Checkmk.
Recupero degli eventi
Con l'special agent per Datadog hai anche la possibilità di trasferire gli eventi da Datadog direttamente alla Console degli Eventi di Checkmk. Per limitare quali eventi devono essere trasferiti, puoi usare nuovamente i tag di Datadog. Inoltre, puoi specificare un intervallo di tempo da cui devono essere trasferiti gli eventi. Questo intervallo (Maximum age of fetched events) non dovrebbe essere più breve dell’intervallo di controllo, altrimenti alcuni eventi potrebbero andare persi. Tuttavia, poiché può capitare che Datadog crei eventi con un timestamp che risale al passato, il periodo di tempo non dovrebbe essere troppo breve. I 10 minuti predefiniti sono un buon punto di partenza.

Tutti gli altri campi in questa parte della regola si riferiscono ai parametri da utilizzare per creare gli eventi da Datadog nella Console degli Eventi di Checkmk. Una descrizione dettagliata di tutti questi campi è disponibile nell'articolo sulla Console degli Eventi, nelle sezioni Priorità e facility syslog e Livelli del servizio.
Per gli eventi, su Checkmk viene creato un solo servizio sull'host, che ti informa su quanti eventi sono stati trasferiti.
Recupera i log
Puoi anche importare i log da Datadog e valutarli utilizzando la Console degli Eventi, fondamentalmente esattamente come appena descritto per gli eventi. Nel campo "Log search query", utilizza la sintassi propria di Datadog per la ricerca. Anche la composizione del testo da inoltrare tramite l'opzione "Text of forwarded events" è spiegata nella documentazione di Datadog.

Impostazione dell'host esplicito e scoperta del servizio
Per assicurarti che i monitor e gli eventi che recuperi da Datadog con questa regola arrivino solo su un host, devi aggiungere alla fine di Conditions > Explicit hosts l'host creato in precedenza. Quindi clicca su Save. Una volta eseguita la scoperta del servizio per questo host, vedrai i tuoi primi monitor ed eventi da Datadog in Checkmk.
Nota: nella pratica, si è riscontrato che può essere conveniente collocare monitor ed eventi su host separati in Checkmk. Questo approccio generalmente aumenta la chiarezza e consente una più facile configurazione dei parametri aggiuntivi per ciascun host.
3. Mappatura degli stati
Gli stati trasferiti dai monitor di Datadog non possono essere trasferiti 1:1 agli stati in Checkmk per ogni caso d'uso. Per darti la possibilità di impostare questi stati in base alle tue esigenze, troverai la regola "Checking of Datadog monitors". Puoi trovare questa regola cercando nel menu "Setup" o tramite Setup > Services > Service monitoring rules > Applications, Processes & Services > Checking of Datadog monitors.

Inoltre, in questa regola puoi anche specificare quali tag di Datadog devono essere visualizzati nell'output del servizio in Checkmk.
