1. Monitoraggio dell'utilizzo della CPU per ogni singolo core
Checkmk configura automaticamente un servizio sia su Linux che su Windows che effettua il monitoraggio dell'utilizzo medio della CPU nell'ultimo minuto. Da un lato questo ha senso, ma dall'altro non rileva alcuni errori, ad esempio il caso in cui un singolo processo impazzisca e utilizzi continuamente una CPU al 100%. In un sistema con 16 CPU, tuttavia, una singola CPU contribuisce solo per il 6,25% alla performance complessiva, quindi anche nel caso estremo descritto viene registrato un utilizzo totale di soli 6,25% — il che non attiva alcuna notifica.
Per questo motivo, Checkmk offre l’opzione (sia per Linux che per Windows) di effettuare il monitoraggio di tutte le CPU disponibili singolarmente e determinare se uno dei loro core è costantemente occupato per un periodo di tempo prolungato. Configurare questo check si è rivelata una buona idea.
Per configurare questo check sui tuoi server Windows, hai bisogno, per il servizio "CPU utilization", del set di regole "CPU utilization for simple devices", che puoi trovare alla voce "Service monitoring rules". Questo set di regole si occupa di effettuare il monitoraggio di tutte le CPU, ma include anche questa opzione: "Levels over an extended time period on a single core CPU utilization".
Crea una nuova regola e attiva solo questa opzione al suo interno:

Definisci la condizione in modo che si applichi solo ai server Windows, ad esempio utilizzando una cartella o un tag host adatto. Questa regola non influirà sulle altre regole dello stesso set di regole se queste impostano altre opzioni, come le soglie per l'utilizzo totale della CPU.
Per i server Linux, questo è compito del set di regole "CPU utilization on Linux/Unix", in cui puoi impostare la stessa opzione.
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. |
2. Monitoraggio dei servizi Windows
Per impostazione predefinita, Checkmk non effettua il monitoraggio di alcun servizio sui tuoi server Windows. Perché? Semplicemente perché Checkmk non sa quali servizi sono importanti per te.
Se non vuoi perdere tempo a determinare manualmente per ogni server quali servizi sono importanti, puoi anche impostare un controllo che verifichi semplicemente se tutti i servizi con il tipo di avvio "automatico" sono effettivamente in esecuzione. Inoltre, puoi essere informato se sono in esecuzione servizi avviati manualmente — fuori ordine, per così dire. Questi non funzioneranno più dopo un riavvio — il che potrebbe essere un problema.
Per implementare questa funzione, ti serve innanzitutto il set di regole "Windows Services", che puoi trovare alla pagina Service monitoring rules, utilizzando ad esempio la funzione di ricerca Setup > General > Rule search. L'opzione fondamentale nella nuova regola è "Services states". Attivala e aggiungi tre nuovi elementi per gli stati dei servizi:

Questo ti permette di implementare il seguente monitoraggio:
Un servizio con il tipo di avvio auto, e che è in esecuzione, viene considerato come OK.
Un servizio con il tipo di avvio "auto" che non è in esecuzione è considerato "CRIT".
Un servizio con il tipo di avvio "demand" e che è in esecuzione è considerato "WARN".
Tuttavia, questa regola si applica solo ai servizi che vengono effettivamente monitorati. Pertanto, abbiamo bisogno di un secondo passo e di una seconda regola, questa volta dal set di regole Windows service discovery, con cui definisci quali servizi Windows Checkmk deve monitorare come servizi.
Quando crei questa regola, puoi prima inserire l'espressione regolare .* nell'opzione Services (Regular Expressions), che verrà poi applicata a tutti i servizi.
Dopo aver salvato la regola, switch alla configurazione dei servizi per un host adatto. Lì troverai un gran numero di nuovi servizi — uno per ogni servizio Windows.
Per limitare il numero di servizi sottoposti a monitoraggio a quelli che ti interessano, torna alla regola e affina i termini di ricerca secondo necessità. Si fa distinzione tra maiuscole e minuscole. Ecco un esempio di selezione personalizzata dei servizi:

