Checkmk
to checkmk.com
Important

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

Example of a graph.

Oltre al monitoraggio vero e proprio del sistema — ovvero l'individuazione dei problemi — Checkmk è uno strumento eccellente per la registrazione e l'analisi dei diversi valori misurati che possono essere generati negli ambienti IT. Questi possono includere, ad esempio:

  • Performance del sistema operativo (IO del disco, utilizzo della CPU e dello spazio di archiviazione, …​)

  • Statistiche di rete (larghezza di banda utilizzata, tempi di trasferimento dei pacchetti, tassi di errore, …​)

  • Sensori ambientali (temperatura, umidità, pressione atmosferica, …​)

  • Statistiche di utilizzo (utenti connessi, richieste di pagine, sessioni, …​)

  • Indicatori di qualità delle applicazioni (ad es. tempi di risposta dei siti web)

  • Consumo e qualità dell'energia elettrica in un data center (correnti, tensioni, potenza, capacità delle batterie, …​)

  • Dati specifici delle applicazioni (ad es. lunghezza delle code di e-mail da MS Exchange)

  • e molto altro ancora…

Checkmk registra tutte le misurazioni generate dal monitoraggio per un periodo (personalizzabile) di quattro anni, in modo da poter accedere non solo ai dati attuali, ma anche ai dati storici. Per tenere sotto controllo l'utilizzo dello spazio su disco, i dati vengono compressi man mano che invecchiano.

Le metriche stesse vengono rilevate dai singoli plug-in di controllo. I plug-in determinano quindi anche esattamente quali metriche vengono fornite.

CEE L'interfaccia per visualizzare i dati storici misurati è basata su HTML5 ed è identica nelle edizioni commerciali e nella Comunità Checkmk. Esclusivamente nelle edizioni commerciali puoi utilizzare funzionalità avanzate come l'esportazione in PDF, le raccolte di grafici, i grafici personalizzati e la connessione a database di metriche esterni.

2. Accesso tramite la GUI

I valori misurati di un servizio vengono presentati in tre diverse forme nella GUI. Il cosiddetto Perf-O-Meter appare direttamente nelle tabelle di un host o di un servizio e fornisce una rapida panoramica e una visualizzazione. Questi sono tuttavia solitamente limitati dallo spazio a una singola metrica selezionata. Per i file system, ad esempio, si tratta della percentuale di spazio utilizzato:

View of the localhost with Perf-O-Meter values.

Puoi visualizzare tutte le metriche di un servizio in un periodo di tempo, sia spostando il cursore sull'icona del grafico "icon pnp", sia cliccandoci sopra. Il valore @ in alto a destra sopra il grafico indica l'intervallo con cui vengono recuperati e aggiunti i nuovi dati. Ad esempio, @ 1m indica un intervallo di query di un minuto.

Gli stessi grafici si trovano facilmente anche nei dettagli di un host o di un servizio:

Graph of CPU utilization.

Nella pagina dei dettagli è presente anche una tabella con i valori misurati attuali precisi per tutte le metriche:

Excerpt of the service metrics.

3. Interazione con i grafici

Puoi influenzare in modo interattivo la visualizzazione dei grafici in vari modi:

  • Tramite lo scorrimento (o trascinamento) tenendo premuto il pulsante del mouse, puoi spostare il periodo di tempo (sinistra/destra) o la scala in verticale (UP/DOWN).

  • Utilizzando la rotella del mouse per ingrandire o rimpicciolire il periodo di tempo

  • Trascinando l'angolo in basso a destra del grafico per modificarne le dimensioni

  • Cliccando su una posizione nel grafico si imposta un segnaposto. In questo modo puoi identificare l'ora esatta di un punto e tutti i valori misurati precisi per quel momento. L'ora esatta del segnaposto viene salvata per ogni utente e visualizzata in tutti i grafici.

  • Cliccando sull'intestazione di una colonna si impostano i valori visualizzati su minimi, massimi o medi.

Visualization of possible interactions in a graph.

Se una pagina include diversi grafici, tutti i grafici si adeguano alle modifiche apportate al periodo di tempo e al puntatore — così i valori possono sempre essere confrontati tra i grafici. Allo stesso modo, il ridimensionamento viene applicato a tutti i grafici. Questi riadattamenti appariranno però solo dopo un aggiornamento della pagina (altrimenti a volte potrebbe esserci un po’ di caos sullo schermo…)

