Il est possible de rendre quelques métriques internes du serveur et du proxy Zabbix accessibles à distance par une autre instance Zabbix ou un outil tiers. Cela peut être utile pour que les services de supports ou de fournisseurs puissent surveiller les serveurs/proxy Zabbix à distance ou, dans les organisations où Zabbix n'est pas le principal outil de surveillance, pour que les métriques internes de Zabbix puissent être surveillées par un système tiers dans une configuration de surveillance parapluie.
Les statistiques internes de Zabbix sont exposées à un ensemble configurable d'adresses listé dans le nouveau paramètre serveur/proxy 'StatsAllowedIP'. Les demandes seront acceptées uniquement à partir de ces adresses.
Pour configurer l'interrogation des statistiques internes sur une autre instance Zabbix, vous pouvez utiliser deux éléments :
zabbix[stats,<ip>,<port>]
- pour des requêtes directes à distance du serveur/proxy Zabbix. <ip> et <port> sont utilisés pour identifier l'instance cible.zabbix.stats[<ip>,<port>]
- pour des requêtes basées sur l'agent du serveur/proxy Zabbix. <ip> et <port> sont utilisés pour identifier l'instance cible.Voir aussi : Éléments internes, Éléments agent Zabbix
Le schéma suivant illustre l'utilisation de l'un ou l'autre élément en fonction du contexte.
zabbix[stats,<ip>,<port>]
)zabbix[stats,<ip>,<port>]
)zabbix.stats[<ip>,<port>]
)zabbix.stats[<ip>,<port>]
)Pour vous assurer que l'instance cible permet de l'interroger par l'instance externe, indiquez l'adresse de l'instance externe dans le paramètre 'StatsAllowedIP' sur l'instance cible.
Les éléments de statistiques rassemblent les statistiques en bloc et renvoient un JSON, qui est la base des éléments dépendants pour obtenir leurs données. Mes métriques internes suivantes sont renvoyées par l'un ou l'autre des deux éléments :
zabbix[boottime]
zabbix[hosts]
zabbix[items]
zabbix[items_unsupported]
zabbix[preprocessing_queue]
(serveur uniquement)zabbix[process,<type>,<mode>,<state>]
(uniquement pour les statistiques basé sur le type de processus)zabbix[rcache,<cache>,<mode>]
zabbix[requiredperformance]
zabbix[triggers]
(serveur uniquement)zabbix[uptime]
zabbix[vcache,buffer,<mode>]
(serveur uniquement)zabbix[vcache,cache,<parameter>]
zabbix[version]
zabbix[vmware,buffer,<mode>]
zabbix[wcache,<cache>,<mode>]
(type cache 'trends' sur le serveur uniquement)Des modèles sont disponibles pour la surveillance à distance des métriques internes du serveur Zabbix ou du proxy à partir d'une instance externe :
Notez que pour utiliser un modèle pour la surveillance à distance de plusieurs instances externes, un hôte distinct est requis pour chaque surveillance d'instance externe.
La réception de demandes de métriques internes à partir d'une instance externe de Zabbix est gérée par le processus Trapper qui valide la requête, rassemble les métriques, crée le tampon de données JSON et renvoie le JSON préparé, par exemple, depuis le serveur :
{
"response": "success",
"data": {
"boottime": N,
"uptime": N,
"hosts": N,
"items": N,
"items_unsupported": 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
}
}
}
}
Il existe également deux autres éléments permettant spécifiquement d'interroger à distance les statistiques de la file d'attente interne sur une autre instance Zabbix :
zabbix[stats,<ip>,<port>,queue,<from>,<to>]
- pour les requêtes de file d'attente internes directes vers le serveur/proxy Zabbix distantzabbix.stats[<ip>,<port>,queue,<from>,<to>]
- pour les requêtes de file d'attente interne basées sur l'agent vers le serveur/proxy Zabbix distantVoir également : Eléments internes, éléments agent Zabbix