12 Surveillance à distance des statistiques de Zabbix
Aperçu
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.
Eléments
Pour configurer l'interrogation des statistiques internes sur une autre instance Zabbix, vous pouvez utiliser deux éléments :
- L'élément interne
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. - L'élément agent
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.

- Serveur → instance Zabbix externe (zabbix[stats,<ip>,<port>])
- Serveur → proxy → instance Zabbix externe (zabbix[stats,<ip>,<port>])
- Serveur → agent → instance Zabbix externe (zabbix.stats[<ip>,<port>])
- Serveur → proxy → agent → instance Zabbix externe (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.
Métriques exposées
Les éléments de statistiques collectent les statistiques en bloc et renvoient un JSON, qui sert de base aux éléments dépendants pour obtenir leurs données. Les 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](serveur uniquement)zabbix[preprocessing_queue](serveur uniquement)zabbix[process,<type>,<mode>,<state>](statistiques basées uniquement 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 de cache « trends » sur le serveur uniquement)
Modèles
Des modèles sont disponibles pour la surveillance à distance des métriques internes du serveur Zabbix ou du proxy depuis une instance externe :
- État du serveur Zabbix distant
- État du proxy Zabbix distant
Notez que pour utiliser un modèle pour la surveillance à distance de plusieurs instances externes, un hôte distinct est requis pour la surveillance de chaque instance externe.
Processus trapper
La réception des requêtes de métriques internes provenant d'une instance Zabbix externe est gérée par le processus trapper, qui valide la requête, collecte 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": {
"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
}
}
}
}
Éléments de la file d'attente interne
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 :
- Elément interne
zabbix[stats,<ip>,<port>,queue,<from>,<to>]- pour les requêtes de file d'attente internes directes vers le serveur/proxy Zabbix distant - Elément agent
zabbix.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 distant
Voir également : Eléments internes, éléments agent Zabbix