Non appena utilizzi le funzioni interattive — come l’impostazione di un punto di riferimento — sullo schermo appare un grande simbolo di “pausa” e l’aggiornamento della pagina si interrompe per 60 secondi. Ciò significa che le tue modifiche al grafico non vengono immediatamente annullate dall’aggiornamento. Il conto alla rovescia viene sempre reimpostato a 60 secondi quando torni ad essere attivo. Puoi anche mettere in pausa il conto alla rovescia completamente cliccando sul numero. Il simbolo di pausa ti permette comunque di terminare la pausa direttamente in qualsiasi momento.

The pause icon in a graph.

4. Raccolte di grafici

CEE Nelle edizioni commerciali, puoi usare il menu "icon menu", che si trova in basso a sinistra nel grafico, per incorporarlo in vari posti, ad esempio nei rapporti o nei dashboard. La sezione del menu "Add to graph collection" è molto utile in questo caso. Puoi inserire tutti i grafici che vuoi in una raccolta di questo tipo e successivamente confrontarli o esportarli come PDF. Di default ogni utente ha una raccolta di grafici chiamata "My graphs". Puoi aggiungerne di nuove molto facilmente e persino renderle visibili ad altri utenti. La procedura è esattamente la stessa di quella per le visualizzazioni.

Puoi accedere alla tua raccolta di grafici tramite Monitor > Workplace > My graphs. La voce My graphs appare solo se hai effettivamente aggiunto almeno un grafico a quella raccolta.

Selection of the graph collection in the 'Monitor' menu.

Customize > Graphs > Graph collections apre la tabella che elenca tutte le tue raccolte di grafici e ti permette di aggiungerne di nuove, modificare quelle esistenti, ecc.

5. Modifiche ai grafici

CEE Nelle edizioni commerciali, puoi apportare piccole modifiche ai grafici integrati tramite Customize > Graphs > Graph tunings. Queste Graph tunings ti consentono, ad esempio, di modificare la scala dell'asse Y per un grafico specifico, tramite l'opzione Vertical axis scaling:

The settings for customizing a graph.

Questa modifica potrebbe poi essere limitata a specifiche occorrenze del grafico con Apply to, ad esempio nei dashboard. L'immagine seguente mostra una scala compresa tra 0,5 e 0,9 in un rapporto PDF:

View of a restricted scaling.

Inoltre, sono disponibili altre due opzioni: Graph visibility può essere utilizzato per mostrare o nascondere esplicitamente un grafico in determinate posizioni. E Vertical axis mirroring è utile per i grafici che mostrano dati sopra e sotto la linea temporale (asse X), come nel grafico del throughput del disco mostrato di seguito: Qui i dati possono essere capovolti verticalmente in modo che i dati precedentemente visualizzati sopra la linea temporale possano essere mostrati sotto, e viceversa.

Nota: gli utenti possono impostare le unità di misura della temperatura dei grafici e dei Perf-O-Meter individualmente tramite il proprio profilo. La personalizzazione generale per i riepiloghi e le visualizzazioni dettagliate viene effettuata tramite il set di regole di servizio Temperature.

6. Grafici personalizzati

CEE Le edizioni commerciali offrono un editor grafico con cui puoi creare grafici personalizzati completi con formule di calcolo personalizzate. In questo modo è ora possibile anche combinare metriche provenienti da host e servizi diversi in un unico grafico.

Puoi accedere ai grafici personalizzati tramite Customize > Graphs > Custom graphs. Un metodo alternativo è tramite la tabella delle metriche di un servizio. Per ogni metrica è presente un menu "icon menu" con una voce per aggiungere la metrica a un grafico personalizzato:

Selection options for custom graphs.

L'immagine seguente mostra un elenco dei grafici personalizzati (qui con una sola voce):

Overview of custom graphs.

Ci sono cinque operatori possibili per ogni grafico esistente:

icon custom graph

Visualizza questo grafico.

icon insert

Crea una copia di questo grafico.

icon delete

Elimina questo grafico.

icon edit

