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

Con il suo sistema di grafici integrato, Checkmk dispone di un potente strumento per la registrazione e la visualizzazione delle metriche. Tuttavia, può essere utile effettuare una connessione con Grafana come sistema di grafici esterno, ad esempio, quando utilizzi già Grafana e desideri unire i dati di Checkmk con quelli di altri sistemi in dashboard condivise.
In tutte le versioni di Grafana attualmente supportate, è possibile accedere a Checkmk in tutte le edizioni direttamente come sorgente dati. Questo ti permette di visualizzare singole metriche o persino interi grafici già predefiniti in Checkmk. Inoltre, c'è la possibilità di creare dinamicamente i tuoi grafici utilizzando espressioni regolari per definire un gruppo di host e servizi da cui includere metriche specifiche nel grafico.
Questo articolo descrive come recuperare e visualizzare le tue metriche Checkmk in Grafana. Istruzioni dettagliate su come utilizzare e configurare Grafana sono disponibili nella documentazione su Grafana Labs.
Il plug-in Grafana è stato sviluppato indipendentemente da Checkmk ed è gestito in un proprio repository GitHub. Questo articolo descrive come configurare il plug-in nella versione 4, che funziona con Checkmk d2.2.0e alla 2.4.0. Per i dettagli esatti su quale versione del plug-in sia compatibile con quali versioni di Checkmk e Grafana, consulta il file Readme nel repository GitHub. Poiché il plug-in viene installato in Grafana, non ha senso distribuirlo insieme a Checkmk.
2. Installazione del plug-in in Grafana
A seconda del tipo di installazione del tuo server Grafana e della tua edizione di Checkmk, ci sono vari metodi per installare il plug-in. L'unica restrizione è che gli utenti dell'offerta cloud di Grafana devono attivare il plug-in tramite la raccolta ufficiale di plug-in di Grafana.
Per le installazioni on-premises di Grafana, tramite la riga di comando puoi anche attivare il plug-in dalla raccolta ufficiale di plug-in di Grafana. Hai anche la possibilità di installarlo da un archivio zip. Questo ti permette anche di testare nuove versioni se non sono ancora state aggiunte alla raccolta ufficiale di plug-in di Grafana.
I metodi di installazione qui presentati sono stati testati con Grafana 12.1. Con le versioni precedenti, potrebbero non essere disponibili tutti i tipi di installazione, oppure la procedura potrebbe differire.
2.1. Installazione dall'interfaccia GUI di Grafana (Grafana Cloud e il tuo server)
Sia per Grafana Cloud che per l’installazione sul tuo server, puoi installare la sorgente dati Checkmk direttamente dall’interfaccia grafica di Grafana.
Vai su Home > Connections > Add new connection e inserisci Checkmk nel campo di ricerca.
Vedrai quindi un elenco di risultati con una singola voce che ti porterà alla pagina di panoramica del plug-in.
Qui troverai nuovamente una descrizione dettagliata della sorgente dati Checkmk e potrai renderla disponibile nella tua istanza di Grafana cliccando su "Install".
Le opzioni disponibili cambieranno e avrai la possibilità di cliccare sul nuovo link "Add new data source" per configurare una connessione al tuo sito Checkmk.
2.2. Installazione tramite riga di comando (server Grafana proprio)
Se stai utilizzando Grafana sul tuo server, puoi installarlo dalla raccolta di plug-in di Grafana tramite la riga di comando. I comandi mostrati si riferiscono a Grafana su Linux. Procedi allo stesso modo su altre piattaforme.
Riavvia il servizio del server Grafana:
Il plug-in sarà quindi disponibile nell'interfaccia di Grafana e potrà essere attivato e configurato.
2.3. Installazione da archivio zip (server Grafana proprio)
Nella pagina Releases del repository GitHub troverai l'archivio zip firmato checkmk-cloud-datasource-X.Y.Z.zip.
Lo schema di denominazione fa ancora riferimento alla precedente divisione del plug-in in due parti (fino alla versione 3.x del plug-in), ma con la versione 4.0 la restrizione a Checkmk Ultimate è stata rimossa e il plug-in firmato può essere utilizzato con tutte le edizioni di Checkmk.
Se hai già utilizzato il plug-in Grafana con la Comunità Checkmk o Checkmk Pro nella versione 3.x, ciò significa che per aggiornare alla versione 4.x,
devi prima effettuare la disinstallazione del vecchio plug-in tribe-29-checkmk-datasource:

