In this article we explain the basic terms and concepts in Checkmk, such as host, service, user, contact group, notification, time period, scheduled downtime.
![]() |
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 vengono spiegati i termini e i concetti di base di Checkmk, quali host, servizio, utente, gruppo di contatto, notifica, periodo di tempo, tempo di manutenzione programmata.
1. Stati ed eventi
È importante comprendere le differenze fondamentali tra stati ed eventi,soprattutto per motivi pratici. 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 è un errore durante l'accesso all'unità X. Le fonti tipiche degli eventi sono i messaggi syslog, gli 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 prolungata, 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 eventi o con stati.
Checkmk può gestire sia gli stati che gli eventi, ma, laddove è possibile scegliere, darà sempre la priorità al monitoraggio basato sugli stati. Il motivo risiede nei numerosi vantaggi offerti da questo metodo. Alcuni di questi sono:
Un errore nel monitoraggio stesso viene rilevato immediatamente, perché è ovviamente evidente quando la query di stato non funziona più. Il mancato invio di un messaggio, invece, non dà alcuna certezza che il monitoraggio funzioni ancora.
Checkmk è in grado di controllare la frequenza con cui vengono interrogati gli stati. Non vi è alcun rischio di tempesta di eventi in situazioni di errore globale.
Il check regolare in un intervallo di tempo fisso consente di acquisire metriche per registrare la loro cronologia temporale.
Anche in situazioni caotiche, ad esempio un'interruzione di corrente in un data center, si ha sempre uno stato complessivo affidabile.
Si può ben dire che il monitoraggio basato sullo stato di Checkmk è la norma. Per l'elaborazione degli eventi è disponibile anche la Console degli Eventi. Questa è specializzata per la correlazione e la valutazione di un gran numero di eventi ed è perfettamente integrata nella piattaforma Checkmk.
2. Host e servizi
2.1. Host
Tutto in Checkmk ruota attorno agli host e ai servizi. Un host può essere molte cose, ad esempio:
Un server
Un dispositivo di rete (switch, router, bilanciatore di carico)
Un dispositivo di misurazione con una 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 a un ping). |
DOWN |
rosso |
L'host non risponde alle richieste di rete, non è accessibile. |
UNREACH |
arancione |
Il percorso verso l'host è attualmente bloccato per il monitoraggio, perché un router o uno switch nel percorso non funziona. |
IN SOSP. |
Grigio |
L'host è stato appena incluso nel monitoraggio, ma non è mai stato interrogato prima. In senso stretto, questo non è realmente 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 di UNREACH, deve sapere quale percorso può utilizzare per contattare ogni singolo host. A tale scopo, per ogni host è possibile specificare uno o più host padre. Ad esempio, se un server A , visto dal monitoraggio, è raggiungibile solo tramite un router B, allora B è un host padre di A. In Checkmk vengono configurati solo i genitori diretti. Si ottiene così una struttura ad albero con l'istanza Checkmk al centro (qui rappresentata come ):

