2 Bilanciamento del carico e alta disponibilità del proxy
Panoramica
I proxy Zabbix possono essere organizzati in gruppi di proxy per abilitare il bilanciamento del carico dei proxy e l'alta disponibilità.
Il bilanciamento del carico dei proxy e l'alta disponibilità consistono nella ridistribuzione automatica degli host tra i proxy all'interno di un gruppo di proxy:
- Se un proxy va offline, i suoi host verranno spostati su altri proxy, mantenendo così un'elevata disponibilità dei proxy.
- Se un proxy ha un numero di host molto più alto/più basso rispetto ad altri proxy, i suoi host verranno spostati su altri proxy per bilanciare il carico dei proxy.
La ridistribuzione degli host funziona solo tra i proxy in un gruppo che soddisfano le seguenti condizioni:
- I proxy eseguono Zabbix 7.0 o versioni successive.
- La versione del proxy corrisponde alla versione di Zabbix server. Se si utilizza Zabbix agent (passivo), la versione del proxy deve corrispondere alla versione dell'agent. Gli agent attivi richiedono solo Zabbix 7.0 o versioni successive.
- Il gruppo di proxy ha uno stato online.
- Gli host sono configurati per essere monitorati da un gruppo di proxy anziché da singoli proxy.
Lo stato di salute del gruppo di proxy può essere monitorato con controlli interni da qualsiasi host assegnato a un gruppo di proxy. Tuttavia, per monitorare lo stato di salute di un singolo proxy in un gruppo, assegnare l'host a quel proxy; in caso contrario, i risultati potrebbero essere incoerenti.
Ridistribuzione degli host
Il bilanciamento del carico dei proxy e l'alta disponibilità sono gestiti da Zabbix server tramite il proxy group manager, che monitora continuamente lo stato di tutti i proxy in ciascun gruppo di proxy e la distribuzione dei loro host.
L'alta disponibilità dei proxy all'interno di un gruppo è garantita tramite il failover dei proxy: quando un proxy va offline, i suoi host vengono immediatamente ridistribuiti ad altri proxy.
Si verifica anche il bilanciamento del carico dei proxy, poiché gli host vengono riassegnati ai proxy con il minor numero di host assegnati.
Inoltre, il bilanciamento del carico dei proxy viene attivato quando il numero di host di un proxy differisce dalla media del gruppo di almeno 10 host e di un fattore 2 (eccesso o deficit di host).
Se lo squilibrio persiste dopo un periodo di tolleranza (10 x failover delay), il gruppo di proxy viene messo in coda per la ridistribuzione degli host.
Il proxy group manager ridistribuisce gli host utilizzando la seguente logica:
- Calcolare il numero medio di host per proxy.
- Per i proxy con un eccesso di host, spostare gli host in eccesso nel pool non assegnato dei proxy.
- Per i proxy con un deficit di host, calcolare quanti host sono necessari per raggiungere l'equilibrio.
- Rimuovere il numero richiesto di host dai proxy con il maggior numero di host.
- Spostare gli host non assegnati ai proxy con il minor numero di host.
Esempi di ridistribuzione degli host:
| Host sul proxy | Media del gruppo | Riassegnazione degli host |
|---|---|---|
| 100 | 50 | Sì |
| 60 | 50 | No |
| 40 | 50 | No |
| 25 | 50 | Sì |
| 15 | 5 | Sì |
| 10 | 5 | No |
Avere meno di 10 host monitorati da un gruppo di proxy può portare a una distribuzione non uniforme degli host tra i proxy del gruppo.
Configurazione di un gruppo di proxy
Per configurare un gruppo di proxy nel frontend di Zabbix:
- Vai a Amministrazione > Gruppi di proxy
- Fai clic su Crea gruppo di proxy

