Checkmk
to checkmk.com

In this article we explain the basic terms and concepts in Checkmk, such as host, service, user, contact group, notification, time period, scheduled downtime.

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.

In questo articolo spieghiamo i termini e i concetti di base di Checkmk, come host, servizio, utente, gruppo di contatto, notifica, periodo di tempo, tempo di manutenzione programmata.

1. Stati ed eventi

È importante capire le differenze fondamentali tra stati ed eventi, soprattutto per un vantaggio molto pratico. La maggior parte dei sistemi di monitoraggio IT classici ruota attorno agli eventi. Un evento è qualcosa che si verifica in modo univoco in un determinato momento. Un buon esempio potrebbe essere un errore durante l'accesso all'unità X. Le fonti tipiche degli eventi sono i messaggi syslog, le SNMP trap, il registro eventi di Windows e le voci dei file di log. Gli eventi sono occorrenze quasi spontanee (autogenerate, asincrone).

Al contrario, uno stato descrive una situazione che si protrae nel tempo, ad esempio l'unità X è online. Per osservare lo stato di qualcosa, il sistema di monitoraggio deve interrogarlo regolarmente. Come mostra l'esempio, nel monitoraggio è spesso possibile scegliere se lavorare con gli eventi o con gli stati.

Checkmk può gestire sia gli stati che gli eventi, ma, quando è possibile scegliere, darà sempre la priorità al monitoraggio basato sugli stati. Il motivo sta nei numerosi vantaggi di questo metodo. Eccone alcuni:

  • Un errore nel monitoraggio stesso viene rilevato immediatamente, perché è ovviamente evidente quando la richiesta di stato non funziona più. La mancata ricezione di un messaggio, d'altra parte, non dà alcuna certezza che il monitoraggio funzioni ancora.

  • Checkmk stesso può controllare la frequenza con cui vengono interrogati gli stati. Non c'è il rischio di un "event storm" in situazioni di errore globali.

  • Checking regolare in un intervallo di tempo fisso consente di acquisire le metriche per registrare la loro cronologia.

  • Anche in situazioni caotiche — ad esempio un'interruzione di corrente in un data center — si ha sempre un quadro generale affidabile.

Si può tranquillamente affermare che il monitoraggio basato sugli stati di Checkmk è la norma. Per l'elaborazione degli eventi c'è anche la Console degli Eventi. È specializzata nella correlazione e nella valutazione di grandi quantità di eventi ed è perfettamente integrata nella piattaforma Checkmk.

2. Host e servizi

2.1. Host

In Checkmk tutto ruota attorno agli host e ai servizi. Un host può essere molte cose, ad esempio:

  • A server

  • Un dispositivo di rete (switch, router, bilanciatore di carico)

  • Un dispositivo di misurazione con connessione IP (termometro, igrometro)

  • Qualsiasi altra cosa con un indirizzo IP

  • Un cluster di più host

  • Una macchina virtuale

  • Un Docker container

Nel monitoraggio, un host ha sempre uno dei seguenti stati:

Stato Colore Significato

UP

verde

L'host è accessibile tramite la rete (in genere significa che risponde al ping.)

DOWN

rosso

L'host non risponde alle richieste di rete, non è accessibile.

UNREACH

arancione

Il percorso verso l'host è attualmente bloccato al monitoraggio, perché un router o un switch nel percorso ha smesso di funzionare.

IN SOSP.

grigio

L'host è stato appena aggiunto al monitoraggio, ma non è mai stato interrogato prima. A rigor di termini, questo non è proprio uno stato.

Oltre allo stato, un host ha una serie di altri attributi che possono essere configurati dall'utente, ad esempio:

  • Un nome univoco

  • Un indirizzo IP

  • Opzionale: un alias, che non deve essere univoco

  • Opzionale: uno o più genitori

2.2. Genitori

