![]() |
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
Con Checkmk puoi monitorare la tua infrastruttura in molti modi diversi. Il monitoraggio tramite agenti o SNMP sono solo due dei tanti metodi disponibili. Entrambi hanno in comune il fatto che riportano solo gli stati di monitoraggio che l'host vede dall'interno, ma probabilmente conoscerai alcuni servizi che possono essere monitorati efficacemente solo dall'esterno. Se il server web funziona può essere verificato dall'interno, ma non è possibile determinare in questo modo l'accessibilità e i tempi di risposta dell'utente effettivo.
Per queste situazioni Checkmk offre i suoi controlli attivi, che ti permettono di monitorare i servizi di rete direttamente e comodamente dall'esterno e di visualizzare le informazioni nel tuo monitoraggio. I controlli attivi sono piccoli programmi o script che si collegano a un servizio della rete o di internet e forniscono all'utente i dati di monitoraggio. Molti degli script e dei programmi che troverai in Checkmk provengono da monitoring-plugins.org. Poiché Checkmk è generalmente compatibile con Nagios, puoi utilizzare anche tutti i plug-in di controllo che funzionano con Nagios.
Quando integri questi plug-in di controllo, tieni presente lo scopo principale dei controlli attivi: in termini di monitoraggio end-to-end, devono verificare l'accessibilità, il periodo di risposta o lo stato del servizio accessibile alla rete sull'host monitorato. Checkmk offre una serie di controlli efficienti per molte altre attività di monitoraggio. Puoi trovare una panoramica nell'articolo Sviluppare estensioni per Checkmk.
I programmi e gli script più importanti sono disponibili in Checkmk direttamente nell'interfaccia web. Ecco una piccola selezione:
2. Impostare gli active check
2.1. Impostare i check attivi regolari
Come già accennato in precedenza, in Setup puoi impostare i controlli più importanti e più frequentemente utilizzati direttamente nell'interfaccia web. Per farlo, apri Setup > Services > HTTP, TCP, Email. Qui troverai i set di regole con cui puoi impostare questi controlli:

La maggior parte delle opzioni dei set di regole sono autoesplicative; tuttavia, se qualcosa non è chiaro, puoi consultare l'aiuto inline per ottenere spiegazioni sulle numerose opzioni.
2.2. Assegnare i check attivi 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 da utilizzare 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. Per questo motivo assicurati sempre - anche con l'aiuto dell'aiuto inline già citato - che questa opzione sia disponibile nel set di regole specifico. In questo modo puoi risparmiarti molto lavoro di configurazione.
Check HTTP web service è un controllo che viene spesso utilizzato per monitorare molti parametri del check dei server web, come la validità del certificato, il tempo di risposta, il codice di risposta o la ricerca di stringhe di caratteri nelle pagine web consegnate. Puoi trovare questo controllo alla voce Networking > Check HTTP web service. Supponiamo che tu voglia monitorare la validità dei certificati di tutti i server web della tua infrastruttura, assicurandoti tempi di risposta inferiori a un secondo e un codice di stato di 200, ma che non voglia creare decine o addirittura centinaia di regole per farlo:

![]() |
Perché, con Check certificates, c'è un altro active check per i certificati? Il controllo di Check HTTP web service 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 l'impostazione della connessione TLS e i certificati. Questo controllo 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 controllo appena configurato a tutti gli host adatti con un'unica regola, pensa innanzitutto al modo migliore per riempire Conditions. Nell'esempio seguente, utilizziamo la funzione Etichette e aggiungiamo l'etichetta webprotocol:https
a tutti i nostri server web. Con tale etichetta, puoi creare una regola e impostare Conditions su questa etichetta:

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 di servizio.

Importante: nota che per i check attivi 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. Integrare altri plug-in compatibili con Nagios
Naturalmente, in Checkmk non sono disponibili solo i controlli attivi che puoi trovare come set di regole nell'interfaccia web. Oltre a questi plug-in di controllo, ne troverai molti altri nel tuo sito. Per semplificare l'esempio di panoramica qui riportato, nell'output di esempio che segue vengono visualizzate solo le righe selezionate:
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
Ognuno di questi plug-in di controllo offre anche un'opzione di aiuto (-h
), che ti permette di saperne di più sull'uso del rispettivo plug-in senza dover visitare il sito web monitoring-plugins.org.
In Setup > Services > Other services Checkmk offre lo speciale set di regole Integrate Nagios plugins per rendere questi plug-in comodi da usare. Le due opzioni più importanti sono la descrizione del servizio e la linea di comando. Quest'ultima può essere scritta come se ci si trovasse già nella directory corretta:

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

Utilizzare i propri plug-in
In alcuni casi, avrai già scritto i tuoi plug-in e vorrai utilizzarli in Checkmk. In questo caso la procedura è in gran parte identica. L'unico requisito è che il plug-in sia compatibile con Nagios. Questo include un output di una singola 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 es. nella sottodirectory ~/tmp
della directory del sito:
#!/bin/bash
echo "I am a self written check and I feel well."
exit 0
Con una sola azione inserisci il plug-in nel percorso locale del tuo sito e lo rendi eseguibile:
OMD[mysite]:~$ install -m755 ~/tmp/myscript.sh ~/local/lib/nagios/plugins/
Il resto della procedura è identico a quello degli altri plug-in creati tramite il set di regole Integrate Nagios plugins, per cui alla fine potrai vedere il nuovo servizio:

3. Caratteristiche speciali degli active check
I servizi creati dai controlli attivi si comportano in modo diverso rispetto agli altri servizi. Perciò i servizi di un active check...
... continuano a essere controllati anche se un host è DOWN.
... vengono eseguiti indipendentemente da altri servizi (passivi), il che ti permette anche di impostare un intervallo di tempo personalizzato.
... vengono sempre eseguiti dal server Checkmk. Fanno eccezione gli MRPE, che vengono eseguiti direttamente su un host.
... non vengono incorporati tramite la scoperta del servizio, ma vengono generati automaticamente.
4. Esecuzione di active check su un host (MRPE)
Supponiamo che tu stia monitorando un host A (ad esempio un server web) dal tuo sito Checkmk, che a sua volta accede ai servizi dell'host B (ad esempio un database). Il monitoraggio dei servizi dell'host B direttamente dall'istanza Checkmk sarà molto probabilmente corrotto da altri tempi di esecuzione dei pacchetti, ecc. e quindi non fornirà alcuna indicazione accurata di come si comporta l'accessibilità dall'host A. In questo caso è conveniente avere un plug-in di controllo Nagios eseguito dall'agente dell'agente monitorato (in questo caso A), che controlla direttamente i servizi dell'host B.
Per eseguire un plug-in classico di Nagios su un host monitorato, mettiamo a disposizione il Remote Plugin Executor (MRPE) di MK. A seconda che tu voglia eseguire tale plug-in su un sistema Unix o su un sistema Windows, dovrai collocarlo nella posizione appropriata nella directory di installazione del rispettivo agente. Inoltre, avrai bisogno di un file di configurazione che determini come il plug-in debba essere eseguito e quale sia la linea di comando specifica per la chiamata.
5. File e directory
Percorso del file | Descrizione |
---|---|
|
Qui troverai tutti i plug-in che vengono forniti con Checkmk. Non viene fatta alcuna distinzione tra i plug-in scritti da monitoring-plugins.org e quelli scritti appositamente per Checkmk. |
|
Puoi memorizzare qui i tuoi plug-in, che verranno letti dinamicamente e sopravviveranno anche a un aggiornamento dell'istanza Checkmk. |