1. Monitoraggio dell'utilizzo individuale della CPU in tutti i core
Checkmk imposta automaticamente un servizio, sia in Linux che in Windows, che monitora l'utilizzo medio della CPU nel corso dell'ultimo minuto. Da un lato, questo ha senso, ma dall'altro non riconosce alcuni errori, ad esempio il fatto che un singolo processo vada a scatafascio e utilizzi continuamente una CPU al 100 %. In un sistema con 16 CPU, tuttavia, una CPU contribuisce solo al 6,25 % delle prestazioni complessive e quindi, anche nel caso estremo descritto, viene registrato un utilizzo totale di solo il 6,25 %, che non fa scattare una notifica.
Per questo motivo, Checkmk offre la possibilità (per Linux e per Windows) di monitorare singolarmente tutte le CPU disponibili e di determinare se uno dei loro nuclei è costantemente occupato in un periodo di tempo più lungo. L'impostazione di questo check si è rivelata una buona idea.
Per impostare questo check per i vostri server Windows, avete bisogno del servizio CPU utilization e del set di regole CPU utilization for simple devices, che potete trovare sotto Service monitoring rules. Questo set di regole è responsabile del monitoraggio di tutte le CPU, ma ha anche questa opzione: Levels over an extended time period on a single core CPU utilization.
Creare una nuova regola e attivare solo questa opzione:
Definire la condizione in modo che si applichi solo ai server Windows, ad esempio utilizzando una cartella o un tag host appropriato. Questa regola non influirà sulle altre regole dello stesso set di regole che 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 è possibile 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 di Windows
Per impostazione predefinita, Checkmk non monitora alcun servizio sui server Checkmk, semplicemente perché Checkmk non sa quali servizi sono importanti per voi.
Se non si desidera determinare manualmente per ogni server quali sono i servizi importanti, è possibile impostare un check che verifichi semplicemente se tutti i servizi con il tipo di avvio "automatico" sono effettivamente in esecuzione. Inoltre, è possibile sapere se sono in esecuzione servizi che sono stati avviati manualmente, per così dire in ordine sparso. Questi non saranno più in esecuzione dopo un riavvio, il che potrebbe essere un problema.
Per implementare questo, è necessario il set di regole Windows Services, che si può trovare ad esempio sotto Service monitoring rules, utilizzando la funzione di ricerca Setup > General > Rule search. L'opzione cruciale della nuova regola è Services states. Attivatela e aggiungete tre nuovi elementi per gli stati dei servizi:
Questo permette di implementare il seguente monitoraggio:
Un servizio con il tipo di avvio auto, e che è in esecuzione, è considerato OK.
Un servizio con il tipo di avvio auto che non è in esecuzione è considerato CRIT.
Un servizio con il tipo di avvio demand, in esecuzione, è considerato WARN.
Tuttavia, questa regola si applica solo ai servizi che vengono effettivamente monitorati. Pertanto, è necessario un secondo passo e una seconda regola, questa volta dal set di regole Windows service discovery, con cui definire quali servizi Windows Checkmk deve monitorare come servizi.
Quando si crea questa regola, si può innanzitutto inserire l'espressione regolare .*
nell'opzione Services (Regular Expressions), che verrà poi applicata a tutti i servizi.
Dopo aver salvato la regola, passare alla configurazione dei servizi di un host appropriato, dove si troverà un gran numero di nuovi servizi, uno per ogni servizio Windows.
Per limitare il numero di servizi monitorati a quelli di vostro interesse, tornate alla regola e perfezionate i termini di ricerca secondo le vostre esigenze. La ricerca è sensibile alle maiuscole e alle minuscole. Ecco un esempio di selezione personalizzata dei servizi:
Se in precedenza sono stati inclusi nel monitoraggio servizi che non corrispondono alle nuove espressioni di ricerca, essi appariranno come scomparsi nella configurazione dei servizi. Con il pulsante Rescan è possibile cancellare l'aria e ricreare l'intero elenco dei servizi.
3. Monitoraggio delle connessioni a internet
L'accesso della vostra organizzazione a internet è sicuramente molto importante per tutti. Il monitoraggio della connessione a "internet" è un po' difficile da implementare, poiché coinvolge miliardi di computer che potrebbero (si spera) essere accessibili - o meno. Tuttavia, è possibile impostare un sistema di monitoraggio efficiente, basato sul seguente piano di costruzione:
Selezionate diversi computer su internet che dovrebbero essere normalmente raggiungibili tramite un comando
ping
e annotate i loro indirizzi IP.Creare un nuovo host in Checkmk, ad esempio con il nome
internet
e configurarlo come segue: in IPv4 address inserire uno degli indirizzi IP annotati. In Additional IPv4 addresses inserire gli altri indirizzi IP. In Monitoring agents, abilitare Checkmk agent / API integrations e selezionare No API integrations, no Checkmk agent. Salvare l'host senza la scoperta del servizio.Creare 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). Configurare la regola come segue: abilitare Service Description e inserireInternet connection
. Abilitare Alternate address to ping e selezionare Ping all IPv4 addresses. Abilitare Number of positive responses required for OK state e inserire1
.Creare un'altra regola che si applichi solo al nome host
internet
, questa volta dal set di regole Host Check Command. Selezionare come Host Check Command l'opzione Use the status of the service… e inserire come nomeInternet connection
, lo stesso nome del servizio scelto nel passo precedente.
Se ora si attivano le modifiche, si otterrà il nuovo host internet
con il singolo servizio Internet connection
nel monitoraggio.
Se almeno una delle destinazioni del ping è raggiungibile, l'host avrà lo stato UP e il servizio avrà lo stato OK. Allo stesso tempo, il servizio fornisce dati sulle prestazioni per il tempo medio di andata e ritorno dei pacchetti(Round Trip Time Average) e la perdita di pacchetti per ciascuno degli indirizzi IP specificati. Questo vi darà un'indicazione della qualità della vostra connessione nel tempo:
Il quarto e ultimo passo della procedura sopra descritta è necessario affinché l'host non entri nello stato DOWN se il primo indirizzo IP non è raggiungibile tramite |
4. Monitoraggio dei servizi HTTP/HTTPS
Supponiamo di voler controllare 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 e, inoltre, potrebbe non essere possibile installare un agente sul server.
La soluzione è il cosiddetto check attivo, che non viene eseguito da un agente, bensì contattando direttamente un protocollo di rete dell'host di destinazione, in questo caso HTTP(S).
La procedura è la seguente:
Creare un nuovo host per il server web, ad esempio
checkmk.com
. In Monitoring agents, attivare l'opzione Checkmk agent / API integrations e selezionare No API integrations, no Checkmk agent. Salvare l'host senza la scoperta del servizio.Creare 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).
Nel box Value si trovano numerose opzioni per l'esecuzione del check. Il principio è il seguente: definire un nuovo endpoint per ogni URL da controllare. Per ogni endpoint viene creato un servizio. Quindi, definire il nome del servizio (ad esempio
Basic webserver health
) e, se necessario, un prefisso (HTTP
oHTTPS
) per l'endpoint.-
Nel box Value, sotto gli endpoint, si possono effettuare ulteriori impostazioni. Ad esempio, con Response time si può impostare il servizio su WARN o CRIT se il tempo di risposta è troppo lento e con Certificate validity si può controllare il periodo di validità del certificato. Con Search for strings si può controllare se un certo testo appare nella risposta, cioè nella pagina consegnata. Questo permette di controllare una parte rilevante del contenuto, in modo che un semplice messaggio di errore del server non venga interpretato come una risposta positiva.
È possibile definire queste impostazioni in modo identico per tutti gli endpoint o singolarmente per ogni endpoint.
Nell'aiuto in linea sono disponibili informazioni molto utili su tutte le opzioni disponibili.
Salvare la regola e attivare le modifiche.
Ora avrete un nuovo host con i servizi specificati che controllano l'accesso via HTTP(S):
Naturalmente, è possibile eseguire questo controllo anche su un host già monitorato da Checkmk tramite un agente Checkmk. In questo caso, non è necessario creare l'host e sarà sufficiente 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. Dopo tutto, una soglia del 90% è troppo bassa per un disco rigido molto grande e forse è già troppo marginale per uno piccolo. Abbiamo già introdotto la possibilità di impostare le soglie in base alle dimensioni di un file system nel capitolo sul monitoraggio regolaree abbiamo accennato al fatto che Checkmk offre un'altra opzione ancora più intelligente: il magic factor.
Il magic factor si imposta in questo modo:
Nel set di regole Filesystems (used space and growth) si crea una sola regola.
In questa regola, attivate Levels for used/free space e lasciate invariate le soglie predefinite dell'80% o del 90%.
Inoltre, attivare Magic factor (automatic level adaptation for large filesystems) e confermare il valore predefinito di 0,80.
Impostare anche Reference size for magic factor su 20 GB. Poiché 20 GB è il valore predefinito, verrà applicato anche senza attivare esplicitamente l'opzione.
Il risultato sarà questo:
Se ora salvate questa regola e attivate la modifica, avrete valori di soglia che variano automaticamente in base alle dimensioni del file system:
Ai file system con dimensioni esatte di 20 GB vengono assegnate le soglie 80 % / 90 %.
Ai file system di dimensioni inferiori a 20 GB vengono assegnate soglie inferiori.
Ai file system di dimensioni superiori a 20 GB vengono assegnate soglie più alte.
Il fattore (qui 0,80) determina l'adeguamento dei valori. Un fattore di 1,0 non cambia nulla e tutti i file system ottengono gli stessi valori. I valori più piccoli hanno un effetto maggiore sull'adeguamento dei valori. I valori predefiniti per Checkmk utilizzati in questo capitolo si sono dimostrati validi nella pratica con molte installazioni.
È possibile vedere esattamente quali soglie si applicano a ciascun servizio nel relativo sito 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. Ci auguriamo che abbiate potuto gettare solide basi per il vostro sistema Checkmk, con o senza magia. Per quasi tutti i temi trattati in questa Guida per principianti, troverete informazioni più approfondite in altri articoli del Manuale dell'utente.
Vi auguriamo ogni successo con Checkmk in futuro!