Apri le proprietà di questo grafico. Qui, oltre al titolo del grafico, puoi anche definire la sua visibilità per gli altri utenti. Tutte queste funzioni funzionano esattamente come nelle visualizzazioni. Se hai domande su una delle impostazioni, puoi visualizzare l’aiuto contestuale con Help > Show inline help.

icon custom graph

Qui puoi accedere al designer di grafici, in cui è possibile modificare il contenuto del grafico.

Tieni presente che ogni grafico personalizzato, come le visualizzazioni, ha un ID univoco. Questo ID viene utilizzato nei rapporti e nei dashboard. Se in seguito modifichi l'ID di un grafico, questi collegamenti non funzioneranno più. Tutti i grafici che non sono hidden vengono visualizzati per impostazione predefinita in Monitor > Workplace.

6.1. Il designer di grafici

General view of the graph designer.

Il designer di grafici è suddiviso in quattro sezioni:

6.2. Anteprima del grafico

Qui puoi vedere il grafico esattamente come apparirà dal vivo. Puoi anche utilizzare tutte le sue funzioni interattive.

6.3. Elenco delle metriche

Le curve incluse nei grafici possono essere modificate direttamente qui. La modifica del titolo di una curva in questo campo viene confermata con il tasto "Enter". L'opzione "Style" definisce come vengono visualizzati i valori nei grafici. Ecco le opzioni disponibili:

Line

Il valore verrà tracciato come una linea

Area

Il valore verrà disegnato come area. Tieni presente che le curve posizionate più in alto nell'elenco hanno la priorità su quelle successive e potrebbero coprirle. Se desideri combinare linee e aree, le aree dovrebbero sempre essere posizionate sotto le linee.

Stacked Area

Tutte le curve con questo stile saranno disegnate come aree e impilate in base ai loro valori (in pratica, sommate). Il limite superiore di questa pila rappresenta quindi la somma di tutte le curve nel grafico.

Le altre tre opzioni — Mirrored Line, Mirrored Area e Mirrored Stacked sono simili, tranne che le curve vengono disegnate verso il basso a partire dalla linea dello zero. Questo permette di ottenere uno stile di grafico come quello generalmente utilizzato da Checkmk nei grafici di input/output per quanto segue:

An input/output graph.

Nella colonna Actions troverai un pulsante button clone per clonare ogni metrica che hai creato. In questo modo puoi copiare rapidamente le curve e sostituire semplicemente il nome host, ad esempio.

6.4. Aggiunta di metriche

Con la box "Metrics" puoi aggiungere nuove metriche ai grafici. Non appena inserisci un nome host valido nel primo campo, il secondo campo verrà popolato con un elenco dei servizi dell'host. Effettuando una selezione in questo elenco, il terzo campo verrà popolato con un elenco delle metriche di quel servizio. Nel quarto e ultimo campo, seleziona la funzione di consolidamento. Qui le opzioni sono Minimum , Maximume Average. Queste funzioni vengono utilizzate quando i dati memorizzati negli RRD per il periodo di tempo specificato sono già stati compressi. In un periodo di tempo in cui, ad esempio, è disponibile un solo valore ogni mezz'ora, puoi scegliere di tracciare il valore misurato originale minimo, massimo o medio per questo periodo di tempo.

Selection of options for a metric.

Allo stesso modo, puoi usare la funzione Add new scalar per visualizzare i valori di un servizio per WARN , CRIT , massimo e minimo come linee orizzontali.

View of a constant in a metric.

Puoi anche aggiungere una costante al grafico. Inizialmente verrà disegnata come una linea orizzontale. A volte le costanti sono necessarie per generare formule di calcolo. Ne parleremo più avanti.

6.5. Opzioni del grafico

Qui trovi le opzioni che riguardano i grafici nel loro complesso.

Unit influisce sulle etichette degli assi e delle legende. Il valore predefinito First entry with unit specifica che come unità viene utilizzata la prima voce del grafico personalizzato con un'unità nota. Ciò significa che l'unità per le metriche e gli scalari è sempre nota, ma quella delle costanti no. Se nessuna voce ha un'unità nota, il grafico viene visualizzato senza simbolo di unità. Se invece selezioni Custom, si apriranno ulteriori impostazioni con cui potrai definire tu stesso l'unità. Tieni presente che è possibile, ma non consigliabile, aggiungere due metriche con unità diverse a un unico grafico.

