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. Registrazione automatica

I sistemi cloud come Amazon Web Services (AWS), Microsoft Azure o Google Cloud Platform (GCP) creano e cancellano in modo indipendente gli "oggetti" che corrispondono agli host di Checkmk. Per far sì che questi oggetti cloud, una volta creati, vengano inclusi senza indugio come host in un monitoraggio Checkmk, è necessaria una soluzione che non richieda interventi manuali.

Checkmk fornisce la risposta con la sua funzione di registrazione automatica, che consente di creare automaticamente gli host. Poiché la creazione automatica degli host è necessaria soprattutto per gli ambienti cloud di cui sopra, la registrazione automatica è disponibile solo a partire da Checkmk Cloud, cioè in Checkmk Cloud e Checkmk MSP.

La registrazione automatica avviene attraverso la comunicazione tra l'agente Checkmk e il server Checkmk. L'Agent Controller dell'agente fa una richiesta di registrazione all'Agent Receiver del server, trasmettendo i dati necessari per creare l'host. Se l'Agent Receiver accetta la richiesta, la registrazione viene eseguita e viene stabilita una connessione crittografata TLS. L'host viene quindi creato, viene effettuata una scoperta del servizio e vengono attivate le modifiche, in modo che l'host venga aggiunto all'ambiente di monitoraggio: un processo completamente automatico.

Affinché questa automazione funzioni, è ovviamente necessaria un'adeguata preparazione. Iniziamo dall'istanza Checkmk, con la creazione di un utente che abbia l'autorizzazione per la registrazione automatica, di una cartella in cui creare gli host e di una regola che permetta all'Agent Receiver di elaborare le richieste di registrazione senza intervento manuale. A proposito, quando configuri la cartella, puoi specificare se gli agenti per gli host da creare in quella cartella debbano lavorare in modalità pull o push.

Poi c'è l'agente Checkmk: qui le informazioni per una richiesta di registrazione sono specificate da un pacchetto di regole dell'agente e poi vengono impacchettate (baked) in un pacchetto agent dall'Agent Bakedery. Questo pacchetto agent configurato per la registrazione automatica viene poi installato sugli host che devono essere in grado di eseguire la registrazione automatica.

Il funzionamento di tutto questo è spiegato nei capitoli successivi.

2. Impostazione della registrazione automatica

2.1. Seleziona l'utente per la registrazione automatica

I permessi necessari per registrare l'agente con il server Checkmk (per il trasferimento dei dati criptati TLS) e per creare host sono contenuti nel ruolo Agent registration user. I permessi per registrare nuovi host sono disponibili in questo ruolo solo a partire da Checkmk Cloud.

Questo ruolo è assegnato all'utente automazione agent_registration, che viene impostato in ogni istanza Checkmk e le cui proprietà possono essere visualizzate tramite Setup > Users > Users:

Dialog with the properties of the automation user 'agent_registration'.
Per impostazione predefinita, questo utente di automazione ha solo il ruolo Agent registration user.

È opportuno utilizzare questo utente automazione per la registrazione automatica, che non può fare altro che registrare gli host.

2.2. Creare una cartella per i nuovi host

Gli host creati automaticamente devono essere creati in una nuova cartella. In alternativa, puoi utilizzare una cartella esistente se la configuri come descritto di seguito.

Avvia la creazione di una cartella con Setup > Hosts > Hosts > Add folder.Dai un nome alla nuova cartella nel box Basic settings.

Il box Network address include l'opzione IP address family. Se vuoi che gli agenti Checkmk dell'host siano impostati per utilizzare la modalità pull, puoi lasciare invariato il valore predefinito IPv4 only. Per la modalità push, seleziona il valore No IP. Questo impedisce di verificare l'accessibilità dell'host tramite Smart Ping.

Nel box Monitoring agents seguente, specifichi due importanti opzioni per la registrazione automatica. Con Checkmk agent connection mode decidi se l'agente Checkmk deve funzionare in modalità pull o (come nell'immagine seguente) in modalità push. Questa opzione è disponibile solo a partire da Checkmk Cloud. Infine, in Bake agent packages, attiva il checkbox Bake a generic agent package for this folder. Questo ti permette di utilizzare l'Agent bakery, per creare una configurazione dell'agente per una cartella e per tutti gli host in essa contenuti, nonché per tutti gli host che potrebbero essere aggiunti a questa cartella in futuro.