Affinché il monitoraggio possa determinare lo stato dell'UNREACH, deve sapere quale percorso può utilizzare per contattare ogni singolo host. A questo scopo, per ogni host è possibile specificare uno o più cosiddetti host genitori. Ad esempio, se un server A, dal punto di vista del monitoraggio, è raggiungibile solo tramite un router B, allora B è un host padre di A. In Checkmk vengono configurati solo i genitori diretti. Questo porta a una struttura ad albero con l'istanza Checkmk al centro (qui mostrato come Icon for the Checkmk site.):

Network topology with a configured parent.

Supponiamo che nell'esempio di topologia di rete mostrato sopra, gli host myhost e myhost4 non siano più raggiungibili. Il guasto di myhost4 può essere spiegato dal fatto che myhost ha smesso di funzionare. Pertanto, myhost4 viene classificato come "UNREACH" nel monitoraggio. Semplicemente non è possibile determinare chiaramente perché Checkmk non riesca più a raggiungere myhost4, e lo stato "DOWN" sarebbe quindi fuorviante in alcune circostanze. Invece, l'UNREACHe ha l'effetto di sopprimere le notifiche per impostazione predefinita. Questo è dopotutto il compito più importante del concetto di "parents", ovvero evitare notifiche di massa nel caso in cui un intero segmento di rete dipendente diventi non raggiungibile per il monitoraggio a causa di un'interruzione in un singolo punto.

La prevenzione dei falsi allarmi è garantita anche da una funzionalità del Checkmk Micro Core (CMC) utilizzato nelle edizioni commerciali. In questo caso, il cambio di stato per un host in errore viene trattenuto per qualche istante e procede solo quando è certo che il genitore sia ancora raggiungibile. Se, invece, il genitore è definitivamente DOWN, l’host passerà a UNREACH — senza che venga attivata alcuna notifica.

In alcuni casi un host potrebbe avere più host genitori, ad esempio quando un router è in esecuzione in modalità ad alta disponibilità in un cluster. È sufficiente che Checkmk sia in grado di determinare in modo univoco lo stato dell’host quando una di queste host genitori è raggiungibile. Pertanto, quando un host ha più host genitori e almeno una di queste è UP, l’host viene considerato raggiungibile nel monitoraggio. In altre parole, in una situazione del genere, l’host non passerà automaticamente allo stato UNREACH.

2.3. Servizi

Un host dispone di una serie di servizi. Un servizio può essere qualsiasi cosa — non confonderlo con i servizi di Windows. Un servizio è qualsiasi parte o aspetto dell'host che può essere OK o non OK. Naturalmente lo stato può essere determinato solo se l'host si trova nello stato UP.

Un servizio sottoposto a monitoraggio può avere i seguenti stati:

Stato Colore Significato

OK

verde

Il servizio funziona perfettamente. Tutti i valori rientrano nell'intervallo consentito.

WARN

giallo

Il servizio funziona normalmente, ma i suoi parametri sono fuori dall'intervallo ottimale.

CRIT

rosso

Il servizio non funziona.

SCONOSCIUTO

arancione

Non è possibile determinare correttamente lo stato del servizio. L'agente di monitoraggio ha fornito dati errati oppure l'elemento monitorato è scomparso.

IN SOSP.

grigio

Il servizio è stato appena aggiunto e finora non ha fornito dati di monitoraggio.

Per stabilire quale condizione sia "peggiore", Checkmk utilizza la seguente sequenza:

OKWARNSCONOSCIUTOCRIT

2.4. Check

Un check garantisce che a un host o a un servizio possa essere assegnato uno stato. Quali stati possano essere è descritto nella sezione precedente. I servizi e i controlli sono strettamente correlati. Per questo motivo questi termini sono talvolta usati in modo intercambiabile, forse anche in questo manuale, sebbene siano in realtà cose diverse.

Nella configurazione puoi visualizzare quale plug-in di controllo è responsabile di ciascun servizio. Apri le proprietà di un host con "Setup > Hosts" e poi, nel menu "Host > Run service discovery", l'elenco dei servizi per questo host. Quindi usa "Display > Show plugin names" per visualizzare una nuova colonna che mostrerà il plug-in di controllo responsabile di ciascun servizio:

monitoring basics services checks
Abbiamo omesso la colonna della tabella Summary, che in questo caso non è rilevante

Come puoi vedere dall'esempio del plug-in di controllo df, un plug-in di controllo può essere responsabile di più di un servizio. A proposito, i nomi dei plug-in di controllo elencati nella colonna sono anche link che mostrano una descrizione del plug-in di controllo.

La connessione e la dipendenza tra servizi e controlli sono visibili anche nel monitoraggio. Nell'elenco dei servizi per un host nel monitoraggio, puoi notare che nel menu azione di icon menu, alla voce "Reschedule", per alcuni servizi è presente una freccia gialla (icon reload), mentre per la maggior parte degli altri è presente una freccia grigia (icon reload cmk). Un servizio con la freccia gialla si basa su un active check:

monitoring basics check mk service

Tale active check viene eseguito direttamente da Checkmk. I servizi con la freccia grigia si basano su controlli passivi i cui dati vengono recuperati da un altro servizio, il servizio Check_MK. Questo viene fatto per motivi di performance ed è una caratteristica speciale di Checkmk.

3. Gruppi di host e gruppi di servizi

Per migliorare la panoramica, puoi organizzare gli host in gruppi di host e i servizi in gruppi di servizi. Un host/servizio può anche far parte di più di un gruppo. La creazione di questi gruppi è facoltativa e non è necessaria per la configurazione. Tuttavia, se ad esempio hai impostato la struttura delle cartelle in base alle posizioni geografiche, potrebbe essere utile creare un gruppo di host Linux servers che raggruppi tutti i server Linux, indipendentemente da dove si trovino.

Puoi trovare ulteriori informazioni sui gruppi di host nell'articolo sulla strutturazione degli host e sui gruppi di servizi nell'articolo sui servizi.

4. Contatti e gruppi di contatto

I contatti e i gruppi di contatti ti permettono di associare persone a host e servizi. Un contatto è collegato a un nome utente o a un'interfaccia web. L'associazione con host e servizi non avviene direttamente, ma tramite i gruppi di contatti.

In primo luogo, un contatto (ad es. harri) viene assegnato a un gruppo di contatti (ad es. linux-admins). Successivamente, gli host — o, se necessario, i singoli servizi — possono essere assegnati al gruppo di contatti. In questo modo gli utenti, così come gli host e i servizi, possono essere assegnati a più gruppi di contatti.

Queste assegnazioni sono utili per diversi motivi:

  1. Chi è autorizzato alla visualizzazione di qualcosa?

  2. Chi è autorizzato a configurare e controllare quali host e servizi?

  3. Chi riceve le notifiche e per quali problemi?

A proposito: l'utente cmkadmin, che viene definito automaticamente alla creazione di un'istanza, è sempre autorizzato a effettuare la visualizzazione di tutti gli host e dei servizi anche se non è un contatto. Questo è determinato dal suo ruolo di amministratore.

5. Utenti e ruoli

Mentre i contatti e i gruppi di contatti determinano chi è responsabile di un determinato host o servizio, i permessi sono gestiti dai ruoli. Checkmk viene fornito con una serie di ruoli predefiniti dai quali puoi successivamente derivare ulteriori ruoli in base alle tue esigenze. Ogni ruolo definisce un insieme di permessi che possono essere personalizzati in un secondo momento. Il significato dei ruoli standard è:

Nome del ruolo Alias Descrizione

admin

Amministratore

Può vedere e fare tutto, ha tutti i permessi.

user

Utente di monitoraggio normale

Può vedere solo ciò di cui è un contatto. Può gestire gli host nelle cartelle assegnategli. Non può effettuare impostazioni globali.

agent_registration

Utente di registrazione agente

Può solo registrare l'agente Checkmk di un host sul server Checkmk — nient'altro.

guest

Utente ospite

Può vedere tutto, ma non può configurare nulla né intervenire nel monitoraggio.

