Checkmk
to checkmk.com

1. Monitoraggio dell'utilizzo 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, come 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 core è costantemente occupato in un periodo di tempo più lungo. L'impostazione di questo controllo si è rivelata una buona idea.

Per impostare questo controllo per i tuoi server Windows, hai bisogno del servizio CPU utilization e del set di regole CPU utilization for simple devices, che puoi 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.

Crea una nuova regola e attiva solo questa opzione:

Dialog for defining the monitoring of CPU utilization of individual cores for Windows servers.

Definisci la condizione in modo che si applichi solo ai server Windows, ad esempio utilizzando una cartella o un tag host appropriato. Questa regola non influenzerà le 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 puoi impostare la stessa opzione.

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.

2. Monitoraggio dei servizi Windows

Per impostazione predefinita, Checkmk non monitora alcun servizio sui tuoi server Windows, semplicemente perché Checkmk non sa quali sono i servizi importanti per te.

Se non vuoi preoccuparti di determinare manualmente per ogni server quali sono i servizi 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 dei 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 tutto ciò, hai bisogno del set di regole Windows Services che puoi trovare nella sezione Service monitoring rules, utilizzando la funzione di ricerca Setup > General > Rule search, ad esempio. L'opzione cruciale della nuova regola è Services states. Attivala e aggiungi tre nuovi elementi per gli stati dei servizi:

Dialog for defining the Windows server services to be monitored depending on their status.

Questo ti 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 e 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 definire 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à applicata a tutti i servizi.

Dopo aver salvato la regola, passa alla configurazione dei servizi di un host appropriato: lì troverai un gran numero di nuovi servizi, uno per ogni servizio Windows.

Per limitare il numero di servizi monitorati a quelli che ti interessano, torna alla regola e affina i termini di ricerca secondo le tue necessità. Questo è sensibile alle maiuscole e alle minuscole. Ecco un esempio di selezione personalizzata di un servizio:

Dialog for defining the names of the Windows services to be monitored.

Se in precedenza hai incluso dei servizi che non corrispondono alle nuove espressioni di ricerca ora in fase di monitoraggio, questi appariranno come scomparsi nella configurazione dei servizi. Con il pulsante Rescan puoi cancellare tutto e ricreare l'intero elenco dei servizi.

3. Monitoraggio delle connessioni a internet

L'accesso a internet da parte della tua organizzazione è sicuramente molto importante per tutti. Il monitoraggio della connessione a "internet" è un po' difficile da implementare, in quanto coinvolge miliardi di computer che potrebbero (si spera) essere accessibili - oppure no. Tuttavia, puoi comunque creare un sistema di monitoraggio efficiente, basato sul seguente piano di costruzione:

  1. Seleziona diversi computer su internet che dovrebbero essere normalmente raggiungibili tramite un comando ping e prendi nota dei loro indirizzi IP.

  2. 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. Per Additional IPv4 addresses inserisci gli altri indirizzi IP. Per Monitoring agents, abilita Checkmk agent / API integrations e seleziona No API integrations, no Checkmk agent. Salva l'host senza la scoperta del servizio.

  3. 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.

  4. Crea un'altra regola che si applichi solo al nome host internet, questa volta dal set di regole Host Check Command. Seleziona come Host Check Command l'opzione Use the status of the service…​ e inserisci come nome Internet connection, lo stesso 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 del ping è raggiungibile, l'host avrà lo stato UP e il servizio avrà lo stato OK. Allo stesso tempo, il servizio ti fornirà i dati sulle prestazioni per il tempo medio di andata e ritorno dei pacchetti(round trip average) e la perdita di pacchetti per ciascuno degli indirizzi IP specificati. Questo ti darà un'indicazione della qualità della tua connessione nel tempo:

List entry of a service for monitoring the internet connection to several IP addresses.
Tip

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 ping. Invece, l'host acquisirà lo stato del suo unico servizio.
Poiché un servizio non notifica quando il suo host è DOWN, è importante che tu controlli le notifiche attraverso l'host e non attraverso 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 e, inoltre, potresti anche non avere la possibilità di installare un agente sul server.

La soluzione è il cosiddetto active check, che non viene eseguito da un agente, bensì contattando direttamente il protocollo di rete dell'host di destinazione, in questo caso HTTP(S).

La procedura è la seguente:

  1. Crea un nuovo host per il server web, ad es. checkmk.com. Sotto Monitoring agents, attiva l'opzione Checkmk agent / API integrations e seleziona No API integrations, no Checkmk agent. Salva l'host senza una scoperta del servizio web.

  2. Crea una nuova regola dal set di regole Check HTTP web service che si applichi solo al nuovo host (es. tramite la condizione Explicit hosts).

  3. Nel box Value troverai numerose opzioni per eseguire il controllo. Il principio è il seguente: definisci un nuovo endpoint per ogni URL da controllare. Per ogni endpoint viene creato un servizio. Definisci quindi il nome del servizio (es. Basic webserver health) e, se necessario, un prefisso (HTTP o HTTPS) per l'endpoint.

  4. Puoi anche fare delle impostazioni aggiuntive nel 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 Certificate validity per controllare il periodo di validità del certificato. Con Search for strings puoi controllare se un certo testo appare nella risposta, cioè nella pagina consegnata. Questo ti 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.

    Puoi definire queste impostazioni in modo identico per tutti gli endpoint o singolarmente per ogni endpoint.

    Tip

    Puoi trovare informazioni molto utili su tutte le opzioni disponibili nell'aiuto inline.

  5. Salva la regola e attiva le modifiche.

Ora avrai un nuovo host con i servizi specificati che controllano l'accesso via HTTP(S):

List entry of the services for monitoring the HTTP/HTTPS services on a host.
Tip

Naturalmente puoi eseguire questo controllo anche su un host che è già monitorato da Checkmk tramite un agente di monitoraggio. 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. 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 delle soglie in base alle dimensioni di un file system nel capitolo sulla messa a punto del monitoraggioe abbiamo accennato al fatto che Checkmk offre un'altra opzione ancora più intelligente: il magic factor.

Il magic factor si imposta in questo modo:

  1. Nel set di regole Filesystems (used space and growth), crea una sola regola.

  2. In questa regola, attiva Levels for used/free space e lascia invariate le soglie predefinite dell'80% o del 90%.

  3. Inoltre, attiva Magic factor (automatic level adaptation for large filesystems) e conferma il valore predefinito di 0,80.

  4. Imposta anche Reference size for magic factor su 20 GB. Dato che 20 GB è il valore predefinito, entrerà in vigore anche senza che tu attivi esplicitamente l'opzione.

Il risultato sarà questo:

Dialog for setting the magic factor for file system thresholds.

Se ora salvi questa regola e attivi la modifica, avrai dei valori di threshold che variano automaticamente in base alle dimensioni del file system:

  1. Ai file system che hanno una dimensione esatta di 20 GB vengono assegnate le soglie 80 % / 90 %.

  2. Ai file system di dimensioni inferiori a 20 GB vengono assegnate soglie inferiori.

  3. Ai file system di dimensioni superiori a 20 GB vengono assegnate soglie più alte.

Il fattore (in questo caso 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 di Checkmk utilizzati in questo capitolo si sono dimostrati validi nella pratica con moltissime installazioni.

Puoi vedere esattamente quali sono i threshold applicabili a ciascun servizio nel sito Summary:

List with two file system services and their thresholds.

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 tu sia riuscito a creare delle solide basi per il tuo sistema Checkmk - con o senza magia. Per quasi tutti i temi che abbiamo trattato in questa Guida per principianti, troverai informazioni più approfondite in altri articoli del Manuale dell'utente.

Ti auguriamo di avere successo con Checkmk in futuro!

In questa pagina