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

CEE I sistemi cloud come Amazon Web Services (AWS), Microsoft Azure o Google Cloud Platform (GCP) creano ed eliminano autonomamente degli "oggetti", che corrispondono agli host in Checkmk. Affinché questi oggetti cloud, una volta creati, vengano inclusi senza ritardi come host nel monitoraggio Checkmk, è necessaria una soluzione che non richieda un intervento manuale.

Checkmk offre la risposta con la sua funzione di registrazione automatica, che consente di creare automaticamente gli host. Poiché la creazione automatica degli host è necessaria principalmente per gli ambienti cloud sopra citati, la registrazione automatica è disponibile solo in Checkmk Ultimate CSE.

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

Affinché questa automazione funzioni, è ovviamente necessaria un'adeguata preparazione. Cominciamo dal sito Checkmk, con la creazione di un utente che abbia l'autorizzazione per la registrazione automatica, una cartella in cui creare gli host, e 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 lì debbano funzionare in modalità pull o push.

Poi arriva l'agente Checkmk: Qui, le informazioni per una richiesta di registrazione vengono specificate da una regola dell'agente e poi inserite (baked) in un pacchetto agente dall'agent bakery. Questo include la selezione del sito Checkmk che monitorerà l'host, che in un monitoraggio distribuito sarà solitamente un'istanza remota. Questo pacchetto agente configurato per la registrazione automatica viene poi installato sugli host che devono essere in grado di eseguire la registrazione automatica.

Come funziona tutto questo viene spiegato nei capitoli seguenti.

2. Configurazione della registrazione automatica

2.1. Seleziona l'utente per la registrazione automatica

I permessi necessari per registrare l'agente sul server Checkmk (per il trasferimento dati crittografato con TLS) e per creare host sono contenuti nel ruolo Agent registration user. I permessi per registrare nuovi host sono disponibili in questo ruolo solo in Checkmk Ultimate.

Questo ruolo è assegnato all'utente automazione agent_registration, che è configurato 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 automazione ha solo il ruoloAgent registration user

Ha senso utilizzare questo utente automazione per la registrazione automatica, che non è autorizzato a fare altro che registrare host.

2.2. Creazione di una cartella per i nuovi host

Gli host creati automaticamente devono essere inseriti 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. Assegna un nome alla nuova cartella nella box Basic settings.

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

Nella box "Monitoring agents" che segue, specifichi due opzioni importanti 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 in Checkmk Ultimate. Infine, in "Bake agent packages", attiva la 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 tutti gli host che contiene, nonché per eventuali 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. Creazione di una regola per l'istanza Checkmk

La decisione su quali host possono registrarsi automaticamente, quali nomi vengono loro assegnati e cosa succede loro dopo la registrazione, viene presa in Checkmk — non a caso — tramite regole. Le etichette con cui l’agente dell’host si registrerà giocano un ruolo decisivo in questo. Ma andiamo con ordine.

Il set di regole di Agent registration è disponibile solo in Checkmk Ultimate. Puoi trovare Agent registration all’indirizzo 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 nella prima box Properties , come di consueto in Checkmk, prima un ID e un titolo.

Nella box successiva Matching criteria, specifichi quali etichette devono essere accettate quando il server Checkmk riceve una richiesta di registrazione da un agente. Queste etichette agente sono utilizzate esclusivamente per la registrazione automatica e sono diverse dalle etichette altrimenti utilizzate in Checkmk per identificare host e servizi. Due etichette agente sono fornite dall’agente Checkmk e possono essere selezionate dall’elenco: cmk/os-family contiene il sistema operativo dell’host che può essere utilizzato, ad esempio, per archiviare gli host in cartelle diverse. cmk/hostname-simple contiene il nome host senza la componente di dominio (quindi simple) che serve a designare un nome host univoco in Checkmk. Non esiste un'etichetta agente con un nome di dominio completo (FQDN), poiché l'FQDN non è una proprietà dell'host, ma della rete. Puoi anche inserire le tue etichette personalizzate con Custom label.

La coppia chiave-valore separata da due punti che compone un'etichetta (ad es. cmk/os-family:linux) viene valutata separatamente. In questo modo puoi specificare esplicitamente che una chiave (ad es. cmk/os-family) deve esistere (Exists), non deve 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 agenti, queste saranno collegate logicamente con AND. Nell'esempio seguente, oltre all'etichetta predefinita cmk/hostname-simple, va controllata anche l'etichetta personalizzata my_autoregister_label:

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

Ogni host che è stato registrato con successo riceve automaticamente l'etichetta dell'host cmk/agent_auto_registered:yes aggiunta da Checkmk. Non puoi però usare questa etichetta qui, perché non è un'etichetta agente e viene assegnata solo dopo la registrazione.

Nella box successiva, Action, decidi cosa deve succedere quando la valutazione delle etichette ha effetto: creare l'host o meno. Se selezioni Stop and do not create hosts, la valutazione della regola è completa e le due box successive non sono più rilevanti. Nel nostro esempio, però, gli host devono essere creati:

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

Nella box "Host name computation" (Nome host), ora specifichi quale nome deve ricevere l'host. Nella box "Host name template" (Modello), inserisci il modello. Qui puoi usare le macro per leggere i valori effettivi dalle etichette agenti che hai selezionato nella box "Matching criteria" (Etichette agenti) sopra — con "$cmk/hostname-simple$", ad esempio, il semplice nome host fornito dall'agente Checkmk. Se lo desideri, puoi poi modificare il modello convertendo le lettere maiuscole in minuscole o viceversa, e sostituendo i valori con espressioni regolari e nomi host espliciti. Queste sono, tra l’altro, le stesse opzioni disponibili nella personalizzazione dei nomi degli host piggybacked. Maggiori informazioni sono disponibili anche nell’aiuto in linea.

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

