À partir de Zabbix 4.0.5, il est possible de rendre certaines métriques internes du serveur Zabbix et des proxies accessibles à distance par une autre instance de Zabbix ou un outil tiers. Cela peut être utile pour que les fournisseurs de services ou de supports puissent surveiller à distance leurs clients sur les serveurs et proxies Zabbix ou, dans les organisations où Zabbix n'est pas l'outil de surveillance principal, 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 répertoriées dans le nouveau paramètre de serveur ou de proxy 'StatsAllowedIP'. Les demandes ne seront acceptées qu'à partir de ces adresses.
Pour configurer l'interrogation des statistiques internes sur une autre instance de Zabbix, vous pouvez utiliser deux nouveaux éléments :
zabbix[stats,<ip>,<port>]
vérification interne - pour les requêtes directes à distance du serveur / proxy Zabbix. <ip> et <port> sont utilisés pour identifier l'instance cible.zabbix.stats[<ip>,<port>]
élément agent - pour les requêtes distantes de serveur / proxy Zabbix basées sur un agent. <ip> et <port> sont utilisés pour identifier l'instance cible.Voir également : Vérifications Internes, Éléments d'agent Zabbix
Le diagramme ci-dessous 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 autorise l'interrogation par l'instance externe, indiquez l'adresse de l'instance externe dans le paramètre 'StatsAllowedIP' de l'instance cible.
Les éléments de statistiques rassemblent les statistiques en bloc et renvoient un JSON, qui constitue la base des éléments dépendants à partir desquels leurs données sont extraites. Les métriques internes suivantes sont renvoyées par l'un des deux éléments :
zabbix[boottime]
zabbix[hosts]
zabbix[items]
zabbix[items_unsupported]
zabbix[preprocessing_queue]
(serveur uniquement)zabbix[process,<type>,<mode>,<state>]
(seulement statistiques basées 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[vmware,buffer,<mode>]
zabbix[wcache,<cache>,<mode>]
(type de cache 'trends' sur 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 des demandes de métriques internes d'une instance Zabbix externe est gérée par le processus de récupération qui valide la demande, 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,
"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
},
"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 de Zabbix :
zabbix[stats,<ip>,<port>,queue,<from>,<to>]
vérification interne - pour les requêtes de file d'attente interne directes vers le serveur / proxy Zabbix distantzabbix.stats[<ip>,<port>,queue,<from>,<to>]
élément agent - pour les requêtes de file d'attente interne basées sur un agent d'un serveur / proxy Zabbix distantVoir également : Vérifications Internes, Éléments d'agent Zabbix