Invece di usare il browser, puoi ovviamente caricare il file direttamente tramite la riga di comando.
Tieni presente che per farlo devi conoscere la versione attuale: nell'esempio seguente, scriviamo la versione nella variabile $plugvers.
Anche in questo caso, i comandi mostrati si riferiscono a Grafana su Linux.
Procedi allo stesso modo su altre piattaforme.
Ora decomprimi l'archivio zip:
Crea una directory plug-in se non esiste già e imposta come proprietario della directory l'utente Linux sotto il cui ID vengono eseguiti i processi Grafana (di solito grafana):
Sposta la cartella risultante nella directory dei plug-in di Grafana,
che di solito si trova in /var/lib/grafana/plugins/:
Cambia il proprietario con l'utente Grafana:
L'installazione tramite clonazione dell'archivio Git (come descritto nelle versioni precedenti di questo articolo) non è più possibile. Se vuoi contribuire al plug-in, leggi le Note per gli sviluppatori.
3. Creazione di un utente Grafana in Checkmk
La connessione a Grafana richiede un utente su Checkmk che abbia permessi sufficienti e che sia autenticato tramite una password di automazione (password di automazione) invece che con una password normale. I normali utenti guest o di monitoraggio non sono sufficienti e, per motivi di sicurezza, non dovresti usare un amministratore.
Il modo più semplice per creare un utente "adatto" è clonare il ruolo dell'utente guest (guest) e fornirgli l'autorizzazione aggiuntiva User management (consenti l'accesso in lettura alle informazioni dell'utente).
Se basi il tuo ruolo utente Grafana su un altro ruolo, assicurati che l'autorizzazione See all host and services sia impostata oltre a User management.
Una volta creato il ruolo, crea uno o più utenti Grafana con una password di automazione (password di automazione). In seguito puoi limitare ulteriormente le autorizzazioni assegnate al ruolo, ad esempio se non è richiesto l'accesso a BI o alla Console degli Eventi.
4. Configurazione del plug-in
Una volta installati i file necessari, puoi attivare il plug-in in Grafana. Per farlo, switch alla configurazione e seleziona "Home > Connections > Data sources". Qui puoi aggiungere una nuova sorgente dati utilizzando il pulsante "Add data source".
Questo ti porterà a una panoramica delle sorgenti dati disponibili.
Puoi trovare la voce relativa a Checkmk in fondo alla categoria "Others" oppure semplicemente inserendo "Checkmk" nel campo di ricerca.
Il modello per questa sorgente dati è piuttosto semplice. Inserisci l'URL del tuo sito, il tipo della tua edizione e l'utente che hai appena creato per Grafana.
Se utilizzi Checkmk in un ambiente distribuito, inserisci qui l'URL dell'istanza centrale. |

Se vuoi collegare più istanze Checkmk, puoi opzionalmente assegnare a ogni singola connessione un nome univoco.
Altrimenti, lascia semplicemente l'impostazione predefinita come Checkmk o Checkmk for Cloud Edition.
Una volta salvata la connessione con il pulsante Save & test, sarà disponibile come sorgente dati in Grafana e potrai configurare i tuoi primi grafici.
5. Creazione di grafici
5.1. Creazione di una dashboard vuota
In "Home > Dashboards" troverai un menu a discesa contrassegnato da un segno più. Clicca su "New dashboard" per creare una nuova dashboard:

5.2. Visualizzazione di una singola metrica dell'host
La dashboard più semplice mostra un singolo grafico relativo al servizio di un host. Può trattarsi anche della metrica derivante da un check locale per cui non esistono grafici predefiniti. Crea una nuova visualizzazione in una dashboard esistente o in quella che hai appena creato. Per prima cosa seleziona qui "Add visualization":