Infine, nella box Host creation, seleziona la cartella predefinita in cui devono essere inseriti i nuovi host. Inoltre, puoi specificare gli attributi da assegnare 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 dovrebbero essere creati nella cartella predefinita Autoregistered

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

2.4. Creazione di una regola per l'agent bakery

Dopo aver configurato l'istanza Checkmk nella sezione precedente, ora ci occupiamo del Checkmk Agent Controller. Per farlo, utilizza il set di regole "Agent controller auto-registration" nell'agent bakery, disponibile solo in Checkmk Ultimate. Puoi trovare il set di regole nell'agent bakery alla voce "Agent rules" oppure, in modo più rapido, cercandolo nel menu "Setup". Crea una nuova regola.

Nella box "Agent controller auto-registration", fornisci all'Agent Controller tutte le informazioni necessarie per inviare 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'utente automazione per la registrazione automatica (Authorization) e il sito Checkmk (Site to register with) che deve monitorare l'host. In un monitoraggio distribuito, questo sarà solitamente una istanza remota.

Qui puoi anche definire le tue 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 in Custom label nella regola per l'istanza Checkmk: nell'esempio, l'etichetta personalizzata creata in precedenza con la chiave my_autoregister_label.

Con l'ultima opzione Keep existing connections puoi decidere se l'Agent Controller deve eliminare (no) o mantenere (yes) le connessioni già esistenti. Se oltre alla registrazione automatica di una connessione hai configurato connessioni manuali ad altre istanze Checkmk e vuoi mantenerle anche dopo un riavvio dell'Agent Controller cmk-agent-ctl , dovresti 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'ultima box in questa regola, Conditions, seleziona nuovamente la cartella predefinita come Folder.

2.5. Creazione di un pacchetto agente

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

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

2.6. Esegui lo scaricamento e l'installazione del pacchetto dell'agente

Il pacchetto dell'agente deve ora essere installato su ogni host che deve avviare la registrazione automatica. Esegui lo scaricamento del pacchetto dell'agente appropriato per il sistema operativo dell'host e installa il pacchetto sull'host. La procedura è la stessa di sempre in agent bakery. Per ulteriori informazioni, 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, l'Agent Controller valuta il file pre_configured_connections.json sull'host ed emette il comando di registrazione per una connessione in esso contenuta. Se l'Agent Receiver accetta questo comando, la connessione verrà stabilita e l'host creato nell'istanza Checkmk.

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

Viene quindi eseguita la 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 eventuali altre modifiche accumulate, anche da parte di altri utenti.

Questo processo può richiedere diversi minuti (fino a 5) dall’installazione del pacchetto dell’agente fino a quando l’host non appare nel monitoraggio. Puoi seguire i singoli passaggi di questo processo in Setup > General > Audit log dopo aver selezionato il file wato_audit.log.

Sull'host puoi usare un comando per visualizzare lo stato di connessione dell'Agent Controller, che appare 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
Copia i comandi negli appunti
Comandi copiati con successo negli appunti!
L'accesso in scrittura agli appunti è stato negato!

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

3. Test e diagnosi dei guasti

Puoi seguire i singoli passaggi del processo di creazione dell'host nel monitoraggio (creazione dell'host nel Setup, scoperta del servizio e attivazione) sull'istanza di Checkmk all'indirizzo Setup > General > Audit log. Verifichi il corretto completamento della registrazione automatica sull'host con il comando cmk-agent-ctl status.

Tuttavia, queste verifiche menzionate nella sezione precedente mostreranno i risultati desiderati solo se il processo è andato a buon fine. Se i risultati non sono come mostrato sopra, potrebbe essere perché una richiesta di registrazione è stata inviata dall'Agent Controller ma non è stata accettata dall'Agent Receiver.

Per una panoramica di tutte le richieste di registrazione che sono state rifiutate dall'istanza Checkmk, consulta la pagina Agent registration, sopra, in cui hai creato la regola per l'istanza Checkmk. Ci sono molte possibili ragioni per un rifiuto. Nell'immagine seguente puoi vedere due esempi: un errore di ortografia (my_autoregister_labell) nell'etichetta agente 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 più approfondita, per ulteriori informazioni consulta gli articoli sull'agente Linux e sull'agente Windows — tra gli altri — relativi al tema della comunicazione tra un agente e un'istanza Checkmk, nonché alla registrazione (manuale).

4. File e directory

4.1. Percorsi dei file sull'host Linux monitorato

Percorso del file Descrizione

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

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

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

Contiene una connessione preconfigurata integrata nel pacchetto dell'agente tramite agent bakery verso un'istanza per la registrazione automatica in Checkmk Ultimate.

4.2. Percorsi dei file sull'host Windows monitorato

Percorso del file Descrizione

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

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

C:\ProgramData\checkmk\agentregistered_connections.json

Contiene una connessione preconfigurata integrata nel pacchetto dell'agente tramite agent bakery a un'istanza per la registrazione automatica in Checkmk Ultimate.

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. Puoi controllare il livello di dettaglio dei messaggi in 6 livelli tramite Setup > General > Global settings > User interface > Logging > Agent registration.

~/var/log/agent-receiver/

Contiene i file di log per l'Agent Receiver.


Last modified: Wed, 07 Jan 2026 17:00:34 GMT via commit c4f52353e
In questa pagina