Dialog for creating a new folder for auto-registration.
Configurazione di una cartella per la modalità push

Completa la creazione della cartella con Save.

2.3. Creare una regola per l'istanza Checkmk

La decisione su quali host sono autorizzati a registrarsi automaticamente, su quali nomi vengono assegnati e su cosa succede loro dopo la registrazione, viene presa in Checkmk - non a caso - con delle regole. Le etichette con cui l'agente dell'host si registrerà giocano un ruolo decisivo in questo senso, ma prima di tutto.

Il set di regole Agent registration è disponibile solo a partire da Checkmk Cloud. Puoi trovarlo sotto Setup > Agents (se la modalità Mostra di più è attiva) o cercando nel menu Setup. Inizia con Add rule la creazione di una nuova regola e assegna nel primo box Properties, come di consueto con Checkmk, prima un ID e un titolo.

Nel box successivo Matching criteria specifica quali etichette devono essere accettate quando il server Checkmk riceve una richiesta di registrazione da un agente. Queste etichette dell'agente sono utilizzate esclusivamente per la registrazione automatica e sono diverse dalle etichette altrimenti utilizzate in Checkmk per identificare host e servizi. L'agente Checkmk fornisce due etichette dell'agente che possono essere selezionate dall'elenco:cmk/hostname-simple contiene il nome dell'host senza il componente di dominio (da cui simple) che serve per la progettazione di un nome host univoco in Checkmk e cmk/os-family contiene il sistema operativo dell'host che può essere utilizzato, ad esempio, per archiviare gli host in cartelle diverse. Puoi anche inserire le tue etichette con Custom label.

La coppia chiave-valore separata dai due punti che compone un'etichetta (es. cmk/os-family:linux) viene valutata separatamente. In questo modo puoi specificare esplicitamente che una chiave (es. cmk/os-family) deve esistere (Exists), può non esistere (Does not exist) o è accettata solo con un determinato valore (Equals). Puoi anche inserire un'espressione regolare (Regex) come valore. Se definisci più etichette agente, queste saranno logicamente collegate tra loro con AND. Nell'esempio seguente, oltre all'etichetta predefinita cmk/hostname-simple, deve essere controllata anche l'etichetta personalizzata my_autoregister_label:

Auto-registration rule specifying the allowed labels.
Questo controlla se esistono etichette con le chiavi cmk/hostname-simple e my_autoregister_label.

Nota: ogni host che è stato registrato con successo riceve automaticamente l'etichetta dell'host cmk/agent_auto_registered:yes aggiunta da Checkmk. Tuttavia, non puoi utilizzare questa etichetta in questo caso, perché non è un'etichetta agente e viene assegnata solo dopo la registrazione.

Nel box successivo, Action, stabilisci cosa deve succedere quando la valutazione delle etichette diventa effettiva: Se selezioni Stop and do not create hosts, la valutazione della regola è completa e i due box successivi non sono più rilevanti. Nel nostro esempio, tuttavia, gli host devono essere creati:

Auto-registration rule specifying the action to be performed.
L'azione predefinita è la creazione degli host.

Nel riquadro Hostname computation, specifica il nome che dovrà ricevere l'host. Nel riquadro Hostname template, inserisci il modello. Qui puoi utilizzare delle macro per leggere i valori effettivi dalle etichette dell'host che hai selezionato nel riquadro Matching criteria - con $cmk/hostname-simple$, ad esempio, il semplice nome host fornito dall'agente Checkmk. Se lo desideri, puoi modificare il modello con la conversione in minuscolo o maiuscolo e con sostituzioni con espressioni regolari e con nomi host espliciti. Queste sono le stesse opzioni disponibili per personalizzare i nomi degli host piggyback. Maggiori informazioni sono disponibili anche nell'aiuto inline.

Auto-registration rule with host name specification.
Adozione del nome host semplice, integrato dal prefisso push-

Infine, nel box Host creation, seleziona la cartella predefinita in cui devono finire i nuovi host. Inoltre, puoi specificare gli attributi che devono essere assegnati all'host. Puoi leggere ulteriori informazioni su questi attributi nell'articolo sull'amministrazione degli host.