Con "Explicit vertical range" puoi predefinire l'asse verticale di un grafico. L' asse Y viene normalmente scalato in modo che tutti i valori misurati nel periodo di tempo scelto entrino esattamente nel grafico. Se crei un grafico per valori percentuali, ad esempio, puoi scegliere di visualizzare sempre i valori da 0 a 100. Tieni presente, però, che gli utenti (e tu stesso) possono in ogni caso ridimensionare un grafico usando il mouse, rendendo il posizionamento inefficace.

6.6. Calcoli con le formule

Il designer di grafici ti permette di combinare le singole curve utilizzando dei calcoli. L'esempio seguente mostra un grafico con due curve: utilizzo della CPU , per User e System.

Supponiamo che per questo grafico ti interessi solo la somma delle due curve. Per farlo, check le box di selezione di entrambe le curve. Una volta fatto questo, nel pannelloMetrics , sulla rigaOperation on selected metrics , appariranno alcuni nuovi pulsanti per tutte le operazioni disponibili:

Additional options in the overview of a graph.

Cliccando su "Sum" (Somma delle curve) si uniranno entrambe le curve in una nuova curva. Il colore di questa nuova curva sarà automaticamente una miscela dei colori delle due curve di partenza. La nuova curva avrà il titolo "Sum of User, System". La formula usata per il calcolo verrà mostrata nella colonna "Formula" (Formula). Inoltre apparirà un nuovo simbolo "button dissolve operation" (Somma delle curve):

View of a graph for combined values.

Cliccando su "button dissolve operation" si ottiene un effetto "annulla", con cui è possibile visualizzare nuovamente le singole curve originali. Altri consigli per le operazioni di calcolo:

  • A volte è utile includere delle costanti, ad esempio per sottrarre il valore di una curva dal numero 100.

  • Per i calcoli si possono usare i scalari.

  • Le operazioni possono essere annidate in qualsiasi ordine.

7. InfluxDB, Graphite e Grafana

CEE Se utilizzi una delle edizioni commerciali, puoi effettuare la connessione di database di metriche esterni in parallelo al sistema di grafici integrato in Checkmk e inviare le metriche a InfluxDB o Graphite.

In tutte le edizioni è anche possibile integrare Checkmk con Grafana e recuperare e visualizzare le metriche da Checkmk in Grafana.

8. Valori misurati storici nelle tabelle

8.1. Di cosa si tratta?

Quando guardi i valori misurati in passato, a volte non ti interessano i dettagli esatti della loro evoluzione nel periodo di tempo. Potrebbe interessarti di più solo un riepilogo approssimativo, ad esempio l'utilizzo medio della CPU negli ultimi 7 giorni. Il risultato in questo esempio sarebbe semplicemente un numero espresso in percentuale, come l'88%.

In una tabella di host o servizi, puoi aggiungere colonne che rappresentano la media, il minimo, il massimo o altri riepiloghi di una metrica in un determinato periodo di tempo. Questa funzione ti permette anche di creare rapporti ordinati in base a queste colonne, ad esempio visualizzare l'elenco degli host ESXi che hanno avuto l'utilizzo più basso nel periodo selezionato.

Per visualizzare tali valori misurati in una visualizzazione, procedi come segue:

  1. Seleziona una visualizzazione esistente o creane una nuova.

  2. Aggiungi una colonna di tipo "Services: Metric History".

8.2. Creazione di una visualizzazione

Per prima cosa ti serve una visualizzazione a cui aggiungere le colonne. Può essere una visualizzazione degli host o dei servizi. Per i dettagli sulla creazione o la modifica delle visualizzazioni, consulta l'articolo sulle visualizzazioni.

Per l'esempio seguente, scegliamo la visualizzazione "All hosts", che puoi aprire tramite Monitor > Hosts > All hosts. Dal menu, seleziona "Display > Customize view". Questo ti porterà alla pagina "Clone view", dove puoi personalizzare la visualizzazione a tuo piacimento.

Per evitare che la visualizzazione originale All hosts venga sovrascritta dalla copia, scegli un nuovo ID e anche un nuovo titolo con cui la visualizzazione verrà successivamente visualizzata nel menu Monitor.