Supponiamo che nella topologia di rete sopra riportata gli host myhost e myhost4 non siano più raggiungibili. Il guasto di myhost4 può essere spiegato dal fatto che myhost è guasto. Pertanto, myhost4 viene classificato come " UNREACH " nel monitoraggio. Non è possibile determinare con chiarezza perché Checkmk non riesca più a raggiungere myhost4 e lo stato " DOWN " potrebbe quindi essere fuorviante in alcune circostanze. Invece, l'opzione " UNREACH " ha l'effetto di sopprimere le notifiche per impostazione predefinita. Questo è dopotutto il compito più importante del concetto di genitori, ovvero evitare notifiche di massa nel caso in cui un intero segmento di rete dipendente diventi irraggiungibile per il monitoraggio a causa di un'interruzione in un singolo punto.
La prevenzione di falsi allarmi è garantita anche dalla funzione Checkmk Micro Core (CMC) utilizzata nelle edizioni commerciali. In questo caso, il cambiamento di stato di un host guasto viene trattenuto per alcuni istanti e procede solo quando è certo che il padre è ancora raggiungibile. Se, invece, il padre è definitivamente " DOWN", l'host passa a " UNREACH" senza che venga attivata alcuna notifica.
In alcuni casi un host potrebbe avere più host padre, ad esempio quando un router è in esecuzione con alta disponibilità in un cluster. È sufficiente che Checkmk sia in grado di determinare in modo univoco lo stato dell'host quando uno di questi host padre è raggiungibile. Pertanto, quando un host ha più host padre e almeno uno di questi è UP, l'host è 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 è nello stato UP.
Un servizio monitorato può avere i seguenti stati:
Stato | Colore | Significato |
---|---|---|
OK |
verde |
Il servizio è completamente in ordine. Tutti i valori rientrano nell'intervallo consentito. |
WARN |
Giallo |
Il servizio funziona normalmente, ma i suoi parametri non rientrano nell'intervallo ottimale. |
CRIT |
rosso |
Il servizio non è disponibile. |
SCONOSCIUTO |
arancione |
Non è possibile determinare correttamente lo stato del servizio. L'agente di monitoraggio ha fornito dati difettosi o l'elemento monitorato è scomparso. |
IN SOSP. |
grigio |
Il servizio è stato appena incluso e finora non ha fornito dati di monitoraggio. |
Per determinare quale condizione è "peggiore", Checkmk utilizza la seguente sequenza:
OK WARN → SCONOSCIUTO → CRIT
2.4. Check
Un check garantisce che a un host o a un servizio possa essere assegnato uno stato. Gli stati possibili sono descritti nella sezione precedente. I servizi e i check sono strettamente correlati. Per questo motivo questi termini sono talvolta utilizzati in modo intercambiabile, forse anche in questo manuale, sebbene si tratti di cose diverse.
Nel Setup è possibile visualizzare quale plug-in di controllo è responsabile di ciascun servizio. Aprire le proprietà di un host con " Setup > Hosts " e quindi nel menu " Host > Run service discovery " l'elenco dei servizi per questo host. Quindi utilizzare " Display > Show plugin names " per visualizzare una nuova colonna che mostrerà il plug-in di controllo responsabile di ciascun servizio:

Come si può vedere dall'esempio del plug-in di controllo df, un plug-in di controllo può essere responsabile di più servizi. 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 dei servizi e dei controlli sono visibili anche nel monitoraggio. Nell'elenco dei servizi per un host in monitoraggio, è possibile notare che nel menu azione alla voce Reschedule, per alcuni servizi è presente una freccia gialla (), mentre per la maggior parte degli altri è presente una freccia grigia (). Un servizio con la freccia gialla si basa su un active check:

Tale active check viene eseguito direttamente da Checkmk. I servizi con la freccia grigia si basano su passive check i cui dati vengono recuperati da un altro servizio, il servizio Check_MK. Ciò avviene per motivi di performance ed è una caratteristica speciale di Checkmk.
3. Gruppi di host e servizi
Per migliorare la panoramica, è possibile organizzare gli host in gruppi di host e i servizi in gruppi di servizi.
Un host/servizio può anche appartenere a più gruppi.
La creazione di questi gruppi è facoltativa e non necessaria per la configurazione.
Tuttavia, se ad esempio è stata impostata 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 dalla loro posizione.
Per ulteriori informazioni sui gruppi di host, consultare l'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 offrono la possibilità di assegnare persone a host e servizi. Un contatto è correlato a un nome utente o a un'interfaccia web. La correlazione con host e servizi non avviene direttamente, ma tramite gruppi di contatti.
In primo luogo, un contatto (ad es. harri
) viene assegnato a un gruppo di contatti (ad es. linux-admins
).
Successivamente, è possibile assegnare host o, se necessario, singoli servizi 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 una serie di motivi:
Chi è autorizzato a visualizzare qualcosa?
Chi è autorizzato a configurare e controllare quali host e servizi?
Chi riceve le notifiche e per quali problemi?
A proposito: l'utente cmkadmin
, definito automaticamente dalla creazione di un'istanza, è sempre autorizzato alla visualizzazione di tutti gli host e servizi, anche se non è un contatto.
Ciò è determinato dal suo ruolo di amministratore.
5. Utenti e ruoli
Mentre i contatti e i gruppi di contatto controllano chi è responsabile di un particolare host o servizio, i permessi sono controllati dai ruoli. Checkmk viene fornito con una serie di ruoli predefiniti dai quali è possibile derivare ulteriori ruoli in base alle esigenze. Ogni ruolo definisce una serie di permessi che possono essere personalizzati in un secondo momento. Il significato dei ruoli standard è il seguente:
Nome del ruolo | Alias | Descrizione |
---|---|---|
|
Amministratore |
Può vedere e fare tutto, ha tutti i permessi. |
|
Utente di monitoraggio normale |
Può visualizzare solo ciò per cui è un contatto. Può gestire gli host nelle cartelle assegnate. Non può effettuare impostazioni globali. |
|
Utente di registrazione agente |
Può solo registrare l'agente Checkmk di un host con il server Checkmk, nient'altro. |
|
Utente ospite |
Può visualizzare tutto, ma non può configurare nulla né intervenire nel monitoraggio. |
|
no_permissions |
Non può eseguire alcuna operazione. |
6. Problemi, eventi e notifiche
6.1. Problemi gestiti e 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 viene contrassegnato come gestito e, ovviamente, i problemi non gestiti sono quelli che non sono ancora stati risolti. La panoramica nella barra laterale distingue quindi questi due tipi di problemi:

