12 远程监控 Zabbix 状态

概述

可以制定 Zabbix server 和 proxy 的一些内部指标,可以通过另一个 Zabbix 实例或第三方工具访问。这可能很有用,以便支持者/服务提供者可以远程监控他们的客户端 Zabbix server/proxy,或者在组织中 Zabbix 不是主要的监控工具,Zabbix 内部指标可以在伞式监控设置中由第三方系统监控。

Zabbix 内部统计数据暴露给新的 'StatsAllowedIP' server/proxy 参数中列出的一组可配置地址。仅接受来自这些地址的请求。

监控项

要在另一个 Zabbix 实例上配置内部统计信息的查询,可以使用两项:

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

另请参见:内部监控项Zabbix agent 监控项

下图根据上下文说明了这两个项的用法。

  • - Server → external Zabbix instance (zabbix[stats,<ip>,<port>])
  • - Server → proxy → external Zabbix instance (zabbix[stats,<ip>,<port>])
  • - Server → agent → external Zabbix instance (zabbix.stats[<ip>,<port>])
  • - Server → proxy → agent → external Zabbix instance (zabbix.stats[<ip>,<port>])

要确保目标实例允许外部实例查询它,请在目标实例的"StatsAllowedIP"参数中列出外部实例的地址。

暴露的指标

统计数据 监控项 批量收集统计信息并返回JSON,这是依赖的 监控项 获取数据的基础。以下 internal metrics 由两个 监控项 中的任何一个返回:

  • zabbix[boottime]
  • zabbix[hosts]
  • zabbix[items]
  • zabbix[items_unsupported]
  • zabbix[preprocessing](仅服务器)
  • 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 内部指标的模板:

  • Remote Zabbix server health
  • Remote Zabbix proxy health

请注意,为了使用模板远程监视多个外部实例,每个外部实例监视都需要一个单独的主机。

陷阱进程

从外部Zabbix实例接收内部指标请求由陷阱进程处理,该进程验证请求,收集指标,创建JSON数据缓冲区,并将准备好的JSON发送回,例如,从服务器:

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

内部队列监控项

另外还有两个监控项可以远程查询另一个 Zabbix 实例上的内部队列统计信息:

  • zabbix[stats,<ip>,<port>,queue,<from>,<to>] 内部监控项 - 用于将内部队列查询直接发送到 Zabbix server/proxy
  • zabbix.stats[<ip>,<port>,queue,<from>,<to>] Agent 监控项 - 用于将内部队列查询直接发送到 Zabbix server/proxy

参考: 内部监控项Zabbix agent 监控项