Quindi (facoltativamente) rimuovi tutte le colonne che mostrano il numero di servizi nei diversi stati.

8.3. Aggiungere una colonna

Ora aggiungi una colonna del tipo Services: Metric History. Trattandosi di una colonna di servizi, nel caso di una visualizzazione host devi selezionare come prima opzione il tipo di colonna Joined column, che consente la visualizzazione di una colonna di servizi in una tabella host. Con una visualizzazione di servizio, è sufficiente aggiungere una nuova Column.

Options for adding an additional column.

In "Metric" seleziona il nome della metrica che deve essere valutata storicamente. Se non sei sicuro del nome della metrica, puoi trovarlo nei dettagli del servizio alla voce "Service Metrics":

View of the service details.

Nell'esempio scegliamo la metrica CPU utilization, che coincide anche con il nome del servizio.

Con RRD consolidation è meglio scegliere lo stesso valore utilizzato qui sotto in Aggregation function, poiché non avrebbe molto senso calcolare cose come "il minimo del massimo". Puoi scoprire di cosa si tratta l'opzione di selezione per gli RRD nel capitolo seguente sull'organizzazione dei dati RRD.

L'Time range è il periodo di tempo nel passato che vuoi esaminare. Nell'esempio, si tratta degli ultimi sette giorni, ovvero esattamente 168 ore.

Nell'esempio, scegliamo "Util @ 7 days" come "Column title". Non stupirti se più avanti compare un campo con il nome "Title": lo vedrai solo se qui viene utilizzato un "Joined column", che consente sempre di specificare un titolo. Lascia semplicemente vuoto il secondo titolo.

Infine, nel campo "Of Service", inserisci il nome del servizio a cui appartiene la metrica selezionata sopra. Presta attenzione all'ortografia esatta del servizio, comprese le maiuscole e le minuscole.

Dopo aver salvato, otterrai una nuova visualizzazione con una colonna aggiuntiva che mostra la percentuale di utilizzo della CPU negli ultimi sette giorni.

Host overview with the additional column for CPU utilization

Note

  • Ovviamente puoi anche aggiungere più colonne in questo modo, ad esempio per metriche diverse o periodi di tempo diversi.

  • Per gli host che non dispongono della metrica o del servizio in questione, la colonna rimane vuota.

  • Se lavori con una tabella di servizi, non hai bisogno di un "Joined Column". Tuttavia, puoi visualizzare solo un servizio per host in ogni riga.

9. The database Round Robin (RRD)

Checkmk memorizza tutti i valori misurati in database appositamente sviluppati, i cosiddetti Round Robin Databases (RRD). Qui è possibile utilizzare RRDtool di Tobi Oetiker, uno strumento molto popolare e ampiamente utilizzato nei progetti open source.

Rispetto ai classici database SQL, gli RRD offrono importanti vantaggi per l'archiviazione dei valori misurati:

  • Gli RRD memorizzano i dati misurati in modo molto compatto ed efficiente.

  • Lo spazio utilizzato per ogni metrica sul disco è fisso. Gli RRD non possono né aumentare né diminuire. Lo spazio su disco necessario può essere pianificato con precisione.

  • Il tempo di CPU e disco per ogni aggiornamento è sempre lo stesso. Gli RRD sono (praticamente) in tempo reale, quindi le riorganizzazioni non possono causare ingorghi di dati.

9.1. Organizzazione dei dati negli RRD

Per impostazione predefinita, Checkmk è configurato in modo che l'andamento di ogni metrica venga registrato su un periodo di tempo di quattro anni. La risoluzione di base utilizzata è di un minuto. Questo ha senso poiché l'intervallo di controllo è preimpostato su un minuto, in modo che esattamente una volta al minuto vengano ricevuti nuovi dati misurati da ogni servizio.

Ovviamente, memorizzare un valore al minuto per un periodo di quattro anni richiederà un enorme spazio su disco (anche se gli RRD richiedono solo 8 byte per valore misurato). Per questo motivo, col tempo i dati vengono compressi. La prima compressione avviene dopo 48 ore. Da questo momento in poi verrà memorizzato un solo valore ogni cinque minuti. Ulteriori fasi vengono implementate dopo 10 giorni e 90 giorni:

