1 Proxy
Panoramica
Un proxy Zabbix può raccogliere dati sulle prestazioni e sulla disponibilità per conto del server Zabbix. In questo modo, un proxy può assumersi parte del carico della raccolta dei dati e alleggerire il server Zabbix.
Inoltre, l'utilizzo di un proxy è il modo più semplice per implementare un monitoraggio centralizzato e distribuito, quando tutti gli agent e i proxy riportano a un server Zabbix e tutti i dati vengono raccolti centralmente.
Un proxy Zabbix può essere utilizzato per:
- Monitorare sedi remote
- Monitorare sedi con comunicazioni inaffidabili
- Alleggerire il server Zabbix quando si monitorano migliaia di dispositivi
- Semplificare la manutenzione del monitoraggio distribuito

Il proxy richiede una sola connessione TCP al server Zabbix. In questo modo è più facile superare un firewall, poiché è necessario configurare una sola regola del firewall.
Zabbix proxy deve utilizzare un database separato. Puntarlo al database del server Zabbix comprometterà la configurazione.
Tutti i dati raccolti dal proxy vengono memorizzati localmente prima di essere trasmessi al server. In questo modo non si perde alcun dato a causa di eventuali problemi temporanei di comunicazione con il server. I parametri ProxyLocalBuffer e ProxyOfflineBuffer nel file di configurazione del proxy controllano per quanto tempo i dati vengono conservati localmente.
Può accadere che un proxy, che riceve le modifiche più recenti della configurazione direttamente dal database del server Zabbix, disponga di una configurazione più aggiornata rispetto al server Zabbix, la cui configurazione potrebbe non essere aggiornata altrettanto rapidamente a causa del valore di CacheUpdateFrequency. Di conseguenza, il proxy può iniziare a raccogliere dati e inviarli al server Zabbix, che ignora tali dati.
Zabbix proxy è un raccoglitore di dati. Non calcola i trigger, non elabora eventi e non invia avvisi. Per una panoramica delle funzionalità del proxy, consultare la tabella seguente:
| Funzione | Supportata dal proxy | |
|---|---|---|
| Item | ||
| Controlli Zabbix agent | Sì | |
| Controlli Zabbix agent (attivi) | Sì 1 | |
| Controlli semplici | Sì | |
| Item trapper | Sì | |
| Controlli SNMP | Sì | |
| Trap SNMP | Sì | |
| Controlli IPMI | Sì | |
| Controlli JMX | Sì | |
| Monitoraggio dei file di log | Sì | |
| Controlli interni | Sì | |
| Controlli SSH | Sì | |
| Controlli Telnet | Sì | |
| Controlli esterni | Sì | |
| Item dipendenti | Sì | |
| Item script | Sì | |
| Item browser | Sì | |
| Monitoraggio web integrato | Sì | |
| Pre-elaborazione dei valori degli item | Sì | |
| Rilevamento di rete | Sì | |
| Autoregistrazione attiva dell'agent | Sì | |
| Low-level discovery | Sì 2 | |
| Comandi remoti | Sì | |
| Calcolo dei trigger | No | |
| Elaborazione degli eventi | No | |
| Correlazione degli eventi | No | |
| Invio di avvisi | No | |
[1] Per assicurarsi che un agent richieda i controlli attivi al proxy (e non al server), il proxy deve essere elencato nel parametro ServerActive nel file di configurazione dell'agent.
[2] Per LLD, Zabbix proxy raccoglie e pre-elabora solo i dati, quindi li invia al server Zabbix per un'ulteriore elaborazione.
Protezione dal sovraccarico
Se il server Zabbix è rimasto inattivo per un certo periodo di tempo e i proxy hanno raccolto molti dati, quando poi il server si avvia potrebbe sovraccaricarsi (l'utilizzo della cache della cronologia rimane al 95-100% per un certo tempo). Questo sovraccarico può causare un calo delle prestazioni, per cui i controlli vengono elaborati più lentamente del dovuto. È stata implementata una protezione da questo scenario per evitare i problemi che derivano dal sovraccarico della cache della cronologia.
Quando la cache della cronologia del server Zabbix è piena, l'accesso in scrittura alla cache della cronologia viene limitato, bloccando i processi del server che raccolgono i dati. Il caso più comune di sovraccarico della cache della cronologia si verifica dopo un periodo di inattività del server, quando i proxy stanno caricando i dati raccolti. Per evitarlo è stata aggiunta una limitazione dei proxy (attualmente non può essere disabilitata).
Quando l'utilizzo della cache della cronologia raggiunge l'80%, il server Zabbix entra in modalità di limitazione. In modalità di limitazione, il server accetta dati dai proxy solo quando l'utilizzo della cache della cronologia è inferiore al 60%, alternando i proxy accettati. Una volta che l'utilizzo della cache della cronologia scende sotto il 20%, il server torna alla modalità normale.
Inoltre, in modalità normale il server Zabbix limita i singoli proxy che inviano pacchetti molto grandi (oltre 10.000 record) se l'utilizzo della cache della cronologia supera il 60%.
Questa decisione viene applicata nell'istante in cui il server valuta un caricamento da un proxy e pertanto potrebbe non riflettersi sempre immediatamente nei grafici di utilizzo della cache della cronologia (l'item interno zabbix[wcache,history,pused] e il suo intervallo di aggiornamento potrebbero non rilevare brevi picchi).
Questa modalità di limitazione continuerà finché l'utilizzo della cache non raggiungerà di nuovo l'80%, oppure non scenderà al 20%, oppure finché l'elenco di limitazione non sarà vuoto. Nel primo caso il server smetterà nuovamente di accettare dati dai proxy. Negli altri due casi il server riprenderà a funzionare normalmente, accettando dati da tutti i proxy.
Le informazioni sopra riportate possono essere illustrate nella seguente tabella:
| Utilizzo della cache di scrittura della cronologia |
Modalità del server Zabbix | Azione del server Zabbix |
|---|---|---|
| Raggiunge l'80% | Attesa | Smette di accettare dati dai proxy, ma mantiene un elenco di limitazione (elenco prioritario di proxy da contattare successivamente). |
| Raggiunge il 60% | Normale, ma pronto per essere limitato | Può rifiutare caricamenti molto grandi dai proxy (più di 10k record) quando decide se accettare i dati; continua ad accettare gli altri dati dai proxy. |
| Scende al 20% | Normale | Elimina l'elenco di limitazione e inizia ad accettare normalmente i dati dai proxy. |
Puoi usare l'item interno zabbix[wcache,history,pused] per correlare questo comportamento del server Zabbix con una metrica.
Configurazione
Una volta installato e configurato un proxy, è il momento di configurarlo nel frontend di Zabbix.
Aggiunta di proxy
Per configurare un proxy nel frontend di Zabbix:
- Andare in: Administration > Proxies
- Fare clic su Create proxy

