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:

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.