no_permissions

Modello vuoto per ruoli con privilegi minimi

Non può fare nulla.

6. Problemi, eventi e notifiche

6.1. Problemi gestiti e problemi non gestiti

Checkmk identifica come problema ogni host che non è UP e ogni servizio che non è OK. Un problema può avere due stati: non gestito e gestito. La procedura prevede che un nuovo problema venga inizialmente trattato come non gestito. Non appena qualcuno conferma il problema, questo verrà contrassegnato come gestito; ovviamente, i problemi non gestiti sono quelli a cui non è stata ancora prestata attenzione. La panoramica nella barra laterale distingue quindi questi due tipi di problemi:

Overview snap-in in Show more mode.

A proposito: i problemi di servizio provenienti da host che al momento non sono UP non vengono identificati come problemi.

Maggiori dettagli sui riconoscimenti sono disponibili in un articolo dedicato.

6.2. Notifiche

Quando lo stato dell'host cambia (ad esempio da "OK" a "CRIT"), Checkmk registra un evento di monitoraggio. Questi eventi possono generare o meno una notifica. Checkmk è progettato in modo tale che ogni volta che un host o un servizio presenta un problema, venga inviata un'e-mail ai contatti dell'oggetto (tieni presente che ogni utente appena creato, per impostazione predefinita, non è un contatto per nessun oggetto). Tuttavia, queste impostazioni possono essere personalizzate in modo molto flessibile. Le notifiche dipendono anche da una serie di parametri. È più semplice esaminare i casi in cui le notifiche non vengono inviate. Le notifiche vengono soppresse …​

  • …​quando le notifiche sono state disattivate globalmente nel controllo master,

  • …​quando le notifiche sono state disattivate nell'host/servizio,

  • …​quando le notifiche sono state disattivate per un particolare stato dell'host/servizio (ad es. nessuna notifica per WARN),

  • …​quando il problema riguarda un servizio il cui host è DOWN o UNREACH ,

  • …​quando il problema riguarda un host i cui genitori sono tutti DOWN o UNREACH ,

  • …​quando per l'host/servizio è stato impostato un periodo di notifica che al momento non è attivo,

  • …​quando l'host/servizio sta attualmente avendo un comportamento irregolare icon flapping ,

  • …​quando l'host/servizio è attualmente in un periodo di tempo di manutenzione programmato

Se nessuno di questi prerequisiti per la soppressione delle notifiche è soddisfatto, il nucleo di monitoraggio crea una notifica, che in un secondo passo passa attraverso una catena di regole. In queste regole puoi definire ulteriori criteri di esclusione e decidere chi deve essere avvisato e in che forma (e-mail, SMS, ecc.)

Tutti i dettagli relativi alle notifiche sono disponibili nell'articolo dedicato alle Notifiche.

6.3. Host e servizi irregolari

A volte capita che un servizio cambi continuamente e rapidamente la propria condizione. Per evitare notifiche continue, Checkmk mette tale servizio nello stato irregolare. Questo è indicato dal simbolo "icon flapping".

Quando un servizio entra in stato irregolare, viene generata una notifica che informa l'utente della situazione e silenzia le ulteriori notifiche. Dopo un tempo adeguato, se non si verificano ulteriori cambiamenti rapidi ed è evidente uno stato finale (buono o cattivo), lo stato irregolare scompare e riprendono le normali notifiche.

6.4. Tempo di manutenzione programmata

Se esegui lavori di manutenzione su un server, un dispositivo o del software, normalmente vorrai evitare notifiche di problemi durante questo periodo. Inoltre, probabilmente vorrai avvisare i tuoi colleghi che i problemi che compaiono nel monitoraggio durante questo periodo possono essere temporaneamente ignorati.

A questo scopo puoi inserire una condizione di tempo di manutenzione programmata su un host o un servizio. Questo può essere fatto direttamente prima di iniziare il lavoro o in anticipo. Il tempo di manutenzione programmata è indicato dai simboli:

Icon for displaying a scheduled downtime.

