#13 Controle op afstand van Zabbix-statistieken

Overzicht

Het is mogelijk om enkele interne statistieken van Zabbix-server en -proxy extern toegankelijk te maken voor een andere Zabbix-instantie of een externe tool van derden. Dit kan handig zijn zodat ondersteuners/serviceproviders hun client Zabbix-servers/proxies op afstand kunnen bewaken, of in organisaties waar Zabbix niet de belangrijkste bewakingstool is, kunnen Zabbix interne statistieken worden bewaakt door een systeem van derden in een overkoepelende bewakingsopstelling.

Zabbix interne statistieken worden blootgesteld aan een configureerbare reeks adressen die vermeld staan in de nieuwe 'StatsAllowedIP' server/proxy parameter. Aanvragen worden alleen geaccepteerd vanaf deze adressen.

Artikelen

Om het opvragen van interne statistieken op een andere Zabbix-instantie te configureren, moet u: kan twee items gebruiken:

  • zabbix[stats,<ip>,<port>] intern item - voor direct remote vragen van Zabbix-server/proxy. <ip> en <port> worden gebruikt om de doelinstantie te identificeren.
  • zabbix.stats[<ip>,<port>] agent item - voor op agenten gebaseerde remote vragen van Zabbix-server/proxy. <ip> en <port> worden gebruikt om de doelinstantie te identificeren.

Zie ook: Interne items, Zabbix-agentitems

Het volgende diagram illustreert het gebruik van beide items, afhankelijk van: de context.

  • - Server → externe Zabbix-instantie (zabbix[stats,<ip>,<port>])
  • - Server → proxy → externe Zabbix-instantie (zabbix[stats,<ip>,<port>])
  • - Server → agent → externe Zabbix-instantie (zabbix.stats[<ip>,<port>])
  • - Server → proxy → agent → externe Zabbix-instantie (zabbix.stats[<ip>,<poort>])

Om ervoor te zorgen dat de doelinstantie het door de externe instantie kan opvragen bijvoorbeeld, vermeld het adres van de externe instantie in de 'StatsAllowedIP'-parameter op de doelinstantie.

Blootgestelde statistieken

De stats-items verzamelen de statistieken in bulk en retourneren een JSON, die is de basis voor afhankelijke items om hun gegevens uit te halen. Het volgende interne metrieken worden geretourneerd door een van de twee items:

  • zabbix[opstarttijd]
  • zabbix[hosts]
  • zabbix[items]
  • zabbix[items_unsupported]
  • zabbix[preprocessing_queue] (alleen server)
  • zabbix[proces,<type>,<mode>,<status>] (alleen gebaseerd op procestype) statistieken)
  • zabbix[rcache,<cache>,<mode>]
  • zabbix[vereiste prestatie]
  • zabbix[triggers] (alleen server)
  • zabbix[uptime]
  • zabbix[vcache,buffer,<mode>] (alleen server)
  • zabbix[vcache,cache,<parameter>]
  • zabbix[versie]
  • zabbix[vmware,buffer,<modus>]
  • zabbix[wcache,<cache>,<mode>] (alleen server van het cachetype 'trends')

Sjablonen

Sjablonen zijn beschikbaar voor remote monitoring van de Zabbix-server of proxy interne metrische gegevens van een externe instantie:

  • Externe Zabbix-server
  • Externe Zabbix-proxy

Merk op dat om een sjabloon te gebruiken voor bewaking op afstand van meerdere externe instanties, is een aparte host vereist voor elke externe bijvoorbeeld monitoring.

Trapper-proces

Het ontvangen van interne metrische verzoeken van een externe Zabbix-instantie is: behandeld door het trapper-proces dat het verzoek valideert, verzamelt de metrics, maakt de JSON-gegevensbuffer en stuurt de voorbereide JSON terug, bijvoorbeeld van server:

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

Interne wachtrij-items

Er zijn ook nog twee andere items die specifiek toelaten om op afstand te zoeken interne wachtrijstatistieken op een andere Zabbix-instantie:

  • zabbix[stats,<ip>,<port>,queue,<from>,<to>] intern item - voor directe interne wachtrijquery's naar Zabbix-server/proxy op afstand
  • zabbix.stats[<ip>,<port>,queue,<from>,<to>] agentitem - voor op agenten gebaseerde interne wachtrijquery's naar Zabbix-server/proxy op afstand

Zie ook: Interne items, Zabbix-agentitems