| Parametro | Descrizione |
|---|---|
| Nome | Nome del gruppo di proxy. |
| Periodo di failover | Periodo in secondi durante il quale un proxy nel gruppo di proxy deve comunicare con Zabbix server per essere considerato online (predefinito: 1m; intervallo: 10s–15m). Se il proxy non comunica entro questo periodo, il suo stato viene cambiato in Offline e i suoi host vengono immediatamente ridistribuiti ad altri proxy. Il bilanciamento del carico del proxy inizia dopo 10 volte questo periodo. Supporta suffissi temporali (ad esempio, 30s, 1m) e macro utente. |
| Numero minimo di proxy | Numero minimo di proxy online richiesti per mantenere il gruppo di proxy online (predefinito: 1; intervallo: 1–1000). Supporta macro utente. Questo valore deve essere inferiore al numero totale di proxy nel gruppo. Ad esempio, in un gruppo di 10 proxy, impostare il minimo a 10 farà sì che il gruppo vada offline se un qualsiasi proxy si guasta. Nota che i proxy online in un gruppo offline continuano a funzionare normalmente, ma il bilanciamento del carico/l'alta disponibilità non avranno luogo. |
| Descrizione | Descrizione del gruppo di proxy. |
| Proxy | Visualizza un elenco di massimo cinque proxy (come link o come testo semplice, a seconda dei permessi dell'utente sui proxy) durante la modifica di un gruppo con proxy. |
Configurazione del bilanciamento del carico del proxy
Per utilizzare il bilanciamento del carico del proxy, è necessario configurare un gruppo di proxy nel frontend di Zabbix (vedi sopra) e assicurarsi che gli host siano monitorati da un gruppo di proxy, non da singoli proxy (è possibile usare l'aggiornamento di massa degli host per spostare gli host dai proxy al gruppo di proxy).
Se si utilizza Zabbix agent, configurarlo inoltre come segue:
- Per i controlli passivi, elencare tutti i proxy del gruppo di proxy nel parametro Server.
- Per i controlli attivi, si consiglia di elencare tutti i proxy del gruppo di proxy oppure Zabbix server nel parametro ServerActive. Si noti che solo Zabbix agent 7.0 (o versioni successive) funzionerà con i gruppi di proxy in modalità attiva.
Se il parametro ServerActive include un solo proxy di un gruppo di proxy (oppure Zabbix server), l'agent sarà comunque in grado di connettersi al proxy corretto.
Quando il servizio agent si avvia e si connette al proxy specificato, l'agent riceverà e memorizzerà nella cache l'elenco completo degli IP dei proxy e il loro carico corrente all'interno del gruppo.
Successivamente, i controlli attivi verranno reindirizzati al proxy online corretto per l'host, in base all'assegnazione corrente host-proxy all'interno del gruppo di proxy.
Avere un solo proxy specificato nel parametro ServerActive di Zabbix agent può causare la perdita di dati di monitoraggio se l'agent viene avviato/riavviato mentre il proxy specificato è offline.
Quando si utilizza Zabbix sender, anche le richieste di dati vengono reindirizzate al proxy online corretto per l'host, in base all'assegnazione corrente host-proxy all'interno del gruppo di proxy.
Tuttavia, se si stanno inviando valori di più host da un file di input, utilizzare l'opzione -g per evitare di inviare dati al proxy sbagliato.
Zabbix agent deve inoltre essere in grado di connettersi a tutti i proxy del gruppo di proxy attraverso il firewall. In caso contrario, i controlli attivi potrebbero bloccarsi o non riuscire durante il reindirizzamento o il failover. Ad esempio:
- Durante i controlli attivi, un proxy può reindirizzare l'agent a un altro proxy. Se quel proxy è bloccato da un firewall, la comunicazione si bloccherà in attesa di una risposta.
- In configurazioni stabili ad alta disponibilità senza un recente ribilanciamento, gli agent potrebbero non contattare mai i proxy di backup. Se le regole del firewall sono cambiate e non sono state testate, il failover potrebbe non riuscire.
Test del bilanciamento del carico del proxy
Per testare il bilanciamento del carico del proxy:
- Configurare un gruppo di proxy.
- Assicurarsi che il gruppo di proxy abbia uno stato online.
- Assicurarsi che gli host siano monitorati da un gruppo di proxy, non da singoli proxy (è possibile usare l'aggiornamento di massa degli host per spostare gli host dai proxy al gruppo di proxy).
- Attendere alcuni secondi per l'aggiornamento della configurazione e la distribuzione degli host tra i proxy nel gruppo di proxy. Osservare la modifica aggiornando l'elenco degli host in Administration > Proxies.
Note importanti
- Le trap SNMP non sono supportate dai proxy in un gruppo di proxy.
- I controlli che dipendono da una configurazione esterna (ad esempio, script per i controlli esterni o configurazione ODBC per i controlli del database) devono avere la stessa configurazione su tutti i proxy nel gruppo di proxy.
- I controlli del database richiedono permessi estesi sull'oggetto database/server.
- Gli host monitorati da un gruppo di proxy verranno distribuiti casualmente tra i proxy del gruppo. Ciò fa sì che ogni proxy memorizzi nella cache tutti i dati VMware, con conseguente carico aggiuntivo su vCenter.
- Gli host creati in base ai dati di autoregistrazione da un proxy in un gruppo di proxy vengono impostati per essere monitorati da quel gruppo di proxy. Tuttavia, gli host creati in base ai dati di individuazione della rete da un proxy in un gruppo di proxy vengono impostati per essere monitorati da quel proxy.