Se in precedenza hai incluso nel monitoraggio servizi che non corrispondono alle nuove espressioni di ricerca, questi appariranno come scomparsi nella configurazione del servizio. Con il pulsante "Rescan" puoi fare tabula rasa e ricreare l'intero elenco dei servizi.
3. Monitoraggio delle connessioni a internet
L'accesso a Internet della tua organizzazione è sicuramente molto importante per tutti. Il monitoraggio della connessione a "Internet" è un po' difficile da mettere in pratica, dato che coinvolge miliardi di computer che potrebbero (si spera) essere accessibili... o meno. Tuttavia, puoi comunque impostare un sistema di monitoraggio efficiente, basato sul seguente piano:
Seleziona diversi computer su internet che dovrebbero essere normalmente raggiungibili tramite il comando
pinge prendi nota dei loro indirizzi IP.Crea un nuovo host in Checkmk, ad esempio con il nome
internet, e configuralo come segue: Per "IPv4 address" inserisci uno degli indirizzi IP annotati. Sotto "Additional IPv4 addresses" inserisci gli indirizzi IP rimanenti. Sotto "Monitoring agents", abilita "Checkmk agent / API integrations" e seleziona "No API integrations, no Checkmk agent". Salva l'host senza la scoperta del servizio.Crea una nuova regola dal set di regole "Check hosts with PING (ICMP Echo Request)" che si applichi solo al nuovo host
internet(ad esempio, tramite la condizione "Explicit hosts" o un tag host corrispondente). Configura la regola come segue: Abilita "Service description" e inserisci "Internet connection". Abilita "Alternate address to ping" e seleziona "Ping all IPv4 addresses". Abilita "Number of positive responses required for OK state" e inserisci "1".Crea un'altra regola che si applichi solo all'host
internet, questa volta dal set di regole Host check command. Lì, seleziona come Host check command l'opzione Use the status of the service… e inserisciInternet connectioncome nome, lo stesso nome che hai scelto come nome del servizio nel passaggio precedente.
Se ora attivi le modifiche, otterrai il nuovo host internet con il singolo servizio Internet connection nel monitoraggio.
Se almeno una delle destinazioni ping è raggiungibile, l'host avrà lo stato UP e il servizio avrà lo stato OK. Allo stesso tempo, il servizio ti fornisce i dati sulle prestazioni relativi al Round Trip Time medio dei pacchetti (round trip average) e alla perdita di pacchetti per ciascuno degli indirizzi IP specificati. Questo ti darà un'indicazione della qualità della tua connessione nel tempo:

Il comportamento predefinito di Checkmk è che un host cambi il proprio stato in DOWN se il primo indirizzo IP non è raggiungibile tramite ping. Il quarto e ultimo passo della procedura sopra indicata sovrascrive questo comportamento predefinito tramite una mappatura dello stato del suo unico servizio allo stato dell'host. Poiché Checkmk fondamentalmente non invia notifiche per i servizi quando un host è "DOWN", è importante che tu controlli le notifiche tramite l'host — e non tramite il servizio. Inoltre, in questo caso particolare, dovresti utilizzare un metodo di notifica che non richieda una connessione a Internet. |
4. Monitoraggio dei servizi HTTP/HTTPS
Supponiamo che tu voglia verificare l'accessibilità di un sito web o di un servizio web. L'agente Checkmk non offre una soluzione in questo caso, poiché non visualizza queste informazioni. Inoltre, potresti non avere nemmeno la possibilità di installare un agente sul server.
La soluzione è un cosiddetto active check. Si tratta di un check che non viene eseguito da un agente, ma contattando direttamente un protocollo di rete sull'host di destinazione — in questo caso HTTP(S).
La procedura è la seguente:
Crea un nuovo host per il server web, ad esempio per
checkmk.com. In "Monitoring agents", attiva l'opzione "Checkmk agent / API integrations" e seleziona "No API integrations, no Checkmk agent". Salva l'host senza la scoperta del servizio.Crea una nuova regola dal set di regole Check HTTP web service, che si applica solo al nuovo host (ad es. tramite la condizione Explicit hosts).
Nella box "Value" troverai numerose opzioni per eseguire il check. Il principio è il seguente: Definisci un nuovo endpoint per ogni URL da controllare. Per ogni endpoint viene creato un servizio. Successivamente, definisci il nome del servizio (ad es.
Basic webserver health) e, se necessario, un prefisso (HTTPoHTTPS) per l'endpoint.-
Puoi anche effettuare ulteriori impostazioni nella box "Value" sotto gli endpoint. Ad esempio, puoi usare Response time per impostare il servizio su WARN o CRIT se il tempo di risposta è troppo lento e usare Certificate validity per verificare il periodo di validità del certificato. Con Search for strings puoi verificare se un determinato testo compare nella risposta, ovvero nella pagina visualizzata. Questo ti permette di controllare una parte rilevante del contenuto, in modo che un semplice messaggio di errore dal server non venga interpretato come una risposta positiva.
Puoi definire queste impostazioni in modo identico per tutti gli endpoint o individualmente per ciascun endpoint.
Salva la regola e attiva le modifiche.
Ora avrai un nuovo host con i servizi che hai specificato che check l'accesso tramite HTTP(S):

