2 Agent

Panoramica

Zabbix agent viene distribuito su un target di monitoraggio per monitorare attivamente risorse e applicazioni locali (dischi rigidi, memoria, statistiche del processore, ecc.).

L'agent raccoglie localmente le informazioni operative e riporta i dati a Zabbix server per un'ulteriore elaborazione. In caso di guasti (ad esempio un disco rigido che si riempie completamente o un processo di servizio arrestato in modo anomalo), Zabbix server può avvisare attivamente gli amministratori della macchina specifica che ha segnalato il guasto.

Gli agent Zabbix sono altamente efficienti grazie all'uso di chiamate di sistema native per raccogliere informazioni statistiche.

Controlli passivi e attivi

Gli agent Zabbix possono eseguire controlli passivi e attivi:

  • Controlli passivi - l'agent Zabbix risponde a una richiesta del server Zabbix (o del proxy). Ad esempio, il server richiede dati (ad es. carico della CPU) e l'agent restituisce il risultato.
  • Controlli attivi - l'agent Zabbix raccoglie e invia dati senza attendere una richiesta dal server Zabbix (o dal proxy). Per prima cosa, recupera dal server un elenco di item di monitoraggio (carico della CPU, memoria disponibile, ecc.), quindi raccoglie i dati richiesti e invia periodicamente i nuovi valori al server.

Il tipo di controllo dell'agent viene configurato selezionando il relativo tipo di item. L'agent Zabbix elabora item di tipo "Zabbix agent" o "Zabbix agent (active)".

Piattaforme supportate

Per le piattaforme supportate, fare riferimento alla pagina Requisiti.

Agente su sistemi UNIX-like

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

Installazione

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

  • Pacchetti Zabbix - selezionare il componente Agent (dopo aver selezionato la versione di Zabbix, la distribuzione del sistema operativo e la versione del sistema operativo) e seguire le istruzioni fornite.
  • Sorgenti di Zabbix - scaricare i file sorgente e compilare Zabbix agent configurando i sorgenti con l'opzione --enable-agent.

In generale, gli agent Zabbix a 32 bit funzionano sui sistemi a 64 bit, ma in alcuni casi potrebbero non funzionare.

Sono disponibili per il download binari precompilati di Zabbix agent per macOS, IBM AIX, FreeBSD, OpenBSD e Solaris. Per NetBSD e HP-UX sono disponibili binari legacy, compatibili con la versione corrente di Zabbix server/proxy.

Se installato come pacchetto

Zabbix agent viene eseguito come processo daemon. L'agent può essere avviato eseguendo:

systemctl start zabbix-agent

Questo funzionerà sulla maggior parte dei sistemi GNU/Linux. Su altri sistemi potrebbe essere necessario eseguire:

/etc/init.d/zabbix-agent start

Per arrestare, riavviare o controllare lo stato di Zabbix agent, utilizzare i seguenti comandi:

systemctl stop zabbix-agent
systemctl restart zabbix-agent
systemctl status zabbix-agent
Avvio manuale

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

zabbix_agentd

Agent su sistemi Windows

Zabbix agent su Windows viene eseguito come servizio di Windows.

Installazione

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

Per ulteriori dettagli sull'installazione di Zabbix agent (da un archivio ZIP) come servizio Windows, vedere la pagina Zabbix agent su Microsoft Windows.

Opzioni

È possibile eseguire più istanze dell'agent su un host. Una singola istanza può usare il file di configurazione predefinito oppure un file di configurazione specificato nella riga di comando. In caso di istanze multiple, ogni istanza dell'agent deve avere il proprio file di configurazione (una delle istanze può usare il file di configurazione predefinito).

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