L'host o il servizio si trova in un periodo di tempo di manutenzione programmata.

Icon for displaying a derived scheduled downtime for a service.

I servizi il cui host è in tempo di manutenzione programmata sono contrassegnati da questo simbolo.

Mentre un host o un servizio è in fase di tempo di manutenzione programmata:

  • Non verranno inviate notifiche.

  • I problemi non verranno visualizzati nello snap-in "Overview".

Inoltre, se in seguito desideri documentare le statistiche sulla disponibilità di host e servizi è consigliabile includere i tempi di manutenzione programmati. Questi possono essere presi in considerazione nelle successive valutazioni di disponibilità.

6.5. Host e servizi obsoleti

Se lavori con Checkmk da un po', è possibile che nelle tue visualizzazioni di host e servizi vengano visualizzate delle ragnatele. Per i servizi, ad esempio, appare così:

View of two services in the stale state.

Queste ragnatele simboleggiano lo stato in stallo. Ogni volta che c'è un host o un servizio in stallo, questo verrà mostrato anche nello snap-in "Overview", che verrà esteso dalla colonna "Stale".

Ma cosa significa esattamente lo stato "stale"? In generale, un host o un servizio viene contrassegnato come "stale" quando Checkmk non riceve più informazioni aggiornate sul suo stato per un periodo di tempo prolungato:

  • Un servizio diventa obsoleto: Se un agente o anche solo un plug-in dell'agente smette di funzionare — per qualsiasi motivo — per un periodo di tempo prolungato, l'agente non fornirà più dati aggiornati per la valutazione. I servizi il cui stato è determinato da controlli passivi non possono essere aggiornati, poiché dipendono dai dati dell'agente. I servizi rimangono nel loro ultimo stato, ma vengono contrassegnati come obsoleti dopo che è trascorso un certo tempo.

  • Un host diventa obsoleto: Se l'Host check command, che verifica la connettività dell'host, non fornisce una risposta aggiornata, l'host mantiene l'ultimo stato determinato, ma viene poi contrassegnato come obsoleto.

Puoi regolare il limite di tempo dopo il quale gli host e i servizi diventano obsoleti. A tal fine, leggi la sezione sugli intervalli di tempo.

7. Periodi di tempo

timeperiods

I periodi di tempo ricorrenti settimanali vengono utilizzati in vari punti della configurazione. Un periodo di tempo tipico potrebbe chiamarsi working hourse e includere gli orari dalle 8:00 alle 17:00 ogni giorno, tutti i giorni della settimana tranne sabato e domenica. Il periodo 24X7 è predefinito e include semplicemente tutti i giorni. I periodi di tempo possono anche includere eccezioni per determinati giorni del calendario, ad esempio per le festività pubbliche bavaresi.

Ecco alcuni punti importanti in cui si utilizzano i periodi di tempo:

  • Limitare gli orari in cui vengono inviate le notifiche (periodo di notifica).

  • Limitare gli orari in cui vengono eseguiti i controlli (periodo di check).

  • Orari di servizio per il calcolo della disponibilità (periodo di servizio).

  • I tempi entro cui entreranno in vigore determinate regole nella Console degli Eventi.

Puoi leggere come impostare i periodi di tempo nell'articolo Periodi di tempo.

8. Periodi di check, intervalli di check e tentativi di check

8.1. Specificare i periodi di check

Puoi limitare gli intervalli di tempo in cui vengono eseguiti i controlli. A questo scopo servono i set di regole Check period for hosts, Check period for active services e Check period for passive Checkmk services. Usa queste regole per selezionare uno degli intervalli di tempo disponibili come periodo di check.

8.2. Impostazione degli intervalli di check

I controlli vengono eseguiti a intervalli fissi nell'ambito del monitoraggio basato sullo stato. Checkmk utilizza un intervallo predefinito di un minuto per i controlli dei servizi e di 6 secondi per i controlli degli host con Smart Ping.