Naturalmente puoi eseguire questo controllo anche su un host già monitorato con Checkmk tramite un agente. In questo caso non è necessario creare l’host e dovrai solo creare la regola per l’host. |
5. Personalizzare "magicamente" le soglie del file system
Trovare delle buone soglie per il monitoraggio dei file system può essere noioso. Dopotutto, una soglia del 90% è decisamente troppo bassa per un disco rigido molto capiente e forse già troppo al limite per uno piccolo. Abbiamo già presentato la funzione per impostare le soglie in base alle dimensioni del file system nel capitolo dedicato alla regolazione del monitoraggio — e abbiamo accennato allora che Checkmk offre un'altra opzione ancora più intelligente: il magic factor.
Si imposta il magic factor in questo modo:
Nel set di regole "Filesystems (used space and growth)", crea una sola regola.
In questa regola, abilita l'Levels for used/free space e lascia invariato il valore predefinito per i threshold all'80% o al 90%.
Inoltre, attiva "Magic factor (automatic level adaptation for large filesystems)" e conferma il valore predefinito 0,80.
Imposta anche "Reference size for magic factor" su 20 GB. Poiché 20 GB è il valore predefinito, avrà effetto anche senza che tu attivi esplicitamente l'opzione.
Il risultato sarà simile a questo:

Se ora salvi questa regola e attivi le modifiche, avrai valori di threshold che variano automaticamente a seconda delle dimensioni del file system:
File system che hanno esattamente 20 GB di dimensione vengono assegnate le soglie 80 % / 90 %.
Ai file system più piccoli di 20 GB vengono assegnate soglie inferiori.
Ai file system più grandi di 20 GB vengono assegnate soglie più alte.
Quanto siano esattamente alti i valori di threshold è, beh... magico! Il fattore (qui 0,80) determina di quanto vengono regolati i valori. Un fattore di 1,0 non cambia nulla e tutti i file system ricevono gli stessi valori. Valori più piccoli hanno un effetto maggiore sulla regolazione dei valori. I valori predefiniti per Checkmk utilizzati in questa sezione si sono dimostrati efficaci nella pratica con moltissime installazioni.
Puoi vedere esattamente quali soglie si applicano per ogni servizio nella sua pagina "Summary":

La tabella seguente mostra alcuni esempi dell'effetto del magic factor con un valore di riferimento di 20 GB / 80 %:
| Magic factor | 5 GB | 10 GB | 20 GB | 50 GB | 100 GB | 300 GB | 800 GB |
|---|---|---|---|---|---|---|---|
1,0 |
80 % |
80 % |
80 % |
80 % |
80 % |
80 % |
80 % |
0,9 |
77 % |
79 % |
80 % |
82 % |
83 % |
85 % |
86 % |
0,8 |
74 % |
77 % |
80 % |
83 % |
86 % |
88 % |
90 % |
0,7 |
70 % |
75 % |
80 % |
85 % |
88 % |
91 % |
93 % |
0,6 |
65 % |
74 % |
80 % |
86 % |
89 % |
93 % |
95 % |
0,5 |
60 % |
72 % |
80 % |
87 % |
91 % |
95 % |
97 % |
Con questo capitolo sul magic factor concludiamo la nostra Guida per principianti.
Se vuoi fare una pausa adesso, puoi disconnetterti. Nella barra di navigazione di Checkmk troverai la voce Logout nel menu User. |
Speriamo che tu sia riuscito a gettare delle basi solide per il tuo sistema Checkmk, con o senza l’aiuto della magia. Per quasi tutti i temi trattati in questa Guida per principianti, troverai informazioni più approfondite in altri articoli del manuale.
Ti auguriamo ogni successo con Checkmk in futuro!