Auto-registration rule specifying the destination folder and host attributes.
I nuovi host devono essere creati nella cartella predefinita Autoregistered.

Dopo aver salvato la regola, torna alla pagina Agent registration. Qui troverai la pagina Agent labels simulator. Se hai definito molte regole, il simulatore ti aiuterà a tenerne traccia. Puoi inserire le etichette per le regole e con Try out simulare se e quale regola si applica quando viene inviata un'etichetta agente. I risultati ti mostreranno i simboli semaforici colorati come descritto nell'articolo sulle regole.

2.4. Creare una regola per l'agent bakery

Dopo aver configurato il sito Checkmk nella sezione precedente, ora ci occupiamo dell'Agent Controller. A questo scopo, si utilizza il set di regole Agent controller auto-registration nell'Agent Bakery, disponibile solo a partire da Checkmk Cloud. Puoi trovare il set di regole nell'Agent Bakery alla voce Agent rules oppure il modo più veloce è cercarlo nel menu Setup. Crea una nuova regola.

Nel box Agent controller auto-registration, fornisci all'Agent Controller tutte le informazioni necessarie per effettuare una richiesta di registrazione all'Agent Receiver: il server Checkmk (Monitoring server address), se applicabile, il numero di porta dell'Agent Receiver (Agent receiver port), l'istanza Checkmk (Site to register with) e l'utente dell'automazione per la registrazione automatica.

Puoi anche definire delle etichette personalizzate all'opzione Additional agent labels to send during registration. Affinché la registrazione automatica funzioni, queste etichette devono corrispondere a quelle che hai inserito alla voce Custom label nell'istanza Checkmk: nell'esempio, l'etichetta personalizzata creata in precedenza con la chiave my_autoregister_label.

Con l'ultima opzione Keep existing connections stabilisci se l'Agent Controller deve eliminare (no) o mantenere (yes) le connessioni già esistenti. Se hai configurato delle connessioni manuali ad altre istanze Checkmk oltre alla registrazione automatica di una connessione e vuoi mantenerle anche dopo un riavvio dell'Agent Controller cmk-agent-ctl, devi impostare questa opzione su yes.

Auto-registration rule for Agent Bakery.
I valori per l'agent bakery devono corrispondere a quelli dell'istanza Checkmk.

Importante: Per l'ultimo box di questa regola, Conditions, seleziona nuovamente la cartella predefinita Folder.

2.5. Creazione di un pacchetto agente

Ora continua nella Agent bakery con Setup > Agents > Windows, Linux, Solaris, AIX. Clicca su e prepara un nuovo agente. Di conseguenza, oltre alla configurazione dell'agente Vanilla (factory settings), riceverai una nuova riga per la configurazione in cui è stata inserita la regola creata nella sezione precedente:

List with the new configurations of agents for auto-registration.
La colonna Agent type indica che la nuova configurazione è specifica per la cartella configurata.

2.6. Scaricare e installare il pacchetto agente

Il pacchetto agente deve essere installato su ogni host che deve avviare la registrazione automatica. Scarica il pacchetto agente appropriato per il sistema operativo dell'host e installalo sull'host. La procedura è la solita dell'Agent bakery. Per saperne di più, consulta gli articoli sugli agenti di monitoraggio, l'agente Linux e l'agente Windows.

2.7. Verifica del processo

Dopo aver installato il pacchetto dell'agente Checkmk, l'Agent Controller valuta il file /var/lib/cmk-agent/pre_configured_connections.json ed emette il comando di registrazione di una connessione in esso contenuta. Se l'Agent Receiver accetta il comando, la connessione viene impostata e l'host creato nell'istanza Checkmk.

Contents of the auto-registration folder containing the automatically created host.
L'host creato automaticamente nel sito di Checkmk

Viene quindi eseguita una scoperta del servizio e le modifiche vengono attivate, in modo che l'host sia visibile anche nel monitoraggio. Tieni presente che durante l'attivazione automatica verranno attivate anche tutte le altre modifiche accumulate, anche da altri utenti.

Questo processo può durare diversi (fino a 5) minuti dall'installazione del pacchetto agente fino alla comparsa dell'host nel monitoraggio. Puoi seguire le singole fasi di questo processo in Setup > General > Audit log dopo aver selezionato il file wato_audit.log.