Fase Durata Risoluzione Valori misurati

1

2 giorni

1 minuto

2880

2

10 giorni

5 minuti

2880

3

90 giorni

30 minuti

4320

4

4 anni

6 ore

5840

La domanda ovvia ora è: qual è il modo migliore per consolidare cinque valori in modo significativo in uno solo? Per questo sono disponibili le funzioni di consolidamento: massimo, minimo e media. Ciò che è significativo nella pratica dipende dall'applicazione o dal punto di vista. Se, ad esempio, desideri effettuare il monitoraggio delle fluttuazioni di temperatura in un data center su un periodo di quattro anni, probabilmente la temperatura massima registrata è quella di maggiore interesse. Per i tassi di accesso di un’applicazione, invece, potrebbe essere più interessante la media.

Per ottenere la massima flessibilità per i calcoli successivi, gli RRD di Checkmk sono semplicemente preimpostati per memorizzare tutti e tre i valori contemporaneamente: minimo, massimo e media. Per ogni livello di compressione e funzione di consolidamento, l’RRD include uno stile di archiviazione “a anello”: il cosiddetto Round Robin Archive (RRA). Nella struttura standard ci sono 12 RRA. La struttura standard di Checkmk richiede quindi 384.952 byte per metrica. Questo numero deriva da: 2880 + 2880 + 4320 + 5840 punti di misurazione, moltiplicati per tre funzioni di consolidamento, moltiplicati per 8 byte per valore misurato — il che dà un totale esatto di 382.080 byte. Aggiungendo l'intestazione del file di 2872 byte si ottiene la dimensione finale di 384.952 byte citata sopra.

Uno schema alternativo interessante sarebbe, ad esempio, memorizzare un valore al minuto per un intero anno. Questo metodo avrebbe un piccolo vantaggio: gli RRD avrebbero sempre la risoluzione ottimale e potrebbero quindi fare a meno del consolidamento, generando solo valori medi, per esempio. Calcolando 365 x 24 x 60 valori misurati, moltiplicati per 8 byte, il risultato è un totale di quasi esattamente 4 MB per metrica. In questo modo, sebbene gli RRD abbiano un fabbisogno di spazio di archiviazione dieci volte superiore, il "disk I/O" è in realtà ridotto! Il motivo è che non è più necessario memorizzare e aggiornare in dodici RRA separati, ma ne serve solo uno .

9.2. Personalizzazione della struttura RRD

CEE Se lo schema di archiviazione predefinito non ti soddisfa, puoi modificarlo tramite i set di regole (e sono possibili anche versioni diverse per host o servizi). Il set di regole richiesto si trova più facilmente tramite la ricerca delle regole — quindi il menuSetup — e una volta lì basta inserireRRD . Qui troverai il set di regole Configuration of RRD databases of services . Esiste anche un set di regole simile per gli host, ma gli host hanno valori misurati solo in casi eccezionali. L'immagine qui sotto mostra la regola RRD con le impostazioni predefinite:

Rule settings for an RRD.

In Consolidation functions e RRA configuration puoi definire e impostare il numero e la dimensione delle fasi di compressione pronte per l’uso da parte dei consolidamenti. Il campo Step (precision) definisce la risoluzione in secondi e, di regola, è 60 secondi (un minuto). Per i servizi con un intervallo di controllo inferiore a un minuto può essere opportuno impostare questo numero su un valore inferiore. Tieni presente, tuttavia, che il valore nel campo Number of steps aggregated into one data point non rappresenterà più i minuti, ma l’intervallo di tempo impostato in Step (precision).

Ogni modifica alla struttura RRD ha inizialmente effetto solo sugli RRD appena creati, ovvero sugli host o sui servizi appena incorporati nel monitoraggio. Puoi anche consentire a Checkmk di ristrutturare gli RRD esistenti. Ciò viene eseguito dal comando cmk-convert-rrds, per il quale è sempre disponibile l'opzione -v (verbose). Checkmk ispezionerà quindi tutti gli RRD esistenti e li ristrutturerà secondo necessità nel formato di destinazione definito.

Important