| Parametro | Descrizione | |
|---|---|---|
| Proxy name | Inserire il nome del proxy. Deve essere lo stesso nome specificato nel parametro Hostname del file di configurazione del proxy. | |
| Proxy group | Selezionare un gruppo di proxy per il bilanciamento del carico/alta disponibilità del proxy. | |
| Address for active agents | Inserire l'indirizzo a cui devono connettersi gli agent attivi monitorati o i sender. Supportato solo per agent Zabbix 7.0 o successivi. Questo indirizzo viene utilizzato per connettersi sia ai proxy attivi che a quelli passivi. Questo campo è disponibile solo se è selezionato un gruppo di proxy nel campo Proxy group. |
|
| Address | Indirizzo IP/nome DNS a cui connettersi. | |
| Port | Numero di porta TCP (10051 per impostazione predefinita) a cui connettersi. Le macro utente sono supportate. | |
| Proxy mode | Selezionare la modalità del proxy. Active - il proxy si connetterà al server Zabbix e richiederà i dati di configurazione Passive - il server Zabbix si connette al proxy Si noti che senza comunicazioni cifrate, i dati di configurazione del proxy (sensibili) possono diventare disponibili a soggetti che hanno accesso alla porta trapper del server Zabbix quando si utilizza un proxy attivo. Ciò è possibile perché chiunque può fingersi un proxy attivo e richiedere dati di configurazione se non avviene l'autenticazione o se gli indirizzi del proxy non sono limitati nel campo Proxy address. |
|
| Proxy address | Se specificato, le richieste del proxy attivo vengono accettate solo da questo elenco di indirizzi IP separati da virgole, facoltativamente in notazione CIDR, o da nomi DNS del proxy Zabbix attivo. Questo campo è disponibile solo se nel campo Proxy mode è selezionato un proxy attivo. Le macro non sono supportate. |
|
| Interface | Inserire i dettagli dell'interfaccia per un proxy passivo. Questo campo è disponibile solo se nel campo Proxy mode è selezionato un proxy passivo. |
|
| Address | Indirizzo IP/nome DNS del proxy passivo. | |
| Port | Numero di porta TCP del proxy passivo (10051 per impostazione predefinita). Le macro utente sono supportate. | |
| Description | Inserire la descrizione del proxy. | |
La scheda Encryption consente di richiedere connessioni cifrate con il proxy.
| Parametro | Descrizione |
|---|---|
| Connections to proxy | Come il server si connette al proxy passivo: nessuna cifratura (predefinito), tramite PSK (chiave precondivisa) o certificato. |
| Connections from proxy | Selezionare quali tipi di connessione sono consentiti dal proxy attivo. È possibile selezionare contemporaneamente più tipi di connessione (utile per test e per passare a un altro tipo di connessione). Il valore predefinito è "No encryption". |
| Issuer | Emittente consentito del certificato. Il certificato viene prima convalidato con la CA (autorità di certificazione). Se è valido e firmato dalla CA, il campo Issuer può essere utilizzato per restringere ulteriormente le CA consentite. Questo campo è facoltativo ed è pensato per l'uso se l'installazione Zabbix utilizza certificati di più CA. |
| Subject | Subject consentito del certificato. Il certificato viene prima convalidato con la CA. Se è valido e firmato dalla CA, il campo Subject può essere utilizzato per consentire un solo valore della stringa Subject. Se questo campo è vuoto, viene accettato qualsiasi certificato valido firmato dalla CA configurata. |
| PSK identity | Stringa identificativa della chiave precondivisa. Non inserire informazioni sensibili nell'identità PSK, poiché viene trasmessa in chiaro sulla rete per informare il destinatario su quale PSK utilizzare. |
| PSK | Chiave precondivisa (stringa esadecimale). Lunghezza massima: 512 cifre esadecimali (PSK da 256 byte) se Zabbix utilizza la libreria GnuTLS o OpenSSL, 64 cifre esadecimali (PSK da 32 byte) se Zabbix utilizza la libreria mbed TLS (PolarSSL). Esempio: 1f87b595725ac58dd977beef14b97461a7c1045b9a1c963065002c5473194952 |
La scheda Timeouts consente di sovrascrivere i timeout globali per i tipi di item che lo supportano.

