[comment]: # ({d60be363-d60be363})
# 3 Agent 2

[comment]: # ({/d60be363-d60be363})

[comment]: # ({72fba9e6-734dc3ed})
#### Panoramica

Zabbix agent 2 è una nuova generazione di [Zabbix agent](/manual/concepts/agent), scritta in Go (con parte del codice C riutilizzato da Zabbix agent).
È progettato per:

-   Ridurre il numero di connessioni TCP;
-   Fornire una migliore [concorrenza dei controlli](#check-concurrency);
-   Essere facilmente estendibile con [plugin](/manual/extensions/plugins), che forniscono controlli semplici con codice minimo e supportano controlli complessi costituiti da script di lunga durata e raccolta autonoma dei dati con reporting periodico;
-   Funzionare come sostituto di Zabbix agent, supportando tutte le funzionalità precedenti.

Tutte le metriche supportate da Zabbix agent 2 sono raccolte dai plugin.

[comment]: # ({/72fba9e6-734dc3ed})

[comment]: # ({c03d41e5-eaa0f2bb})
##### Controlli passivi e attivi

Zabbix agent 2 supporta [controlli passivi e attivi](/manual/concepts/agent#passive-and-active-checks), analogamente a Zabbix agent.
Inoltre, i controlli attivi di Zabbix agent 2 supportano [intervalli flessibili/pianificati](/manual/config/items/item/custom_intervals) e [concorrenza dei controlli](#check-concurrency) all'interno di un singolo server attivo.

::: noteclassic
Per impostazione predefinita, dopo un riavvio, Zabbix agent 2 pianificherà la prima raccolta dati per i controlli attivi in un momento casuale, entro l'intervallo di aggiornamento dell'item, per evitare picchi nell'uso delle risorse.
Per eseguire immediatamente i controlli attivi che non dispongono di un [intervallo di aggiornamento](/manual/config/items/item/custom_intervals#scheduling-intervals) *Scheduling* dopo il riavvio dell'agent, impostare il parametro `ForceActiveChecksOnStart` (a livello globale) oppure `Plugins.<Plugin name>.System.ForceActiveChecksOnStart` (influisce solo sui controlli di specifici plugin) nel [file di configurazione](/manual/appendix/config/zabbix_agent2).
Se impostato, il parametro a livello di plugin sostituirà il parametro globale.
:::

[comment]: # ({/c03d41e5-eaa0f2bb})

[comment]: # ({c777f783-05ea1336})
##### Verifica della concorrenza

Le verifiche provenienti da plugin diversi possono essere eseguite in modo concorrente.
Il numero di verifiche concorrenti all'interno di un singolo plugin è limitato dall'impostazione della capacità del plugin.
Ogni plugin può avere un'impostazione di capacità hardcoded (`1000` è il valore predefinito) che può essere ridotta usando l'impostazione `Plugins.<PluginName>.System.Capacity=N` nel [parametro](#configuration-file) di configurazione `Plugins`.

[comment]: # ({/c777f783-05ea1336})

[comment]: # ({ec9f8f5e-a2064519})
#### Piattaforme supportate

Per le piattaforme supportate, fare riferimento alla pagina [Requisiti](/manual/installation/requirements#supported-platforms).

[comment]: # ({/ec9f8f5e-a2064519})

[comment]: # ({138e3f53-72764340})
#### Agent 2 sui sistemi Unix-like

Zabbix agent 2 sui sistemi Unix-like viene eseguito sull'host monitorato.

[comment]: # ({/138e3f53-72764340})

[comment]: # ({6910e45e-cabc0f5f})
##### Installazione

Zabbix agent 2 può essere installato su sistemi basati su Linux utilizzando uno dei seguenti metodi:

-   [Pacchetti Zabbix](https://www.zabbix.com/download?zabbix=7.4) - selezionare il componente Agent 2 (dopo aver selezionato la versione di Zabbix, la distribuzione OS e la versione OS) e seguire le istruzioni;
-   [Sorgenti Zabbix](https://www.zabbix.com/download_sources#74) - scaricare i file sorgente e compilare l'agent configurando il sistema con l'opzione `--enable-agent2` [configurando](/manual/installation/install#configure-the-sources).

::: noteclassic
Le funzionalità di monitoraggio di Zabbix agent 2 possono essere estese con plugin caricabili, disponibili separatamente.
Per i dettagli, vedere [Plugin caricabili](/manual/extensions/plugins#loadable-plugins).
:::

[comment]: # ({/6910e45e-cabc0f5f})

[comment]: # ({f46eec4a-710d239c})
##### Se installato come pacchetto

Zabbix agent 2 viene eseguito come processo in primo piano e si affida a un gestore di servizi esterno (ad esempio, systemd) per l'esecuzione in background.
Zabbix agent 2 non dispone del supporto integrato per la daemonizzazione su Linux.

L'agent può essere avviato eseguendo:

```bash
systemctl start zabbix-agent2
```

Per arrestare, riavviare o verificare lo stato di Zabbix agent 2, usare i seguenti comandi:

```bash
systemctl stop zabbix-agent2
systemctl restart zabbix-agent2
systemctl status zabbix-agent2
```

[comment]: # ({/f46eec4a-710d239c})

[comment]: # ({d6099b39-87c53fa7})
##### Avvio manuale

È possibile avviare Zabbix agent individuando il binario `zabbix_agent2` ed eseguendolo direttamente; ad esempio:

```bash
zabbix_agent2
```

[comment]: # ({/d6099b39-87c53fa7})

[comment]: # ({27b40128-466bb9c2})
#### Agent 2 su sistemi Windows

Zabbix Agent 2 viene eseguito come processo autonomo; tuttavia, può anche essere eseguito come servizio Windows.

[comment]: # ({/27b40128-466bb9c2})

[comment]: # ({60f78e08-214485f8})
##### Installazione

Zabbix agent 2 può essere installato su Windows utilizzando uno dei seguenti metodi:

-   [Binaries precompilati di Zabbix agent](https://www.zabbix.com/download_agents?version=7.4) - scaricare il pacchetto di installazione MSI dell'agent e seguire le istruzioni nella pagina [Installazione dell'agent Windows da MSI](/manual/installation/install_from_packages/win_msi);
-   [Sorgenti di Zabbix](https://www.zabbix.com/download_sources#74) - scaricare i file sorgente e seguire le istruzioni nella pagina [Compilazione di Zabbix agent 2 su Windows](/manual/installation/install/building_zabbix_agent_2_on_windows).

::: noteclassic
Le funzionalità di monitoraggio di Zabbix agent 2 possono essere estese con plugin caricabili, disponibili separatamente.
Per i dettagli, vedere [Plugin caricabili](/manual/extensions/plugins#loadable-plugins).
:::

Vedere la pagina [Zabbix agent su Microsoft Windows](/manual/appendix/install/windows_agent#installing-agent-as-windows-service) per ulteriori dettagli sull'installazione di Zabbix agent 2 (da un archivio ZIP) come servizio Windows.

[comment]: # ({/60f78e08-214485f8})

[comment]: # ({b596fdca-45c02f12})
#### Opzioni

I seguenti parametri da riga di comando possono essere usati con Zabbix agent 2:

|Parameter|Description|
|--|--------|
|**UNIX and Windows agent**|<|
|`-c --config <config-file>`|Percorso del [file di configurazione](/manual/concepts/agent2#configuration-file).<br>Puoi usare questa opzione per specificare un file di configurazione diverso da quello predefinito.|
|`-f --foreground`|Esegui Zabbix agent in primo piano (predefinito: true).|
|`-p --print`|Stampa gli item noti ed esci.<br>Nota che, per restituire anche i risultati dei [user parameter](/manual/config/items/userparameters), devi specificare il file di configurazione (se non si trova nella posizione predefinita).|
|`-t --test <item key>`|Testa l'item specificato ed esci.<br>Nota che, per restituire anche i risultati dei [user parameter](/manual/config/items/userparameters), devi specificare il file di configurazione (se non si trova nella posizione predefinita).|
|`-T --test-config`|Valida il file di configurazione ed esci.|
|`-h --help`|Stampa le informazioni di aiuto ed esci.|
|`-v --verbose`|Stampa informazioni di debug. Usa questa opzione con le opzioni `-p` e `-t`.|
|`-V --version`|Stampa la versione dell'agent e le informazioni sulla licenza.|
|`-R --runtime-control <option>`|Esegui funzioni amministrative. Vedi [runtime control](/manual/concepts/agent2#runtime-control).|
|**Windows agent only**|<|
|`-m --multiple-agents`|Usa più istanze di agent (con le opzioni `-i`, `-d`, `-s`, `-x`).<br>Per distinguere i nomi dei servizi delle istanze, ogni nome del servizio includerà il valore Hostname del file di configurazione specificato.|
|`-S --startup-type <value>`|Imposta il tipo di avvio del servizio Zabbix Windows agent. Valori consentiti:<br>`automatic` - *(predefinito)* avvia il servizio automaticamente all'avvio di Windows;<br>`delayed` - ritarda l'avvio del servizio dopo che i servizi avviati automaticamente hanno completato l'avvio;<br>`manual` - avvia il servizio manualmente (da parte di un utente o di un'applicazione);<br>`disabled` - disabilita il servizio, in modo che non possa essere avviato da un utente o da un'applicazione.<br>Puoi usare questa opzione insieme all'opzione `-i`, oppure separatamente per modificare il tipo di avvio di un servizio già installato.|
|`-i --install`|Installa Zabbix Windows agent come servizio.|
|`-d --uninstall`|Disinstalla il servizio Zabbix Windows agent.|
|`-s --start`|Avvia il servizio Zabbix Windows agent.|
|`-x --stop`|Arresta il servizio Zabbix Windows agent.|


Esempi specifici di utilizzo dei parametri da riga di comando:

-   Stampa tutti gli item integrati dell'agent con i valori.
-   Testa un user parameter con chiave `mysql.ping` definito nel file di configurazione specificato.
-   Installazione di un servizio Zabbix Agent per Windows usando il percorso predefinito del file di configurazione `C:\\Program Files\\Zabbix Agent 2\\zabbix_agent2.conf`.
-   Modifica del tipo di avvio di un servizio Zabbix Agent per Windows installato usando il file di configurazione `zabbix_agent2.conf` situato nella stessa cartella dell'eseguibile dell'agent.

```bash
zabbix_agent2 --print
zabbix_agent2 -t "mysql.ping" -c /etc/zabbix/zabbix_agentd.conf
zabbix_agent2.exe -i
zabbix_agent2.exe -c zabbix_agent2.conf -S delayed
```

[comment]: # ({/b596fdca-45c02f12})

[comment]: # ({76f056ab-11aa0de0})
##### Controllo runtime

Il controllo runtime fornisce alcune opzioni per il controllo remoto.

|Option|Description|
|--|--------|
|`log_level_increase`|Aumenta il livello di log.|
|`log_level_decrease`|Diminuisce il livello di log.|
|`metrics`|Elenca le metriche disponibili.|
|`version`|Mostra la versione di agent.|
|`userparameter_reload`|Ricarica i valori delle opzioni `UserParameter` e `Include` dal file di configurazione corrente.|
|`help`|Mostra le informazioni di aiuto sul controllo runtime.|

Esempi:

-   Aumentare il livello di log per agent 2.
-   Stampare le opzioni di controllo runtime.

```bash
zabbix_agent2 -R log_level_increase
zabbix_agent2 -R help
```

A partire da Zabbix 7.4.1, i comandi di controllo runtime di agent 2 scrivono l'output su `stdout` (standard output) invece che su `stderr` (standard error).

[comment]: # ({/76f056ab-11aa0de0})

[comment]: # ({2d620e96-77e9b590})
#### File di configurazione

Il percorso predefinito del file di configurazione è:

-   Su UNIX, il valore predefinito è `/usr/local/etc/zabbix_agent2.conf` oppure quello impostato dalle variabili di [compilazione](/manual/installation/install#configure-the-sources) `--sysconfdir` o `--prefix`.
-   Su Windows, il valore predefinito è `C:\\Program Files\\Zabbix Agent 2\\zabbix_agent2.conf`.

Se è in esecuzione una singola istanza dell'agent su un host, può usare il file di configurazione predefinito oppure un file di configurazione specificato dalla [riga di comando](/manual/concepts/agent2#options).
In caso di più istanze, ogni istanza dell'agent deve avere il proprio file di configurazione (una delle istanze può usare il file di configurazione predefinito).

I parametri di configurazione di Zabbix agent 2 corrispondono in gran parte a quelli di Zabbix agent, con alcune eccezioni:

|Parameters|<|Description|
|-|---------|----------|
|Parametri di configurazione specifici di Zabbix agent 2|<|<|
| |`ControlSocket`|Il percorso del socket di controllo a runtime. Zabbix agent 2 usa un socket di controllo per i [comandi a runtime](#runtime-control).|
| |`EnablePersistentBuffer`,<br>`PersistentBufferFile`,<br>`PersistentBufferPeriod`|Questi parametri vengono usati per configurare l'archiviazione persistente su Zabbix agent 2 per gli item attivi.|
| |`ForceActiveChecksOnStart`|Determina se l'agent deve eseguire i controlli attivi immediatamente dopo il riavvio oppure distribuirli uniformemente nel tempo.|
| |`Plugins`|I plugin possono avere parametri propri, nel formato `Plugins.<Plugin name>.<Parameter>=<value>`. Un parametro comune dei plugin è `System.Capacity`, che imposta il limite dei controlli eseguibili contemporaneamente.|
| |`StatusPort`|La porta su cui Zabbix agent 2 sarà in ascolto per le richieste HTTP di stato e per la visualizzazione dell'elenco dei plugin configurati e di alcuni parametri interni.|
|Parametri di configurazione specifici di Zabbix agent non supportati in Zabbix agent 2|<|<|
| |`AllowRoot`,<br>`User`|Non supportati in Zabbix agent 2 perché non supporta la daemonizzazione.|
| |`EnableRemoteCommands`|Deprecato; al suo posto vengono usati i parametri `AllowKey` e `DenyKey` in entrambi gli agent.|
| |`ListenBacklog`|Usato in Zabbix agent per definire il numero massimo di connessioni in attesa nella coda TCP. Non supportato in Zabbix agent 2.|
| |`LoadModule`,<br>`LoadModulePath`|I moduli caricabili non sono supportati in Zabbix agent 2.|
| |`MaxLinesPerSecond`,<br>`LogRemoteCommands`|In Zabbix agent 2, vengono usati invece `Plugins.Log.MaxLinesPerSecond` e `Plugins.SystemRun.LogRemoteCommands`.|
| |`StartAgents`|Questo parametro viene usato in Zabbix agent per aumentare la concorrenza dei controlli passivi o disabilitarli. In Zabbix agent 2, la concorrenza viene configurata a livello di plugin e può essere limitata da un'impostazione di capacità. I controlli passivi sono disabilitati in Zabbix Agent 2 se il parametro `Server` non è specificato.|

Per ulteriori dettagli, vedere le opzioni del file di configurazione per [Zabbix agent2](/manual/appendix/config/zabbix_agent2).

[comment]: # ({/2d620e96-77e9b590})

[comment]: # ({76a6838b-472820ac})
#### Codici di uscita

Zabbix agent 2 può anche essere compilato con versioni precedenti di OpenSSL (1.0.1, 1.0.2).

In questo caso Zabbix fornisce mutex per il locking in OpenSSL.
Se il lock o lo sblocco di un mutex fallisce, viene stampato un messaggio di errore sul flusso di errore standard (STDERR) e Agent 2 termina con codice di ritorno `2` o `3`, rispettivamente.

[comment]: # ({/76a6838b-472820ac})