Per garantire l'integrità dei dati contenuti negli RRD, ferma sempre la tua istanza (con omd stop) prima di convertire gli RRD esistenti con cmk-convert-rrds.

OMD[mysite]:~$ cmk-convert-rrds -v
myserver012:
   Uptime (CMC).....converted, 376 KB -> 159 KB
   Filesystem / (CMC).....converted, 1873 KB -> 792 KB
   OMD mysite apache (CMC).....converted, 14599 KB -> 6171 KB
   Memory (CMC).....converted, 14225 KB -> 6012 KB
   Filesystem /home/user (CMC).....converted, 1873 KB -> 792 KB
   Interface 2 (CMC).....converted, 4119 KB -> 1741 KB
   CPU load (CMC).....converted, 1125 KB -> 475 KB
Copia i comandi negli appunti
Comandi copiati con successo negli appunti!
L'accesso in scrittura agli appunti è stato negato!

Il comando è abbastanza intelligente da riconoscere gli RRD che hanno già la struttura desiderata:

OMD[mysite]:~$ cmk-convert-rrds -v
myserver345:
   Uptime (CMC).....uptodate
   Filesystem / (CMC).....uptodate
   OMD mysite apache (CMC).....uptodate
   Memory (CMC).....uptodate
   Filesystem /home/user (CMC).....uptodate
   Interface 2 (CMC).....uptodate
   CPU load (CMC).....uptodate
Copia i comandi negli appunti
Comandi copiati con successo negli appunti!
L'accesso in scrittura agli appunti è stato negato!

Se il nuovo formato ha una risoluzione più alta o funzioni di consolidamento aggiuntive, i dati esistenti verranno interpolati nel miglior modo possibile in modo che gli RRD contengano i valori più significativi possibili. È tuttavia ovvio che se, ad esempio, invece di 2 giorni, ora hai bisogno di 5 giorni con valori a intervalli di un minuto, allora la precisione dei dati esistenti non può essere aumentata retroattivamente.

9.3. Il formato di archiviazione RRD

CEE La regola descritta sopra ha un'ulteriore impostazione: RRD storage format. Con questa puoi scegliere tra due metodi che Checkmk può utilizzare durante la creazione degli RRD. Il formato One RRD per host/service (formato Checkmk, in breve) memorizza tutte le metriche di un host o di un servizio in un unico file RRD. Ciò consente una scrittura più efficiente dei dati su un'unità, in modo che un set completo di metriche possa sempre essere scritto in un'unica operazione. Queste metriche si trovano quindi in blocchi di memoria adiacenti, riducendo così il numero di blocchi che devono essere scritti sul disco.

Se le tue istanze Checkmk sono state create con un'edizione commerciale in una versione precedente a 1.2.8, potresti voler verificare più da vicino se i tuoi dati misurati sono mai stati convertiti nel formato attuale e molto più efficiente. Se i dati sono ancora memorizzati in formato PNP, puoi convertirli nel formato Checkmk applicando una regola come mostrato nel set di regole sopra.

Anche in questo caso avrai bisogno del comando cmk-convert-rrds e, ancora una volta, arresta sempre l'istanza prima di convertire gli RRD esistenti.

OMD[mysite]:~$ cmk-convert-rrds -v
myhost123:
   Uptime PNP -> CMC..converted.
  WARNING: Duplicate RRDs for stable/Uptime. Use --delete-rrds for cleanup.
   OMD mysite apache PNP -> CMC..converted.
  WARNING: Duplicate RRDs for stable/OMD mysite apache. Use --delete-rrds for cleanup.
   fs_/home/user PNP -> CMC..converted.
  WARNING: Duplicate RRDs for stable/fs_/home/user. Use --delete-rrds for cleanup.
   OMD mysite apache PNP -> CMC..converted.
  WARNING: Duplicate RRDs for stable/OMD mysite apache. Use --delete-rrds for cleanup.
   Memory PNP -> CMC..converted.
...
Copia i comandi negli appunti
Comandi copiati con successo negli appunti!
L'accesso in scrittura agli appunti è stato negato!

