[comment]: # ({1c2455b7-1c2455b7})
# 2 Registrazione automatica dell'agente attivo

[comment]: # ({/1c2455b7-1c2455b7})

[comment]: # ({53523aad-81edbbe2})
#### Panoramica

È possibile consentire l'autoregistrazione dell'agent Zabbix attivo, dopo la quale il server può iniziare a monitorarlo.
In questo modo è possibile aggiungere nuovi host al monitoraggio senza configurarli manualmente sul server.

L'autoregistrazione può avvenire quando un agent attivo precedentemente sconosciuto richiede i controlli.

Questa funzionalità può essere molto utile per il monitoraggio automatico di nuovi nodi Cloud.
Non appena si dispone di un nuovo nodo nel Cloud, Zabbix avvierà automaticamente la raccolta dei dati sulle prestazioni e sulla disponibilità dell'host.

L'autoregistrazione dell'agent attivo supporta anche il monitoraggio degli host aggiunti con controlli passivi.
Quando l'agent attivo richiede i controlli, a condizione che i parametri di configurazione [`ListenIP`](/manual/appendix/config/zabbix_agentd?hl=ListenIP#listenip) o [`ListenPort`](/manual/appendix/config/zabbix_agentd?hl=ListenIP#listenport) siano definiti nel file di configurazione, questi vengono inviati al server.
Se sono specificati più indirizzi IP, il primo viene inviato al server.

Quando aggiunge il nuovo host autoregistrato, il server utilizza l'indirizzo IP e la porta ricevuti per configurare l'agent.
Se non viene ricevuto alcun valore di indirizzo IP, viene utilizzato quello impiegato per la connessione in ingresso.
Se non viene ricevuto alcun valore di porta, viene utilizzato 10050.

È possibile specificare che l'host debba essere autoregistrato con un [nome DNS](#using-dns-as-default-interface) come interfaccia agent predefinita.

L'autoregistrazione viene eseguita nuovamente:

-   se cambiano le informazioni dei [metadati](#using-host-metadata) dell'host:
    -   perché HostMetadata è stato modificato e l'agent è stato riavviato
    -   perché è cambiato il valore restituito da HostMetadataItem
-   per gli host creati manualmente senza metadati
-   se un host viene modificato manualmente per essere monitorato da un altro proxy Zabbix
-   se l'autoregistrazione per lo stesso host proviene da un nuovo proxy Zabbix

L'heartbeat di autoregistrazione dell'agent attivo per Zabbix server e Zabbix proxy è di 120 secondi.
Quindi, nel caso in cui un host rilevato venga eliminato, l'autoregistrazione verrà eseguita nuovamente entro 120 secondi.

[comment]: # ({/53523aad-81edbbe2})

[comment]: # ({5d32b87c-5d32b87c})
#### Configurazione

[comment]: # ({/5d32b87c-5d32b87c})

[comment]: # ({9340f4a0-bf3762f0})
##### Specificare il server

Assicurati di aver identificato il server Zabbix nel [file di configurazione](/manual/appendix/config/zabbix_agentd) dell'agent - `zabbix_agentd.conf`:

```ini
ServerActive=10.0.0.1
```

A meno che tu non definisca esplicitamente un *Hostname* in `zabbix_agentd.conf`, il nome host di sistema della macchina su cui è installato l'agent verrà usato dal server per assegnare il nome all'host.
Il nome host di sistema in Linux può essere ottenuto eseguendo il comando `hostname`.

Se *Hostname* è definito nella configurazione dell'agent Zabbix come un elenco di host separati da virgole, verranno creati host per tutti i nomi host elencati.

Riavvia l'agent dopo aver apportato eventuali modifiche al file di configurazione.

[comment]: # ({/9340f4a0-bf3762f0})

[comment]: # ({04e44cd6-7b103292})
##### Azione per l'autoregistrazione dell'agent attivo

Quando il server riceve una richiesta di autoregistrazione da un agent, richiama un [action](/manual/config/notifications/action).
Per l'autoregistrazione dell'agent deve essere configurato un action con origine evento "Autoregistration".

::: noteclassic
La configurazione di [network discovery](network_discovery) non è necessaria per consentire l'autoregistrazione degli agent attivi.
:::

Nel frontend di Zabbix, vai su *Alerts → Actions*, seleziona *Autoregistration actions* e fai clic su *Create action*:

-   Nella scheda Action, assegna un nome al tuo action
-   Facoltativamente, specifica [conditions](/manual/config/notifications/action/conditions#autoregistration-actions).
Puoi usare una corrispondenza per sottostringa o un'espressione regolare nelle condizioni per il nome host/host metadata.
Se intendi usare la condizione "Host metadata", consulta la sezione successiva.
-   Nella scheda Operations, aggiungi le operazioni pertinenti, come - 'Add host', 'Add to host group' (ad esempio, *Discovered hosts*), 'Link templates', ecc.

::: notetip
Se è probabile che gli host che si autoregistreranno siano supportati solo per il monitoraggio attivo (ad esempio host protetti da firewall rispetto al tuo server Zabbix), potresti voler creare un template specifico come *Template\_Linux-active* a cui collegarli.
:::

Gli host creati vengono aggiunti al gruppo *Discovered hosts* (per impostazione predefinita, configurabile in *Administration* > *General* > *[Other](/manual/web_interface/frontend_sections/administration/general#other-parameters)*).
Se desideri che gli host vengano aggiunti a un altro gruppo, aggiungi un'operazione *Remove from host group* (specificando "Discovered hosts") e aggiungi anche un'operazione *Add to host group* (specificando un altro host group), perché un host deve appartenere a un host group.

[comment]: # ({/04e44cd6-7b103292})

[comment]: # ({96641bd1-66cac4ef})
#### Autoregistrazione sicura

Un metodo sicuro di autoregistrazione è possibile configurando l'autenticazione basata su PSK con connessioni cifrate.

Il livello di cifratura viene configurato globalmente in *Administration* >
*General* > *[Autoregistration](/manual/web_interface/frontend_sections/administration/general#autoregistration)*.
È possibile selezionare nessuna cifratura, la cifratura TLS con autenticazione PSK oppure entrambe (in modo che alcuni host possano registrarsi senza cifratura mentre altri tramite connessione cifrata).

L'autenticazione tramite PSK viene verificata da Zabbix server prima di aggiungere un host.
Se la verifica ha esito positivo, l'host viene aggiunto e *[Connections from/to host](/manual/config/hosts/host#encryption)* viene impostato solo su 'PSK' con identità/chiave precondivisa uguale a quella dell'impostazione globale di autoregistrazione.

::: noteimportant
Per garantire la sicurezza dell'autoregistrazione nelle installazioni che utilizzano proxy, deve essere abilitata la cifratura tra Zabbix server e proxy.
:::

[comment]: # ({/96641bd1-66cac4ef})

[comment]: # ({6f85d554-9c275675})
#### Uso di DNS come interfaccia predefinita

I parametri di configurazione HostInterface e HostInterfaceItem [configuration parameters](/manual/appendix/config/zabbix_agentd) consentono di specificare un valore personalizzato per l'interfaccia dell'host durante l'autoregistrazione.

Più precisamente, sono utili se l'host deve essere autoregistrato con un nome DNS come interfaccia predefinita dell'agent anziché con il suo indirizzo IP.
In tal caso, il nome DNS deve essere specificato o restituito come valore di uno dei parametri HostInterface o HostInterfaceItem.
Se il valore di uno di questi parametri cambia, ad esempio da un indirizzo IP a un nome DNS o viceversa, l'interfaccia predefinita dell'host autoregistrato verrà aggiornata di conseguenza.
Questo aggiornamento viene applicato all'host esistente, non creando un nuovo host.
Per inviare il nuovo valore, l'agent deve essere riavviato in modo da riavviare il processo di autoregistrazione.

::: noteclassic
Se i parametri HostInterface o HostInterfaceItem non sono configurati, viene utilizzato invece il parametro listen_dns.
Questo valore viene determinato eseguendo una ricerca DNS inversa dell'indirizzo IP dell'agent.
Se il DNS inverso non è configurato correttamente o restituisce un nome non valido, ciò può causare un'autoregistrazione errata o non riuscita a causa di un valore di interfaccia non valido.
:::

[comment]: # ({/6f85d554-9c275675})

[comment]: # ({32a8b833-af247ed6})
#### Utilizzo dei metadati dell'host

Quando agent invia una richiesta di autoregistrazione al server, invia il proprio hostname.
In alcuni casi (ad esempio, nodi cloud Amazon), un hostname non è sufficiente per consentire a Zabbix server di distinguere gli host rilevati.
I metadati dell'host possono essere usati facoltativamente per inviare altre informazioni da agent al server.

I metadati dell'host sono configurati nel [file di configurazione](/manual/appendix/config/zabbix_agentd) di agent - `zabbix_agentd.conf`.
Esistono 2 modi per specificare i metadati dell'host nel file di configurazione:

```ini
HostMetadata
HostMetadataItem
```

Vedere la descrizione delle opzioni nel link sopra.

Il parametro HostMetadataItem può restituire fino a 65535 code point UTF-8.
Un valore più lungo verrà troncato.

Si noti che su MySQL, la lunghezza massima effettiva in caratteri sarà inferiore se il valore restituito contiene caratteri multibyte.
Ad esempio, un valore contenente solo caratteri a 3 byte sarà limitato a 21844 caratteri totali, mentre un valore contenente solo caratteri a 4 byte sarà limitato a 16383 simboli.

::: noteimportant
Un tentativo di autoregistrazione avviene ogni volta che un agent attivo invia una richiesta di aggiornamento dei controlli attivi al server.
Il ritardo tra le richieste è specificato nel parametro [RefreshActiveChecks](/manual/appendix/config/zabbix_agentd) di agent.
La prima richiesta viene inviata immediatamente dopo il riavvio di agent.
:::

[comment]: # ({/32a8b833-af247ed6})

[comment]: # ({4c860844-e2de662b})
#### Esempi

[comment]: # ({/4c860844-e2de662b})

[comment]: # ({30b1e8da-070aaeb4})
##### Autoregistrazione per OS utilizzando HostMetadata

Supponiamo di voler fare in modo che gli host vengano autoregistrati dal server Zabbix.
Nella rete sono presenti agent Zabbix attivi (vedere la sezione "Configuration" sopra).
Nella rete sono presenti host Windows e host Linux e nel frontend Zabbix sono disponibili i template "Linux by Zabbix agent" e "Windows by Zabbix agent".
Quindi, al momento della registrazione dell'host, si desidera che al host in fase di registrazione venga applicato il template Linux/Windows appropriato.
Per impostazione predefinita, durante l'autoregistrazione viene inviato al server solo il nome host, il che potrebbe non essere sufficiente.
Per assicurarsi che al host venga applicato il template corretto, è necessario utilizzare i metadati dell'host.

[comment]: # ({/30b1e8da-070aaeb4})

[comment]: # ({e73b011d-9543f562})
**Configurazione del frontend**

La prima cosa da fare è configurare il frontend.
Creare 2 azioni.
La prima azione:

-   Nome: Registrazione automatica del host Linux
-   Condizioni: I metadati del host contengono *Linux*
-   Operazioni: Collegare i template: Linux by Zabbix agent

::: noteclassic
In questo caso è possibile saltare un'operazione "Add host".
Il collegamento di un template a un host richiede prima l'aggiunta del host, quindi il server lo farà automaticamente.
:::

La seconda azione:

-   Nome: Registrazione automatica del host Windows
-   Condizioni: I metadati del host contengono *Windows*
-   Operazioni: Collegare i template: Windows by Zabbix agent

[comment]: # ({/e73b011d-9543f562})

[comment]: # ({5c00417a-110dbc2b})
**Configurazione dell'agent**

Ora è necessario configurare gli agent.
Aggiungere la riga seguente ai file di configurazione dell'agent:

```ini
HostMetadataItem=system.uname
```

In questo modo ci si assicura che i metadati del host contengano "Linux" o "Windows" a seconda del host su cui è in esecuzione un agent.
Un esempio di metadati del host in questo caso:

```default
Linux: Linux server3 3.2.0-4-686-pae #1 SMP Debian 3.2.41-2 i686 GNU/Linux
Windows: Windows WIN-0PXGGSTYNHO 6.0.6001 Windows Server 2008 Service Pack 1 Intel IA-32
```

Non dimenticare di riavviare l'agent dopo aver apportato qualsiasi modifica al file di configurazione.

[comment]: # ({/5c00417a-110dbc2b})

[comment]: # ({4906ecf5-85f695d6})
##### Utilizzo di HostMetadata per controllare l'autoregistrazione e i template

[comment]: # ({/4906ecf5-85f695d6})

[comment]: # ({ccdb1681-c5ffa817})
***Passaggio 1 - Proteggere la registrazione con HostMetadata***

Utilizzare i metadati dell'host per consentire una protezione di base contro la registrazione di host indesiderati.

[comment]: # ({/ccdb1681-c5ffa817})

[comment]: # ({7cbf997b-c9e24581})
**Configurazione del frontend**

Creare un'azione nel frontend, utilizzando un codice segreto difficile da indovinare per impedire host indesiderati:

-   Nome: Azione di autoregistrazione Linux
-   Condizioni:
    - Tipo di calcolo: AND
    - Condizione (A): I metadati dell'host contengono //Linux//
    - Condizione (B): I metadati dell'host contengono //21df83bf21bf0be663090bb8d4128558ab9b95fba66a6dbf834f8b91ae5e08ae//
-   Operazioni: 
    - Invia messaggio agli utenti: Admin tramite tutti i supporti
    - Aggiungi ai gruppi host: Server Linux
    - Collega template: Linux by Zabbix agent

Si noti che questo metodo da solo non fornisce una protezione efficace, poiché i dati vengono trasmessi in testo semplice.
Per rendere immediatamente effettive le modifiche è necessario ricaricare la cache di configurazione.

[comment]: # ({/7cbf997b-c9e24581})

[comment]: # ({498ec3de-9fca761d})
**Configurazione dell'agent**

Aggiungere la riga seguente al file di configurazione dell'agent:

```ini
HostMetadata=Linux    21df83bf21bf0be663090bb8d4128558ab9b95fba66a6dbf834f8b91ae5e08ae
```

dove "Linux" è una piattaforma e il resto della stringa è il testo segreto difficile da indovinare.

Non dimenticare di riavviare l'agent dopo aver apportato qualsiasi modifica al file di configurazione.

[comment]: # ({/498ec3de-9fca761d})

[comment]: # ({60f2763f-c93c8a99})
***Passaggio 2 - Aggiungere il template al host registrato***

È possibile aggiungere template aggiuntivi per un host già registrato.
In questo caso, il template MySQL by Zabbix agent verrà collegato solo ai host il cui HostMetadata contiene il token `MySQL`.

[comment]: # ({/60f2763f-c93c8a99})

[comment]: # ({f0fc5068-6eb51339})
**Configurazione del frontend**

Aggiornare l'azione nel frontend:

-   Nome: Azione di autoregistrazione Linux
-   Condizioni:
    - Tipo di calcolo: AND
    - Condizione (A): I metadati dell'host contengono Linux
    - Condizione (B): I metadati dell'host contengono 21df83bf21bf0be663090bb8d4128558ab9b95fba66a6dbf834f8b91ae5e08ae
    - Condizione (C): I metadati dell'host contengono MySQL
-   Operazioni:
    - Invia messaggio agli utenti: Admin tramite tutti i supporti
    - Aggiungi ai gruppi host: Server Linux
    - Collega i template: Linux by Zabbix agent
    - Collega i template: MySQL by Zabbix Agent

[comment]: # ({/f0fc5068-6eb51339})

[comment]: # ({c0627a72-15c86816})
**Configurazione dell'agent**

Aggiornare la riga seguente nel file di configurazione dell'agent:

```ini
HostMetadata=MySQL on Linux 21df83bf21bf0be663090bb8d4128558ab9b95fba66a6dbf834f8b91ae5e08ae
```

Non dimenticare di riavviare l'agent dopo aver apportato qualsiasi modifica al file di configurazione.

[comment]: # ({/c0627a72-15c86816})