| Parametro | Descrizione |
|---|---|
| Timeouts for item types | Impostare il timeout dell'item (in base al suo tipo): Global - utilizza il timeout globale (visualizzato nel campo Timeout in grigio per ciascun tipo di item); Override - imposta un timeout personalizzato (nel campo Timeout per ciascun tipo di item). Intervallo consentito: 1 - 600s (predefinito: ereditato dai timeout globali). Sono supportati i suffissi temporali, ad esempio 30s, 1m, e le macro utente. Facendo clic sul collegamento Global timeouts è possibile configurare i timeout globali. Si noti che il collegamento Global timeouts è visibile solo agli utenti di tipo Super admin con autorizzazioni per la sezione frontend Administration > General. Si noti che, sebbene i timeout a livello di proxy sovrascrivano quelli globali, essi saranno sovrascritti dai timeout dei singoli item, se configurati. |
Se la versione major del proxy non corrisponde alla versione major del server, accanto a Timeouts for item types verrà visualizzata l'icona
, con il messaggio al passaggio del mouse "Timeouts disabled because the proxy and server versions do not match".
In tali casi, il proxy utilizzerà il parametro Timeout del file di configurazione del proxy.
Il modulo di modifica di un proxy esistente presenta i seguenti pulsanti aggiuntivi:
- Refresh configuration - aggiorna la configurazione del proxy
- Clone - crea un nuovo proxy basato sulle proprietà del proxy esistente
- Delete - elimina il proxy
Configurazione del host
È possibile specificare che un singolo host debba essere monitorato da un proxy o da un gruppo di proxy nel modulo di configurazione del host, utilizzando il campo Monitored by.

L'aggiornamento massivo dei host è un altro modo per specificare che i host debbano essere monitorati da un proxy o da un gruppo di proxy.