3 Agent 2
Panoramica
Zabbix Agent 2 è una nuova generazione di Zabbix Agent, scritto 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.
- Essere facilmente estensibile con plugin, che forniscono controlli semplici con codice minimo e supportano controlli complessi costituiti da script di lunga durata e raccolta dati autonoma con report periodici.
- Funzionare come sostituto di Zabbix Agent, supportando tutte le funzionalità precedenti.
Controlli passivi e attivi
Zabbix agent 2 supporta i controlli passivi e attivi, analogamente a Zabbix agent. Inoltre, i controlli attivi di Zabbix agent 2 supportano intervalli flessibili/di pianificazione e la concorrenza dei controlli all'interno di un server attivo.
Per impostazione predefinita, dopo un riavvio, Zabbix agent 2 pianificherà la prima raccolta dei dati per i controlli attivi in un momento casuale convenzionale
entro l'intervallo di aggiornamento dell'item, per evitare picchi nell'utilizzo delle risorse. Per eseguire immediatamente dopo il riavvio dell'agent i controlli attivi che non hanno
un intervallo di aggiornamento di Pianificazione,
impostare il parametro ForceActiveChecksOnStart (a livello globale) oppure Plugins.<Plugin name>.System.ForceActiveChecksOnStart (influisce solo sui controlli di plugin specifici)
nel file di configurazione. Il parametro a livello di plugin, se impostato, sovrascriverà il parametro globale.
Concorrenza dei controlli
I controlli di plugin diversi possono essere eseguiti contemporaneamente. Il numero
di controlli concorrenti all'interno di un plugin è limitato dall'impostazione della capacità
del plugin. Ogni plugin può avere un'impostazione di capacità codificata rigidamente (1000 è il valore
predefinito) che può essere ridotta utilizzando l'impostazione Plugins.<PluginName>.System.Capacity=N nel
parametro di configurazione Plugins.
Piattaforme supportate
Per le piattaforme supportate, fare riferimento alla pagina Requisiti.
Agent 2 su sistemi UNIX-like
Zabbix Agent 2 sui sistemi UNIX-like viene eseguito sull'host monitorato.
Installazione
Zabbix agent 2 può essere installato su sistemi basati su Linux utilizzando uno dei seguenti metodi:
- Pacchetti Zabbix - selezionare il componente Agent 2 (dopo aver selezionato la versione di Zabbix, la distribuzione del sistema operativo e la versione del sistema operativo) e seguire le istruzioni.
- Sorgenti Zabbix - scaricare i file sorgente e compilare l'agent configurando con l'opzione
--enable-agent2.
Le funzionalità di monitoraggio di Zabbix agent 2 possono essere estese con plugin caricabili, disponibili separatamente. Per i dettagli, vedere Plugin caricabili.
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 supporta la daemonizzazione su Linux.
L'agente può essere avviato eseguendo:
systemctl start zabbix-agent2
Per arrestare, riavviare o controllare lo stato di Zabbix Agent 2, utilizzare i seguenti comandi:
systemctl stop zabbix-agent2 systemctl restart zabbix-agent2 systemctl status zabbix-agent2
Avvio manuale
È possibile avviare l'agente Zabbix individuando il binario zabbix_agent2 ed eseguendolo direttamente; ad esempio:
zabbix_agent2
Agent 2 su sistemi Windows
Zabbix Agent 2 viene eseguito come processo autonomo; tuttavia, può anche essere eseguito come servizio Windows.
Installazione
Zabbix agent 2 può essere installato su Windows utilizzando uno dei seguenti metodi:
- Binari precompilati di Zabbix agent - scaricare il pacchetto di installazione MSI dell'agent e seguire le istruzioni nella pagina Installazione dell'agent Windows da MSI.
- Sorgenti di Zabbix - scaricare i file sorgente e seguire le istruzioni nella pagina Compilazione di Zabbix agent 2 su Windows.
Le funzionalità di monitoraggio di Zabbix agent 2 possono essere estese con plugin caricabili, disponibili separatamente. Per i dettagli, vedere Plugin caricabili.
Per ulteriori dettagli sull'installazione di Zabbix agent 2 (da un archivio ZIP) come servizio Windows, vedere la pagina Zabbix agent su Microsoft Windows.
Opzioni
I seguenti parametri della riga di comando possono essere utilizzati con Zabbix agent 2:
| Parametro | Descrizione |
|---|---|
| agent UNIX e Windows | |
| -c --config <config-file> | Percorso del file di configurazione. È possibile usare questa opzione per specificare un file di configurazione diverso da quello predefinito. Su UNIX, il valore predefinito è /usr/local/etc/zabbix_agent2.conf oppure quello impostato dalle variabili di compilazione --sysconfdir o --prefix Su Windows, il valore predefinito è C:\Program Files\Zabbix Agent 2\zabbix_agent2.conf |
| -f --foreground | Esegui Zabbix agent in primo piano (predefinito: true). |
| -p --print | Stampa gli item conosciuti ed esce. Nota: per restituire anche i risultati dei parametri utente, è necessario specificare il file di configurazione (se non si trova nel percorso predefinito). |
| -t --test <item key> | Verifica l'item specificato ed esce. Nota: per restituire anche i risultati dei parametri utente, è necessario specificare il file di configurazione (se non si trova nel percorso predefinito). |
| -T --test-config | Convalida il file di configurazione ed esce. |
| -h --help | Stampa le informazioni di aiuto ed esce. |
| -v --verbose | Stampa informazioni di debug. Usare questa opzione con le opzioni -p e -t. |
| -V --version | Stampa la versione dell'agent e le informazioni sulla licenza. |
| -R --runtime-control <option> | Esegue funzioni amministrative. Vedere runtime control. |
| Solo agent Windows | |
| -m --multiple-agents | Usa più istanze di agent (con le opzioni -i, -d, -s, -x). Per distinguere i nomi dei servizi delle istanze, ogni nome di 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:automatic - (predefinito) avvia il servizio automaticamente all'avvio di Windows;delayed - ritarda l'avvio del servizio dopo che i servizi avviati automaticamente hanno completato l'avvio;manual - avvia il servizio manualmente (da un utente o da un'applicazione);disabled - disabilita il servizio, in modo che non possa essere avviato da un utente o da un'applicazione.È possibile 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 della riga di comando:
- stampare tutti gli item integrati dell'agent con i valori
- verificare un parametro utente con chiave "mysql.ping" definita nel file di configurazione specificato
- installare un servizio "Zabbix Agent" per Windows usando il percorso predefinito del file di configurazione C:\Program Files\Zabbix Agent 2\zabbix_agent2.conf
- modificare il tipo di avvio di un servizio "Zabbix Agent" per Windows già installato usando il file di configurazione zabbix_agent2.conf situato nella stessa cartella dell'eseguibile dell'agent
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
Controllo runtime
Il controllo runtime fornisce alcune opzioni per il controllo remoto.
| Opzione | Descrizione |
|---|---|
| log_level_increase | Aumenta il livello di log. |
| log_level_decrease | Diminuisce il livello di log. |
| metrics | Elenca le metriche disponibili. |
| version | Visualizza la versione dell'agent. |
| userparameter_reload | Ricarica i valori delle opzioni UserParameter e Include dal file di configurazione corrente. |
| help | Visualizza le informazioni di aiuto sul controllo runtime. |
Esempi:
- aumento del livello di log per agent 2
- stampa delle opzioni di controllo runtime
zabbix_agent2 -R log_level_increase
zabbix_agent2 -R help
File di configurazione
I parametri di configurazione di agent 2 sono per lo più compatibili con Zabbix agent, con alcune eccezioni.
| Nuovi parametri | Descrizione |
|---|---|
| ControlSocket | Il percorso del socket di controllo runtime. Agent 2 utilizza un socket di controllo per i comandi runtime. |
| EnablePersistentBuffer, PersistentBufferFile, PersistentBufferPeriod |
Questi parametri vengono utilizzati per configurare l'archiviazione persistente in agent 2 per gli item attivi. |
| ForceActiveChecksOnStart | Determina se l'agent debba 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 che possono essere eseguiti contemporaneamente. |
| StatusPort | La porta su cui agent 2 resterà in ascolto per le richieste di stato HTTP e per la visualizzazione di un elenco dei plugin configurati e di alcuni parametri interni |
| Parametri rimossi | Descrizione |
| AllowRoot, User | Non supportati perché la daemonizzazione non è supportata. |
| LoadModule, LoadModulePath | I moduli caricabili non sono supportati. |
| StartAgents | Questo parametro veniva utilizzato in Zabbix agent per aumentare la concorrenza dei controlli passivi o disabilitarli. In Agent 2, la concorrenza viene configurata a livello di plugin e può essere limitata da un'impostazione di capacità. |
Per maggiori dettagli, vedere le opzioni del file di configurazione per zabbix_agent2.
Codici di uscita
L'agente Zabbix 2 può essere compilato anche con versioni precedenti di OpenSSL (1.0.1, 1.0.2).
In questo caso, Zabbix fornisce mutex per il blocco in OpenSSL. Se un blocco o uno sblocco di un mutex fallisce, viene visualizzato un messaggio di errore nel flusso di errori standard (STDERR) e l'Agent 2 termina con il codice di ritorno 2 o 3, rispettivamente.