12 Monitoraggio remoto delle statistiche di Zabbix
Panoramica
È possibile rendere accessibili da remoto alcune metriche interne di Zabbix server e proxy da un'altra istanza di Zabbix o da uno strumento di terze parti. Questo può essere utile affinché i supporter/fornitori di servizi possano monitorare da remoto i server/proxy Zabbix dei propri clienti oppure, nelle organizzazioni in cui Zabbix non è lo strumento di monitoraggio principale, le metriche interne di Zabbix possano essere monitorate da un sistema di terze parti in una configurazione di monitoraggio centralizzato.
Le statistiche interne di Zabbix sono esposte a un insieme configurabile di indirizzi elencati nel nuovo parametro 'StatsAllowedIP' server/proxy. Le richieste saranno accettate solo da questi indirizzi.
Item
Per configurare l'interrogazione delle statistiche interne su un'altra istanza Zabbix, è possibile utilizzare due item:
- item interno
zabbix[stats,<ip>,<port>]- per interrogazioni remote dirette di Zabbix server/proxy. <ip> e <port> vengono utilizzati per identificare l'istanza di destinazione. - item agent
zabbix.stats[<ip>,<port>]- per interrogazioni remote di Zabbix server/proxy basate su agent. <ip> e <port> vengono utilizzati per identificare l'istanza di destinazione.
Vedi anche: Item interni, item Zabbix agent
Il seguente diagramma illustra l'uso di uno dei due item a seconda del contesto.

- Server
→ istanza Zabbix esterna (zabbix[stats,<ip>,<port>])
- Server →
proxy → istanza Zabbix esterna (zabbix[stats,<ip>,<port>])
- Server →
agent → istanza Zabbix esterna (zabbix.stats[<ip>,<port>])
- Server →
proxy → agent → istanza Zabbix esterna
(zabbix.stats[<ip>,<port>])
Per assicurarsi che l'istanza di destinazione consenta di essere interrogata dall'istanza esterna, elencare l'indirizzo dell'istanza esterna nel parametro 'StatsAllowedIP' sull'istanza di destinazione.
Metriche esposte
Gli item di statistiche raccolgono le statistiche in blocco e restituiscono un JSON, che costituisce la base da cui gli item dipendenti ottengono i propri dati. Le seguenti metriche interne sono restituite da uno dei due item:
zabbix[boottime]zabbix[hosts]zabbix[items]zabbix[items_unsupported]zabbix[preprocessing](solo server)zabbix[preprocessing_queue](solo server)zabbix[process,<type>,<mode>,<state>](solo statistiche basate sul tipo di processo)zabbix[rcache,<cache>,<mode>]zabbix[requiredperformance]zabbix[triggers](solo server)zabbix[uptime]zabbix[vcache,buffer,<mode>](solo server)zabbix[vcache,cache,<parameter>]zabbix[version]zabbix[vmware,buffer,<mode>]zabbix[wcache,<cache>,<mode>](tipo di cache 'trends' solo server)
Template
Le template sono disponibili per il monitoraggio remoto delle metriche interne di Zabbix server o proxy da un'istanza esterna:
- Stato di salute remoto di Zabbix server
- Stato di salute remoto di Zabbix proxy
Si noti che, per utilizzare un template per il monitoraggio remoto di più istanze esterne, è richiesto un host separato per il monitoraggio di ciascuna istanza esterna.
Processo trapper
La ricezione delle richieste di metriche interne da un'istanza Zabbix esterna è gestita dal processo trapper, che convalida la richiesta, raccoglie le metriche, crea il buffer di dati JSON e invia il JSON preparato di ritorno, ad esempio, dal server:
{
"response": "success",
"data": {
"boottime": N,
"uptime": N,
"hosts": N,
"items": N,
"items_unsupported": N,
"preprocessing": {
"queued": {
"count": N,
"size": N
},
"direct": {
"count": N,
"size": N
},
"queue": N
},
"preprocessing_queue": N,
"process": {
"alert manager": {
"busy": {
"avg": N,
"max": N,
"min": N
},
"idle": {
"avg": N,
"max": N,
"min": N
},
"count": N
},
...
},
"queue": N,
"rcache": {
"total": N,
"free": N,
"pfree": N,
"used": N,
"pused": N
},
"requiredperformance": N,
"triggers": N,
"uptime": N,
"vcache": {
"buffer": {
"total": N,
"free": N,
"pfree": N,
"used": N,
"pused": N
},
"cache": {
"requests": N,
"hits": N,
"misses": N,
"mode": N
}
},
"vmware": {
"total": N,
"free": N,
"pfree": N,
"used": N,
"pused": N
},
"version": "N",
"wcache": {
"values": {
"all": N,
"float": N,
"uint": N,
"str": N,
"log": N,
"text": N,
"not supported": N
},
"history": {
"pfree": N,
"free": N,
"total": N,
"used": N,
"pused": N
},
"index": {
"pfree": N,
"free": N,
"total": N,
"used": N,
"pused": N
},
"trend": {
"pfree": N,
"free": N,
"total": N,
"used": N,
"pused": N
}
}
}
}
Item di coda interni
Esistono anche altri due item che consentono specificamente di interrogare da remoto le statistiche della coda interna su un'altra istanza di Zabbix:
- item interno
zabbix[stats,<ip>,<port>,queue,<from>,<to>]- per interrogazioni dirette della coda interna verso un server/proxy Zabbix remoto - item agent
zabbix.stats[<ip>,<port>,queue,<from>,<to>]- per interrogazioni della coda interna basate su agent verso un server/proxy Zabbix remoto
Vedi anche: Item interni, item Zabbix agent