Parameter Description
agent UNIX e Windows
-c --config <config-file> Percorso del file di configurazione.
Puoi usare questa opzione per specificare un file di configurazione diverso da quello predefinito.
Su UNIX, il valore predefinito è /usr/local/etc/zabbix_agentd.conf oppure quello impostato dalle variabili di compile-time --sysconfdir o --prefix
Su Windows, il valore predefinito è C:\Program Files\Zabbix Agent\zabbix_agentd.conf
-f --foreground Esegui Zabbix agent in foreground (predefinito: true).
-p --print Stampa gli item conosciuti ed esce.
Nota: per restituire anche i risultati dei parametri utente, devi specificare il file di configurazione (se non si trova nel percorso predefinito).
-t --test <item key> Testa l'item specificato ed esce.
Nota: per restituire anche i risultati dei parametri utente, devi specificare il file di configurazione (se non si trova nel percorso predefinito).
-T --test-config Convalida il file di configurazione ed esce.
-h --help Visualizza le informazioni di aiuto.
-V --version Visualizza il numero di versione.
Solo agent UNIX
-R --runtime-control <option> Esegue funzioni amministrative. Vedi 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 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:
automatic - (predefinito) avvia il servizio automaticamente all'avvio di Windows;
delayed - ritarda l'avvio del servizio finché i servizi avviati automaticamente non hanno completato l'avvio (disponibile su Windows Server 2008/Vista e versioni successive);
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.
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 della riga di comando:

  • stampa di tutti gli item integrati dell'agent con i valori
  • test di un parametro utente con chiave "mysql.ping" definita 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\zabbix_agentd.conf
  • installazione di un servizio "Zabbix Agent [Hostname]" per Windows usando il file di configurazione zabbix_agentd.conf situato nella stessa cartella dell'eseguibile dell'agent e rendendo univoco il nome del servizio estendendolo con il valore Hostname del file di configurazione
  • modifica del tipo di avvio di un servizio "Zabbix Agent" per Windows già installato usando il file di configurazione zabbix_agentd.conf situato nella stessa cartella dell'eseguibile dell'agent
zabbix_agentd --print
zabbix_agentd -t "mysql.ping" -c /etc/zabbix/zabbix_agentd.conf
zabbix_agentd.exe -i
zabbix_agentd.exe -i -m -c zabbix_agentd.conf
zabbix_agentd.exe -c zabbix_agentd.conf -S delayed
Controllo di runtime

Con le opzioni di controllo di runtime è possibile modificare il livello di log dei processi dell'agent.

Opzione Descrizione Destinazione
log_level_increase[=<target>] Aumenta il livello di log.
Se la destinazione non è specificata, vengono interessati tutti i processi.
La destinazione può essere specificata come:
tipo di processo - tutti i processi del tipo specificato (ad esempio, listener)
Vedi tutti i tipi di processo dell'agent.
tipo di processo,N - tipo di processo e numero (ad esempio, listener,3)
pid - identificatore di processo (da 1 a 65535). Per valori più grandi specificare la destinazione come 'process-type,N'.
log_level_decrease[=<target>] Diminuisce il livello di log.
Se la destinazione non è specificata, vengono interessati tutti i processi.
userparameter_reload Ricarica i valori delle opzioni UserParameter e Include dal file di configurazione corrente.

Esempi:

  • aumento del livello di log di tutti i processi
  • aumento del livello di log del terzo processo listener
  • aumento del livello di log del processo con PID 1234
  • diminuzione del livello di log di tutti i processi di controlli attivi
zabbix_agentd -R log_level_increase
zabbix_agentd -R log_level_increase=listener,3
zabbix_agentd -R log_level_increase=1234
zabbix_agentd -R log_level_decrease="active checks"

Il controllo di runtime non è supportato su OpenBSD, NetBSD e Windows.

Tipi di processi dell'agent

  • active checks - processo per l'esecuzione dei controlli attivi
  • collector - processo per la raccolta dei dati
  • listener - processo in ascolto dei controlli passivi

Il file di log dell'agent può essere utilizzato per osservare questi tipi di processi.

Il file di log dell'agent viene creato con permessi di lettura e scrittura solo per il proprietario del file. Inoltre, il file è leggibile dal gruppo proprietario. Tutti gli altri permessi sono negati.

Utente del processo

Zabbix agent su UNIX è progettato per essere eseguito come utente non root. Verrà eseguito come qualsiasi utente non root con cui viene avviato. Quindi è possibile eseguire agent come qualsiasi utente non root senza alcun problema.

Se si tenta di eseguirlo come 'root', passerà a un utente 'zabbix' codificato in modo statico, che deve essere presente nel sistema. È possibile eseguire agent come 'root' solo se si modifica di conseguenza il parametro 'AllowRoot' nel file di configurazione dell'agent.

File di configurazione

Per i dettagli sulla configurazione di Zabbix agent, vedere le opzioni del file di configurazione per zabbix_agentd o agent per Windows.

Locale

Si noti che l'agent richiede una locale UTF-8 affinché alcuni item testuali dell'agent possano restituire il contenuto previsto. La maggior parte dei moderni sistemi di tipo Unix ha una locale UTF-8 come predefinita; tuttavia, esistono alcuni sistemi in cui potrebbe essere necessario impostarla esplicitamente.

Codice di uscita

Zabbix agent restituisce 0 in caso di terminazione riuscita e 1 in caso di terminazione fallita.