Checkmk
to checkmk.com
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.

1. Introduzione

In Checkmk puoi monitorare la tua infrastruttura in molti modi diversi. Il monitoraggio tramite agenti o SNMP sono solo due dei numerosi metodi disponibili. Il monitoraggio tramite agenti è solo uno dei numerosi metodi disponibili. Ciò che accomuna tutti i metodi basati su agenti è che effettuano la segnalazione solo degli stati così come vengono visti dall'host dall'interno, ma probabilmente conosci alcuni servizi che possono essere monitorati efficacemente solo dall'esterno. È comunque possibile verificare dall’interno se il server web funziona, ma in questo modo non è possibile determinare l’accessibilità e i tempi di risposta per l’utente effettivo.

Checkmk offre i suoi active checks proprio per queste situazioni. Questi controlli ti permettono di monitorare i servizi di rete direttamente e comodamente dall'esterno e di visualizzare le informazioni nel tuo monitoraggio. Gli active checks sono piccoli programmi o script che si connettono a un servizio in rete o su internet e poi forniscono all'utente i dati di monitoraggio. Molti degli script e dei programmi che troverai in Checkmk provengono originariamente da monitoring-plugins.org. Poiché Checkmk è generalmente compatibile con Nagios, puoi utilizzare anche tutti i plug-in che funzionano con Nagios.

Quando integri tali plugin, tieni presente lo scopo principale degli active checks: in termini di end-to-end monitoring, dovrebbero verificare l'accessibilità, il tempo di risposta o lo stato di risposta di un servizio accessibile in rete sull'host monitorato. Checkmk offre una serie di controlli efficienti per molte altre attività di monitoraggio. Puoi trovare una panoramica nell'articolo Sviluppo di estensioni per Checkmk.

I più importanti di questi programmi e script sono disponibili in Checkmk direttamente nell'interfaccia web. Ecco una piccola selezione:

2. Configurazione degli active checks

2.1. Configurazione dei controlli attivi regolari

Nell'Setup, come già accennato sopra, puoi configurare i controlli più importanti e più utilizzati direttamente nell'interfaccia web. Per farlo, apri Setup > Services > HTTP, TCP, Email. Qui troverai i set di regole con cui puoi configurare questi controlli:

List of rulesets for active checks.

La maggior parte delle opzioni nei set di regole è intuitiva. Tuttavia, se qualcosa non ti è chiaro, puoi anche consultare l'aiuto in linea per le spiegazioni delle numerose opzioni.

2.2. Assegnazione degli active checks a un host

Per alcune regole, è necessario specificare un indirizzo IP o un nome host nelle opzioni. In molti casi è possibile lasciare questa opzione vuota in modo che venga utilizzato il nome host o il suo IP. In questo modo puoi facilmente utilizzare una sola regola per fornire un active check a un intero gruppo di host. Assicurati quindi sempre — anche con l’aiuto dell’aiuto in linea già menzionato — se questa opzione è disponibile nel set di regole specifico. In questo modo potresti risparmiarti un sacco di lavoro di configurazione.

Check HTTP web service è un check che viene spesso utilizzato per effettuare il monitoraggio di molti parametri dei server web, come la validità dei certificati, il tempo di risposta, il codice di risposta o la ricerca di stringhe di caratteri nelle pagine web fornite. Puoi trovare questo check alla voce Networking > Check HTTP web service. Supponiamo che tu voglia effettuare il monitoraggio della validità dei certificati di tutti i server web nella tua infrastruttura, garantire tempi di risposta inferiori a un secondo e un codice di stato 200, ma non voglia creare decine o addirittura centinaia di regole per farlo:

Example of a configuration of the 'Check HTTP web service' rule.
Tip

Perché, con Check certificates, esiste un altro active check per i certificati?

Il controllo Check HTTP web service di cui sopra esegue sempre una richiesta HTTP completa, il che ne limita l'uso ai server web. D'altra parte, la sua esecuzione è molto efficiente; può eseguire una serie di controlli con una sola richiesta HTTP.

In confronto, Check certificates controlla solo la configurazione della connessione TLS e i certificati. Questo check può quindi essere applicato anche ad altri servizi protetti con TLS, come IMAP/S. Può anche esaminare i certificati in modo molto più dettagliato, ad esempio per nomi host specifici memorizzati tramite Server Name Indication (SNI).

Per applicare il check appena configurato a tutti gli host idonei con una singola regola, pensa prima al modo migliore per compilare il campo "Conditions". Nell'esempio seguente, utilizziamo la funzione "Labels" e aggiungiamo l'etichetta "webprotocol:https" a tutti i nostri server web. Con tale etichetta, puoi creare una regola e impostare il campo "Conditions" su questa etichetta:

Restriction of the rule via a host label on the web server.

Una volta attivata la regola appena creata, cerca nel menu Monitor il nome del servizio Basic webserver health che hai appena definito. Nell'esempio seguente, puoi vedere gli host a cui è stata applicata l'etichetta in modo corrispondente.

The services generated by the rule in the monitoring.

Importante: tieni presente che per gli active checks non viene valutata solo la prima regola a cui si applicano le condizioni, ma anche tutte le regole in cui si applicano le condizioni per un host. Questo è l'unico modo per creare più servizi attivi su un host.

2.3. Integrazione di altri plug-in compatibili con Nagios

Ovviamente in Checkmk non sono disponibili solo i controlli attivi che trovi come set di regole nell’interfaccia web. Oltre a questi plug-in di controllo, nel tuo sito ne troverai molti altri. Per semplificare l’esempio di panoramica mostrato qui, nell’output di esempio seguente vengono visualizzate solo alcune righe:

OMD[mysite]:~$ ll ~/lib/nagios/plugins/
total 2466
-rwxr-xr-x 1 root root   56856 Feb  3 00:45 check_dig
-rwxr-xr-x 1 root root    6396 Feb  3 00:45 check_flexlm
-rwxr-xr-x 1 root root    6922 Feb  3 00:45 check_ircd
-rwxr-xr-x 1 root root   60984 Feb  3 00:45 check_ntp_peer
-rwxr-xr-x 1 root root   78136 Feb  3 00:45 check_snmp
Copia i comandi negli appunti
Comandi copiati con successo negli appunti!
L'accesso in scrittura agli appunti è stato negato!

Ciascuno di questi plug-in di controllo offre anche un'opzione di aiuto (-h), che ti permette di saperne di più su come utilizzare il rispettivo plug-in senza dover visitare il sito web monitoring-plugins.org.

In Setup > Services > Other services Checkmk offre il set di regole speciale Integrate Nagios plugins per rendere questi plug-in comodi da usare. Le due opzioni più importanti qui sono la specificazione di una descrizione del servizio e di una riga di comando. Quest'ultima può essere scritta come se ti trovassi già nella directory corretta:

Rule for the integration of Nagios plug-ins.

Nota che le macro mostrate sopra, come $HOSTNAME$ o $HOSTADDRESS$, sono disponibili anche qui. Un elenco di tutte le macro disponibili si trova, come sempre, nell'aiuto in linea. Dopo aver attivato le modifiche, puoi vedere il nuovo servizio sull'host assegnato:

The service generated by the rule in the monitoring.

Utilizzo dei propri plug-in

In alcuni casi, avrai già scritto i tuoi plug-in e ora desideri utilizzarli in Checkmk. In questo caso la procedura è sostanzialmente identica. L'unico requisito è che il plug-in sia compatibile con Nagios. Ciò include un output di una sola riga con i dettagli dello stato e un codice di uscita che descrive lo stato. Questo deve essere 0 per OK , 1 per WARN , 2 per CRIT o 3 per SCONOSCIUTO.

Un breve esempio per illustrare la sintassi molto semplice mostra il seguente script che puoi creare, ad esempio, nella sottodirectory ~/tmp della directory dell'istanza:

~/tmp/myscript.sh
#!/bin/bash
echo "I am a self written check and I feel well."
exit 0
Copia il contenuto del file negli appunti
Contenuto del file copiato con successo negli appunti!
L'accesso in scrittura agli appunti è stato negato!

Con una sola operazione, inserisci il plug-in nel percorso file locale della tua istanza e rendilo eseguibile:

OMD[mysite]:~$ install -m755 ~/tmp/myscript.sh ~/local/lib/nagios/plugins/
Copia i comandi negli appunti
Comandi copiati con successo negli appunti!
L'accesso in scrittura agli appunti è stato negato!

Il resto della procedura è poi identico a quello degli altri plug-in creati tramite il set di regole Integrate Nagios plugins, così alla fine potrai vedere il nuovo servizio:

The service generated by the custom plug-in in monitoring.

3. Caratteristiche particolari degli active checks

I servizi creati dai controlli attivi si comportano in modo diverso rispetto agli altri servizi sotto alcuni aspetti. Quindi i servizi di un active check…​

  • …​ continuano ad essere controllati anche se un host è in stato di "DOWN".

  • …​ vengono eseguiti indipendentemente dagli altri servizi (passivi). Questo ti permette anche di impostare il tuo intervallo.

  • …​ vengono sempre eseguiti dal server Checkmk. Le eccezioni sono gli MRPE, che vengono eseguiti direttamente su un host.

  • …​ non vengono incorporati tramite la scoperta del servizio, ma vengono generati automaticamente.

4. Eseguire active checks su un host (MRPE)

Supponiamo che tu stia eseguendo il monitoraggio di un host A (ad es. un server web) dal tuo sito Checkmk, il quale a sua volta accede ai servizi dell'host B (ad es. un database). Monitorare i servizi sull'host B direttamente dal sito Checkmk sarà molto probabilmente influenzato da altri tempi di trasmissione dei pacchetti, ecc., e quindi non fornirà alcuna indicazione accurata di come si comporta l'accessibilità dall'host A durante il funzionamento. In questo caso è utile avere un plug-in Nagios in esecuzione dall'agente dell'host monitorato (qui A), che controlla direttamente i servizi sull'host B.

Per eseguire un classico plug-in Nagios su un host sottoposto a monitoraggio, mettiamo a disposizione MK's Remote Plugin Executor (MRPE). A seconda che tu voglia eseguire tale plug-in su un sistema Unix-like o su un sistema Windows, posizionalo nella posizione appropriata nella directory di installazione del rispettivo agente. Inoltre, avrai bisogno di un file di configurazione che determini come deve essere eseguito il plug-in e come deve essere la riga di comando specifica per la chiamata.

Puoi trovare istruzioni dettagliate nei rispettivi articoli su Linux e Windows.

5. File e directory

Percorso del file Descrizione

~/lib/nagios/plugins/

Qui troverai tutti i plug-in forniti con Checkmk. Non viene fatta alcuna distinzione tra i plug-in scritti da monitoring-plugins.org e quelli scritti specificamente per Checkmk.

~/local/lib/nagios/plugins/

Puoi memorizzare qui i tuoi plug-in. Verranno poi caricati dinamicamente e rimarranno disponibili anche dopo un aggiornamento dell'istanza Checkmk.


Last modified: Mon, 15 Dec 2025 20:45:15 GMT via commit 0f6809b27
In questa pagina