13 Surveillance à distance des statistiques 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 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)

Modèles

Des modèles sont disponibles pour la surveillance à distance des métriques internes du serveur Zabbix ou du proxy à partir d'une instance externe :

  • Remote Zabbix server
  • Remote Zabbix proxy

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.

Processus Trapper

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
             }
           }
         }
       }

É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