Sull'host puoi utilizzare un comando per visualizzare lo stato di connessione dell'Agent Controller, che si presenta così dopo una registrazione riuscita in modalità push:

root@linux# cmk-agent-ctl status
Version: 2.3.0b1
Agent socket: operational
IP allowlist: any


Connection: myserver/mysite
	UUID: b11af975-40a8-4574-b6cd-12dc11c6f273
	Local:
		Connection mode: push-agent
		Connecting to receiver port: 8000
		Certificate issuer: Site 'mysite' agent signing CA
		Certificate validity: Tue, 13 Feb 2024 12:50:35 +0000 - Tue, 13 Feb 2029 12:50:35 +0000
	Remote:
		Connection mode: push-agent
		Registration state: discoverable
		Host name: push-myhost

Gli host creati automaticamente possono anche essere rimossi automaticamente. A partire da Checkmk Cloud, Checkmk fornisce i due componenti più importanti per la gestione del ciclo di vita degli host. Inoltre, la rimozione automatica funziona anche per gli host creati manualmente e in tutte le edizioni.

3. Test e diagnosi dei guasti

Puoi seguire le singole fasi del processo di creazione dell'host nel monitoraggio (creazione dell'host nel Setup, scoperta del servizio e attivazione) nell'istanza Checkmk all'indirizzo Setup > General > Audit log. Verifica l'avvenuta registrazione automatica dell'host con il comando cmk-agent-ctl status.

Tuttavia, le richieste di verifica menzionate nella sezione precedente mostreranno i risultati desiderati solo se il processo è andato a buon fine. Se i risultati non sono quelli mostrati sopra, è possibile che una richiesta di registrazione sia stata inviata dall'Agent Controller ma non accettata dall'Agent Receiver.

Per una panoramica di tutte le richieste di registrazione che sono state rifiutate dal sito Checkmk, consulta la pagina Agent registration, in cui hai creato l'istanza per il sito Checkmk. Le ragioni di un rifiuto possono essere molteplici. Nell'immagine seguente puoi vedere due esempi: un errore di scrittura (my_autoregister_labell) nell'etichetta dell'host inviata dall'agente e un host che esiste già:

List of rejected auto-registration requests.
Due richieste di registrazione rifiutate

Per ogni richiesta rifiutata, nella prima colonna, Actions, puoi avviare una simulazione, il cui risultato viene visualizzato nell'ultima colonna, Simulation result.

Per una diagnosi dei guasti che vada oltre, per ulteriori informazioni consulta gli articoli sull'agente Linux e sull'agente Windows- tra gli altri - sui temi della comunicazione tra un agente e un'istanza Checkmk, nonché sulla registrazione (manuale).

4. File e directory

4.1. Percorsi dei file sull'host Linux monitorato

Percorso dei file Descrizione

/var/lib/cmk-agent/registered_connections.json

Contiene un elenco di connessioni registrate con l'Agent Controller.

/var/lib/cmk-agent/pre_configured_connections.json

Contiene una connessione preconfigurata integrata nel pacchetto dell'agent tramite l'Agent bakery a un sito per la registrazione automatica da Checkmk Cloud in poi.

4.2. Percorsi dei file sull'host Windows monitorato

Percorso del file Descrizione

C:\ProgramData\checkmk\agent\registered_connections.json

Contiene un elenco di connessioni registrate con l'Agent Controller.

C:\ProgramData\checkmk\agentregistered_connections.json

Contiene una connessione preconfigurata integrata nel pacchetto agente tramite l'Agent bakery a un sito per la registrazione automatica da Checkmk Cloud in poi.

4.3. Percorsi dei file su un server Checkmk

Percorso del file Descrizione

~/var/agent-receiver/received-outputs/

Contiene per ogni connessione il suo UUID come soft link che punta alla cartella contenente l'output dell'agente.

~/var/log/agent-registration.log

File di log per la registrazione dell'agente. È possibile controllare la verbosità dei messaggi in 6 livelli tramite Setup > General > Global settings > User interface > Logging > Agent registration.

~/var/log/agent-receiver/

Contiene i file di log dell'Agent Receiver.

In questa pagina