[comment]: # ({ac919db9-ac919db9})
# 13 Zabbix 统计数据的远程监控

[comment]: # ({/ac919db9-ac919db9})

[comment]: # ({a3738f47-22debe41})
#### 概述

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

Zabbix内部统计信息会暴露给配置在新增'StatsAllowedIP'参数[server](/manual/appendix/config/zabbix_server)/[proxy](/manual/appendix/config/zabbix_proxy)中的地址列表.系统仅会接受来自这些地址的请求.

[comment]: # ({/a3738f47-22debe41})

[comment]: # ({a506f2e2-a506f2e2})
#### 监控项

要配置对另一个Zabbix实例的内部统计信息查询，  
您可以使用两种监控项：

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

    queries of Zabbix server/proxy. <ip> and <port> are used
    to identify the target instance.

另请参阅：[Internal items](/manual/config/items/itemtypes/internal)，  
[Zabbix agent items](/manual/config/items/itemtypes/zabbix_agent)

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

![](../../../../assets/en/manual/appendix/items/ext_stats.png)

- ![](../../../../assets/en/manual/appendix/items/green.png) - 服务器  
  → 外部Zabbix实例(`zabbix[stats,<ip>,<port>]`)  
- ![](../../../../assets/en/manual/appendix/items/pink.png) - 服务器 →  
  proxy → 外部Zabbix实例(`zabbix[stats,<ip>,<port>]`)  
- ![](../../../../assets/en/manual/appendix/items/blue.png) - 服务器 →  
  agent → 外部Zabbix实例(`zabbix.stats[<ip>,<port>]`)  
- ![](../../../../assets/en/manual/appendix/items/red.png) - 服务器 →  

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

`zabbix.stats[<ip>,<port>]`)

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

[comment]: # ({/a506f2e2-a506f2e2})

[comment]: # ({ae65d17e-ae65d17e})
#### 暴露的指标

统计监控项批量收集统计数据并返回JSON格式结果，这是依赖监控项从中get数据的基础。以下[internal metrics](/manual/config/items/itemtypes/internal)由两种监控项中的任意一种返回：

-   `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'缓存类型的服务器)

[comment]: # ({/ae65d17e-ae65d17e})

[comment]: # ({ecffb955-33cbf401})
#### 模板

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

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

请注意，要使用模板监控多个外部实例，每个外部实例监控都需要单独的主机。

[comment]: # ({/ecffb955-33cbf401})

[comment]: # ({89428848-89428848})
#### Trapper进程

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

```{.java}
{
  "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
      }
    }
  }
}
```

[comment]: # ({/89428848-89428848})

[comment]: # ({c668697f-c668697f})
#### 内部队列 监控项

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

- `zabbix[stats,<ip>,<port>,queue,<from>,<to>]` 内部监控项 - 用于
  直接内部队列queries到远程Zabbix server/proxy
- `zabbix.stats[<ip>,<port>,queue,<from>,<to>]` agent 监控项 - 用于

    agent-based internal queue queries to remote Zabbix server/proxy

另请参阅: [Internal items](/manual/config/items/itemtypes/internal),
[Zabbix agent items](/manual/config/items/itemtypes/zabbix_agent)

[comment]: # ({/c668697f-c668697f})
