13 Zabbix 统计数据的远程监控

概述

可以通过远程方式让另一个Zabbix实例或第三方工具访问Zabbix server和proxy的部分内部指标。这一功能非常实用,既能让技术支持人员/服务提供商远程监控其客户的Zabbix servers/proxies,也能在那些将Zabbix作为非主监控工具的组织中,让第三方系统通过伞式监控架构来监控Zabbix的内部指标。

Zabbix内部统计信息会暴露给配置在新增参数'StatsAllowedIP'server/proxy中指定的地址列表。系统仅会接受来自这些地址的请求。

监控项

要配置对另一个Zabbix实例内部统计数据的查询,您可以使用两种监控项:

  • zabbix[stats,<ip>,<port>] 内部监控项 - 用于直接远程queries Zabbix server/proxy。<ip>和<port>用于标识目标实例。
  • zabbix.stats[<ip>,<port>] agent 监控项 - 用于基于agent的远程queries Zabbix server/proxy。<ip>和<port>用于标识目标实例。

另请参阅:Internal itemsZabbix agent items

下图展示了根据上下文使用不同监控项的情况。

  • - 服务器 → 外部Zabbix实例(zabbix[stats,<ip>,<port>]
  • - 服务器 → proxy → 外部Zabbix实例(zabbix[stats,<ip>,<port>]
  • - 服务器 → agent → 外部Zabbix实例(zabbix.stats[<ip>,<port>]
  • - 服务器 → proxy → agent → 外部Zabbix实例(zabbix.stats[<ip>,<port>]

为确保目标实例允许外部实例查询,需在目标实例的'StatsAllowedIP'参数中列出外部实例的地址。

暴露的指标

统计监控项批量收集统计数据并以JSON格式返回,这是依赖监控项获取数据的基础。以下internal metrics可通过两种监控项中的任意一种返回:

  • zabbix[boottime]
  • zabbix[hosts]
  • zabbix[items]
  • zabbix[items_unsupported]
  • zabbix[preprocessing_queue](仅服务器端)
  • zabbix[process,<type>,<mode>,<state>](仅基于进程类型的统计)
  • zabbix[rcache,<cache>,<mode>]
  • zabbix[requiredperformance]
  • zabbix[triggers](仅服务器端)
  • zabbix[uptime]
  • zabbix[vcache,buffer,<mode>](仅服务器端)
  • zabbix[vcache,cache,<parameter>]
  • zabbix[version]
  • zabbix[vmware,buffer,<mode>]
  • zabbix[wcache,<cache>,<mode>](仅'trends'缓存类型服务器)

模板

提供以下模板用于从外部实例远程监控Zabbix server或proxy的内部指标:

  • 远程Zabbix server健康状态
  • 远程Zabbix proxy健康状态

请注意,若要对多个外部实例进行远程监控,每个被监控的外部实例都需要单独的主机。

Trapper进程

接收来自外部Zabbix实例的内部指标请求由trapper进程处理,该进程会验证请求、收集指标、创建JSON数据缓冲区并发送准备好的JSON响应,例如从服务器返回的以下数据:

{
         "response": "success",
         "data": {
           "boottime": N,
           "uptime": N,
           "主机": N,
           "监控项": 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
             }
           }
         }
       }

内部队列 监控项

还有另外两个监控项专门允许远程query另一个Zabbix实例的内部队列统计信息:

  • zabbix[stats,<ip>,<port>,queue,<from>,<to>] 内部监控项 - 用于直接向远程Zabbix server/proxy发送内部队列queries
  • zabbix.stats[<ip>,<port>,queue,<from>,<to>] agent 监控项 - 用于基于agent的内部队列queries发送至远程Zabbix server/proxy

另请参阅:Internal itemsZabbix agent items