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:

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:

|
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:

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.

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:
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:

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:

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:
Con una sola operazione, inserisci il plug-in nel percorso file locale della tua istanza e rendilo eseguibile:
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:

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.
5. File e directory
| Percorso del file | Descrizione |
|---|---|
|
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. |
|
Puoi memorizzare qui i tuoi plug-in. Verranno poi caricati dinamicamente e rimarranno disponibili anche dopo un aggiornamento dell'istanza Checkmk. |