Questi valori predefiniti possono essere sovrascritti utilizzando i set di regole Normal check interval for service checks e Normal check interval for host checks:

  • Aumenta l'intervallo per risparmiare risorse della CPU sul server Checkmk e sul sistema di destinazione.

  • Riduci l'intervallo per ricevere notifiche più velocemente e effettuare la raccolta dei dati misurati con una risoluzione più alta.

Se ora combini un periodo di check con un intervallo di controllo, puoi assicurarti che un active check venga eseguito esattamente una volta al giorno in un momento molto specifico. Ad esempio, se imposti l'intervallo di controllo a 24 ore e il periodo di check dalle 2:00 alle 2:01 ogni giorno (cioè solo un minuto al giorno), Checkmk farà in modo che il controllo venga effettivamente spostato in questa breve finestra temporale.

Lo stato dei servizi non verrà più aggiornato al di fuori di questo periodo di check definito e i servizi verranno contrassegnati come obsoleti con il simbolo icon stale. Con l'impostazione globale Staleness value to mark hosts / services stale puoi definire quanto tempo deve trascorrere prima che un host/servizio diventi obsoleto. Questa impostazione si trova in Setup > General > Global settings > User interface:

Festlegung des Faktors für Staleness.

Questo fattore rappresenta n volte l'intervallo di controllo. Quindi, se il tuo intervallo di controllo è impostato su un minuto (60 secondi), un servizio per il quale non ci sono nuovi risultati di controllo verrà messo in stallo dopo 1,5 volte il tempo, ovvero dopo 90 secondi.

8.3. Modifica dei tentativi di check

Con l'aiuto dell'opzione "tentativi di controllo" puoi evitare le notifiche in caso di errori sporadici. Questo rende il check meno sensibile, per così dire. A questo scopo puoi utilizzare i set di regole Maximum number of check attempts for host e Maximum number of check attempts for service.

Se i check sono impostati su 3, ad esempio, e il servizio corrispondente diventa "CRIT", inizialmente non viene attivata alcuna notifica. Solo se anche i due check successivi producono un risultato che non è "OK", il conteggio dei check attuali aumenterà a 3 e verrà inviata la notifica.

Un servizio che si trova in questo stato intermedio — cioè non è OK ma non ha ancora raggiunto il numero massimo di tentativi di controllo — avrà uno stato soft. Solo uno stato hard attiverà effettivamente una notifica.

9. Panoramica dei simboli più importanti relativi a host e servizi

La tabella seguente offre una breve panoramica dei simboli più importanti che compaiono accanto agli host e ai servizi:

Icon for displaying a scheduled downtime.

L'host o il servizio è in tempo di manutenzione programmata.

Icon for displaying a derived scheduled downtime for a service.

I servizi il cui host è in tempo di manutenzione programmata sono contrassegnati da questo simbolo.

icon outofnot

Questo host/servizio è attualmente fuori dal periodo di notifica.

icon notif man disabled

Le notifiche per questo host/servizio sono attualmente disabilitate.

icon disabled

I check per questo servizio sono attualmente disabilitati.

icon stale

Questo stato dell'host/servizio è obsoleto.

icon flapping

Questo stato dell'host/servizio è irregolare.

icon ack

Questo host/servizio presenta un problema confermato.

icon comment

C'è un commento per questo host/servizio.

icon aggr

Questo host/servizio fa parte di un'aggregazione BI.

icon check parameters

Qui puoi accedere direttamente alle impostazioni dei parametri del check.

icon logwatch

Solo per i servizi logwatch: qui puoi accedere ai file di log memorizzati.

icon pnp

Qui puoi accedere a un grafico della serie temporale dei valori misurati.

icon inventory

Questo host/servizio dispone di dati di inventario. Cliccandoci sopra si visualizza la visualizzazione correlata.

icon crash

Questo check si è bloccato. Cliccaci sopra per effettuare la visualizzazione e l'invio di un rapporto sui crash.


Last modified: Tue, 24 Feb 2026 14:51:19 GMT via commit d61dc9dd6
In questa pagina