A proposito: i problemi di servizio provenienti da host che non sono attualmente UP non vengono identificati come problemi.
Ulteriori dettagli sulle conferme sono disponibili in un articolo dedicato.
6.2. Notifiche
Quando lo stato di un 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, viene inviata un'e-mail ai contatti dell'oggetto (si noti che ogni utente appena creato, per impostazione predefinita, non è un contatto per nessun oggetto). Tuttavia, questi possono essere personalizzati 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 uno stato particolare dell'host/servizio (ad esempio, nessuna notifica per WARN),
... quando il problema riguarda un servizio il cui host è DOWN o UNREACH,
... quando il problema riguarda un host, i cui host padre sono tutti DOWN o UNREACH,
... quando per l'host/servizio è stato impostato un periodo di notifica che non è attualmente attivo,
... quando l'host/servizio è attualmente irregolare,
... quando l'host/servizio è attualmente in un tempo di manutenzione programmata
Se nessuno di questi prerequisiti per la soppressione delle notifiche è soddisfatto, il nucleo di monitoraggio crea una notifica, che in una seconda fase passa attraverso una catena di regole. In queste regole è possibile definire ulteriori criteri di esclusione e decidere chi deve essere notificato e in quale modulo (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 commuta tale servizio nello stato irregolare. Ciò è indicato dal simbolo .
Quando un servizio entra in uno stato irregolare, viene generata una notifica che informa l'utente della situazione e silenzia ulteriori notifiche. Dopo un tempo adeguato, se non si verificano ulteriori cambiamenti rapidi e si evidenzia uno stato finale (buono o cattivo), lo stato irregolare scompare e le notifiche normali riprendono.
6.4. Tempi di manutenzione programmata
Se si eseguono lavori di manutenzione su un server, un dispositivo o un software, normalmente si desidera evitare notifiche di problemi durante questo periodo. Inoltre, probabilmente si desidera avvisare i colleghi che i problemi che compaiono nel monitoraggio durante questo periodo possono essere temporaneamente ignorati.
A tale scopo è possibile inserire una condizione di tempi di manutenzione programmata su un host o un servizio. Ciò può essere fatto direttamente prima di iniziare il lavoro o in anticipo. I tempi di manutenzione programmata sono indicati dai simboli:
L'host o il servizio è in un tempo di manutenzione programmata. |
|
I servizi il cui host è in un tempo di manutenzione programmata sono contrassegnati con questo simbolo. |
Mentre un host o un servizio ha un tempo di manutenzione programmata:
Non vengono inviate notifiche.
I problemi non vengono visualizzati nello snap-in " Overview ".
Inoltre, se si desidera documentare in un secondo momento le statistiche sulla disponibilità degli host e dei servizi è consigliabile includere i tempi di manutenzione programmata. Questi possono essere presi in considerazione nelle valutazioni di disponibilità successive.
6.5. Host e servizi in stallo
Se si lavora con Checkmk da un po' di tempo, è possibile che nelle visualizzazioni host e servizi vengano visualizzate delle ragnatele. Per i servizi, ad esempio, appare così:

Queste ragnatele simboleggiano lo stato di stallo. Ogni volta che c'è un host o un servizio in stallo, questo verrà visualizzato anche nello snap-in Overview snap-in, che sarà esteso dalla colonna Stale.
Ma cosa significa esattamente lo stato di stallo? In generale, un host o un servizio viene contrassegnato come in stallo quando Checkmk non riceve più informazioni aggiornate sul suo stato per un periodo di tempo prolungato:
Un servizio diventa in stallo: se un agente o anche solo un plug-in dell'agente non funziona, 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 in stallo dopo un certo periodo di tempo.
Un host entra in stallo: 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 contrassegnato come in stallo.
È possibile regolare il limite di tempo dopo il quale gli host e i servizi diventano in stallo. A tal fine, consultare la sezione relativa agli intervalli di check.
7. Periodi di tempo

I periodi di tempo ricorrenti settimanalmente sono utilizzati in vari punti della configurazione.
Un periodo di tempo tipico potrebbe essere denominato " working hours
" e includere l'orario dalle 8:00 alle 17:00 di tutti i giorni della settimana, eccetto 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 i giorni festivi in Baviera.
Alcuni punti importanti in cui vengono utilizzati i periodi di tempo sono:
Limitazione dei tempi entro i quali vengono effettuate le notifiche (periodo di notifica).
Limitazione dei tempi entro i quali vengono eseguiti i check (periodo di check).
Orari di servizio per il calcolo della disponibilità (periodo di servizio).
Orari entro i quali determinate regole nella Console degli Eventi avranno effetto.
È possibile leggere come impostare i periodi nell'articolo Periodi di tempo.
8. Periodi di check, intervalli di check e tentativi di check
8.1. Specificare i periodi di check
È possibile limitare i periodi di tempo in cui vengono eseguiti i check. A tale scopo servono i set di regole " Check period for hosts", " Check period for active services " e " Check period for passive Checkmk services ". Utilizzare queste regole per selezionare uno dei periodi di tempo disponibili come periodo di check.
8.2. Impostazione degli intervalli di check
I check vengono eseguiti a intervalli fissi nell'ambito del monitoraggio basato sullo stato. Checkmk utilizza un intervallo predefinito di un minuto per i check dei servizi e di 6 secondi per i check 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:
Aumentare l'intervallo per risparmiare risorse della CPU sul server Checkmk e sul sistema di destinazione.
Ridurre l'intervallo per ricevere notifiche più rapide e raccogliere dati misurati con una risoluzione più elevata.
Se ora si combina un periodo di check con un intervallo di check, è possibile garantire che un active check venga eseguito esattamente una volta al giorno in un momento ben preciso. Ad esempio, se si imposta l'intervallo di check su 24 ore e il periodo di check su 2:00-2:01 ogni giorno (cioè solo un minuto al giorno), Checkmk garantirà che il check 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 in stallo con il simbolo . Con l'impostazione globale Staleness value to mark hosts / services stale è possibile definire quanto tempo deve trascorrere prima che un host/servizio passi allo stato di stallo. Questa impostazione si trova sotto Setup > General > Global settings > User interface:

Questo fattore rappresenta n volte l'intervallo di check. Quindi, se l'intervallo di check è impostato su un minuto (60 secondi), un servizio per il quale non ci sono nuovi risultati di check andrà in stallo dopo 1,5 volte il tempo, ovvero dopo 90 secondi.
8.3. Modifica dei tentativi di check
Con l'opzione tentativi di check è possibile evitare notifiche in caso di errori sporadici. In questo modo il check diventa meno sensibile, per così dire. A tale scopo è possibile utilizzare i set di regole Maximum number of check attempts for host e Maximum number of check attempts for service.
Se i tentativi di 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 diverso da " OK", il conteggio dei tentativi correnti aumenta a 3 e viene inviata la notifica.
Un servizio che si trova in questo stato intermedio, ovvero non è OK ma non ha ancora raggiunto il numero massimo di tentativi di check, avrà uno stato soft. Solo uno stato hard attiverà effettivamente una notifica.
9. Panoramica dei simboli più importanti relativi agli host e ai servizi
La tabella seguente offre una breve panoramica dei simboli più importanti che compaiono accanto agli host e ai servizi:
L'host o il servizio è in un periodo di manutenzione programmata. |
|
I servizi il cui host è in tempo di manutenzione programmata sono contrassegnati con questo simbolo. |
|
Questo host/servizio è attualmente al di fuori del periodo di notifica. |
|
Le notifiche per questo host/servizio sono attualmente disabilitate. |
|
I controlli per questo servizio sono attualmente disabilitati. |
|
Lo stato dell'host/servizio è in stallo. |
|
Lo stato dell'host/servizio è irregolare. |
|
Questo host/servizio presenta un problema confermato. |
|
È presente un commento per questo host/servizio. |
|
Questo host/servizio fa parte di un'aggregazione BI. |
|
Qui è possibile accedere direttamente alle impostazioni dei parametri del check. |
|
Solo per i servizi Logwatch: qui è possibile accedere ai file di log memorizzati. |
|
Qui è possibile accedere a un grafico della serie temporale dei valori misurati. |
|
Questo host/servizio dispone di dati di inventario. Cliccandoci sopra si visualizza la relativa visualizzazione. |
|
Questo check ha generato un crash. Fare clic su di esso per visualizzare e inviare un rapporto sui crash. |