La creazione di una visualizzazione ti porta alla selezione della sorgente dati. Dopo aver selezionato Checkmk, ti trovi direttamente nella modalità di edizione della Query per il pannello appena creato. Un pannello è un contenitore per una visualizzazione.
L'accesso ai dati da visualizzare differisce leggermente tra
Comunità Checkmk e le edizioni commerciali:
In Comunità Checkmk si lavora con menu predefiniti — per istanza, nome host, servizio e così via.
Nelle edizioni commerciali, hai la possibilità di definire cascate di filtri.
Questo permette una selezione molto dettagliata, anche utilizzando espressioni regolari.
È stato scelto il seguente semplice esempio in modo che tu possa provarlo con tutte le edizioni.
Per prima cosa seleziona l'Site, poi filtra per un Hostname nel monitoraggio. Per il primo test, usa un host qualsiasi che utilizzi l'agente Windows o Linux. Seleziona Check_MK come Service. Imposta il tipo di Aggregation su Maximum. L'Graph type disponibile per la selezione è Single metric o Predefined graph: Predefined graphsprendi le metriche da Checkmk, che possono contenere anche grafici combinati. Le nostre schermate qui mostrano l'Single metric, che contiene il tempo di esecuzione totale dell'agente (Time spent waiting for Checkmk agent).


Grafana visualizza direttamente il risultato. Con il pulsante "Apply" puoi applicare il grafico senza salvare la dashboard. Con "Save" ti viene chiesto di inserire un titolo per la nuova dashboard e puoi quindi salvare l'Dashboardappena creata.

5.3. Visualizzazione di un grafico predefinito da Checkmk
Gli sviluppatori di Checkmk hanno già raggruppato molte metriche correlate in grafici comuni per consentire agli utenti di avere più facilmente una panoramica dei vari aspetti di una singola risorsa. Puoi visualizzare le metriche di un grafico già pronto direttamente in Grafana.
La procedura è inizialmente la stessa spiegata nella sezione precedente. Tuttavia, per completare il processo, seleziona la voce "Graph type" (Predefined graph) e la dashboard "Predefined graph" per il servizio da utilizzare.
Se ricevi un messaggio di errore che indica che non è consentita la selezione di metriche combinate con più di 200 elementi, usa filtri aggiuntivi per restringere la selezione. In caso di dubbio, sposta i filtri che limitano significativamente il risultato all'inizio della serie.

Una volta che sei soddisfatto della tua selezione, clicca sul pulsante "Apply". Il grafico sarà ora disponibile nella dashboard selezionata.

5.4. Creazione di grafici complessi
Soprattutto in un cluster dinamico, spesso vorrai poter monitorare l'intero andamento di una metrica su tutti gli host partecipanti senza dover creare un grafico personalizzato ogni volta che viene aggiunto o rimosso un nuovo nodo. Per ottenere questo risultato, ci sono varie opzioni per adattare dinamicamente i grafici.
La prima opzione è filtrare per Host Labels o Host Tags invece di selezionare singoli host.
Un'altra opzione è usare le espressioni regolari.
Puoi applicare le espressioni regolari agli host o ai servizi.
Nell'esempio seguente, filesystem corrisponde a tutti i servizi che contengono filesystem, indipendentemente dal numero di file system montati da un host.

Con filesystem.*nvme limiteresti la selezione a tutti i file system su unità NVMe, indipendentemente dal tipo di file system utilizzato, poiché la parte della stringa tra filesystem e nvme può essere arbitraria.
Oltre alle opzioni di filtro estese, usa Aggregation per determinare la visualizzazione delle metriche nel grafico e Graph per determinare quale grafico deve essere utilizzato come riferimento. Tieni presente che le metriche per un host/servizio vengono visualizzate solo se dispongono anche del grafico selezionato. Un grafico potrebbe quindi apparire così, ad esempio:

5.5. Rinominare utilizzando espressioni regolari
Nella modalità di modifica di ogni pannello troverai una scheda Transform.
Puoi utilizzare l'elemento Rename by regex disponibile qui per riordinare i nomi delle metriche o nascondere le informazioni non necessarie.
Il nostro esempio seguente cerca due gruppi di caratteri separati da una virgola seguita da uno spazio, li scambia e posiziona esplicitamente Service e Host all'inizio:

Le variabili $1 e $2 corrispondono alle stringhe "catturate" nella riga sopra (gruppi di corrispondenza o gruppi di cattura).
Grafana consente anche gruppi di corrispondenza nidificati.
La sezione corrispondente nell'articolo sulle espressioni regolari fornisce una panoramica delle possibilità disponibili per questi.
6. Rendere i grafici più flessibili utilizzando le variabili
Puoi usare le variabili per aggiungere grafici alle dashboard in modo flessibile. Questo ti permette di determinare l'host di una metrica specifica tramite un menu a tendina oppure puoi usare le variabili per aggiungere contemporaneamente grafici relativi a più host a una dashboard. Questo articolo non può e non deve sostituire la documentazione di Grafana. Innanzitutto, qui vogliamo fornire una panoramica delle possibili applicazioni e un'introduzione al tema.
Le variabili possono essere create a partire da query. In questo caso, puoi filtrare per istanze, host o servizi. In alternativa, c'è anche la possibilità di definire quantità o campi di testo libero, il che ti permette di creare un numero illimitato di filtri.
6.1. Creazione delle variabili
Ogni variabile è una proprietà di una dashboard. Deve essere creata nelle impostazioni della dashboard e può quindi essere utilizzata solo all’interno di quella dashboard. Poiché la query richiede la configurazione più estesa, ne mostreremo l’uso nel nostro esempio.
Le proprietà rilevanti per una variabile sono il suo tipo e il suo nome; tutte le altre proprietà vengono utilizzate solo a scopo di chiarezza nella dashboard.
Il nome dovrebbe distinguere le variabili.
Quindi, se prevedi di utilizzare diverse variabili per selezionare host da sottoinsiemi diversi, usa un nome che faccia riferimento a questo insieme invece di host come nell'esempio, ad esempio host_from_linuxservers.

host nelle proprietà della dashboardQuando selezioni una sorgente dati, assicurati che sia selezionata una connessione Checkmk. Puoi restringere ulteriormente il tipo di oggetto selezionato, ad esempio con espressioni regolari. Eventuali filtri utilizzati vengono valutati sul server Checkmk. Al contrario, i seguenti campi Regex e Sort vengono valutati da Grafana.

Le due checkbox per Selection options nella parte inferiore della pagina possono essere utilizzate in un secondo momento, a seconda delle necessità. Puoi modificare queste impostazioni in qualsiasi momento, se necessario; per il primo test, lascia entrambe sull'impostazione predefinita (vuota). Salva le variabili utilizzando Save dashboard dopo aver effettuato tutte le impostazioni.
6.2. Utilizzo delle variabili per i grafici
Ora puoi inserire le variabili assegnate nei campi appropriati per creare un grafico flessibile. Le variabili possono essere utilizzate anche nel titolo del grafico.

Nella dashboard viene visualizzato un menu a tendina per ogni variabile, che puoi utilizzare per impostare i valori delle variabili (host, servizi…) che desideri visualizzare nella dashboard. Se hai attivato la selezione multipla, puoi impostare l’opzione “Repeat by variable” nelle impostazioni del pannello per visualizzare il pannello per ogni valore della variabile selezionata.

7. File e directory
I seguenti file e directory sono rilevanti su un server Grafana self-hosted. Tutte le informazioni si riferiscono a server Linux e all'installazione tramite i pacchetti forniti da Grafana. Per altri sistemi operativi o per installazioni dal codice sorgente potrebbero essere validi percorsi di file diversi.
| Percorso del file | Descrizione |
|---|---|
|
Qui Grafana cerca i (nuovi) plug-in. Ogni plug-in ha la propria sottodirectory. Il plug-in di Checkmk dovrebbe quindi essere collocato qui. |
|
Directory di configurazione di Grafana. |
|
File di configurazione centrale di Grafana. Qui definisci quali plug-in non firmati sono consentiti. |