Come puoi vedere dall'avviso, Checkmk inizialmente lascia i file esistenti invariati. Questo ti permette, in caso di dubbio, di tornare al formato originale dei dati, poiché una conversione in senso inverso non è possibile. L'opzione --delete-rrds assicura che questa copia non venga creata o venga successivamente eliminata. Puoi facilmente eseguire l'eliminazione in un secondo momento manualmente utilizzando nuovamente il comando:

OMD[mysite]:~$ cmk-convert-rrds -v --delete-rrds
Copia comandi negli appunti
Comandi copiati con successo negli appunti!
Accesso in scrittura agli appunti negato!

9.4. Il daemon della cache RRD (rrdcached)

Per ridurre (drasticamente) il numero di accessi in scrittura su un disco, è possibile utilizzare un servizio ausiliario: il daemon della cache RRD (rrdcached). È uno dei servizi delle istanze avviati automaticamente.

Tutti i nuovi valori misurati per gli RRD vengono inviati dal Checkmk Micro Core (edizioni commerciali) o dall' NPCD (Comunità Checkmk) a rrdcached. Questo non scrive i dati direttamente negli RRD, ma li conserva nella memoria principale per scriverli in un secondo momento come raccolta nel rispettivo RRD. In questo modo il numero di accessi in scrittura al disco (o alla SAN!) viene notevolmente ridotto.

Affinché non vadano persi dati in caso di riavvio, gli aggiornamenti vengono inoltre scritti in file di log di journal. Anche questi sono accessi in scrittura, ma poiché i dati sono organizzati in modo sequenziale, generano poco IO.

Affinché il daemon della cache RRD possa funzionare in modo efficiente, ha bisogno di molta memoria principale. La quantità richiesta dipende dal numero di RRD e da quanto a lungo i dati devono essere memorizzati nella cache. Quest'ultimo può essere definito nel file ~/etc/rrdcached.conf. L'impostazione standard è di 7200 secondi (due ore) — questo valore può essere personalizzato dall'utente — più un intervallo casuale compreso tra 0 e 1800 secondi. Questo ritardo casuale per ogni RRD evita la scrittura "a impulsi" e garantisce che l'IO sia distribuito regolarmente nel tempo:

~/etc/rrdcached.conf
# Tuning settings for the rrdcached. Please refer to rrdcached(1) for
# details. After changing something here, you have to do a restart
# of the rrdcached (reload is not sufficient)

# Data is written to disk every TIMEOUT seconds. If this option is
# not specified the default interval of 300 seconds will be used.
TIMEOUT=3600

# rrdcached will delay writing of each RRD for a random
# number of seconds in the range [0,delay). This will avoid too many
# writes being queued simultaneously. This value should be no
# greater than the value specified in TIMEOUT.
RANDOM_DELAY=1800

# Every FLUSH_TIMEOUT seconds the entire cache is searched for old values
# which are written to disk. This only concerns files to which
# updates have stopped, so setting this to a high value, such as
# 3600 seconds, is acceptable in most cases.
FLUSH_TIMEOUT=7200

# Specifies the number of threads used for writing RRD files. Increasing this
# number will allow rrdcached to have more simultaneous I/O requests into the
# kernel. This may allow the kernel to re-order disk writes, resulting in better
# disk throughput.
WRITE_THREADS=4

Attiva una modifica alle impostazioni in questo file con:

OMD[mysite]:~$ omd restart rrdcached
Stopping rrdcached...waiting for termination....OK
Starting rrdcached...OK
Copia i comandi negli appunti
Comandi copiati con successo negli appunti!
L'accesso in scrittura agli appunti è stato negato!

9.5. File e directory

Ecco una panoramica dei file e delle directory più importanti associati ai valori misurati e agli RRD (tutti quelli relativi alla directory home dell'istanza):

Nome del percorso Descrizione

~/var/check_mk/rrd

RRD in formato Checkmk

~/var/pnp4nagios/perfdata

RRD nel vecchio formato (PNP)

~/var/rrdcached

File di log del daemon della cache RRD

~/var/log/rrdcached.log

File di log del daemon della cache RRD

~/var/log/cmc.log

File di log del core di Checkmk (contiene messaggi di errore sugli RRD, se presenti)

~/etc/rrdcached.conf

Impostazioni per il daemon della cache RRD


Last modified: Thu, 22 Jan 2026 10:01:04 GMT via commit 90b08c08b
In questa pagina