8 项内部检查

概述

内部检查允许监控 Zabbix 的内部进程。换句话说, 你可以监控 Zabbix server 或 Zabbix proxy 的运行情况。

内部检查的执行方式如下:

  • 在 Zabbix server 上 — 如果 主机 由服务器监控
  • 在 Zabbix proxy 上 — 如果 主机 由 proxy 监控

无论 主机 的维护状态如何,内部检查均由 server 或 proxy 处理。

要使用此 监控项,请选择 Zabbix 内部 监控项 类型。

内部检查由 Zabbix 轮询器处理。

性能

使用某些内部 监控项 可能会对性能产生负面影响。这些 监控项 包括:

  • zabbix[host,,items]
  • zabbix[host,,items_unsupported]
  • zabbix[hosts]
  • zabbix[items]
  • zabbix[items_unsupported]
  • zabbix[queue,,]
  • zabbix[requiredperformance]
  • zabbix[stats,,,queue,,]
  • zabbix[triggers]

System informationQueue 前端部分也会受到影响。

支持的检查

监控项键值监控项列示时不包含可自定义参数和附加信息。点击监控项键值以查看完整详情。

监控项 键值 描述
zabbix[boottime] Zabbix server 或 Zabbix proxy 进程的启动时间,单位为秒。
zabbix[cluster,discovery,nodes] 发现 high availability cluster 节点。
zabbix[connector_queue] 连接器队列中入队值的数量。
zabbix[discovery_queue] 发现队列中已排队的网络检查数量。
zabbix[host,,items] 在 主机 上启用的 监控项(受支持和不受支持的)数量。
zabbix[host,,items_unsupported] 在 主机 上启用的不受支持的 监控项 数量。
zabbix[host,,maintenance] 主机 的当前维护状态。
zabbix[host,active_agent,available] 在 主机 上主动 agent 检查的可用性。
zabbix[host,discovery,interfaces] Zabbix前端中主机的所有已配置接口的详细信息。
zabbix[host,,available] 特定类型检查的主界面在 主机 上的可用性。
zabbix[hosts] 受监控的主机数量。
zabbix[items] 启用的 监控项 数量(支持的和不支持的)。
zabbix[items_unsupported] 不支持的 监控项 数量。
zabbix[java,,] 有关 Zabbix Java 网关的信息。
zabbix[lld_queue] 低级别自动发现处理队列中排队值的数量。
zabbix[preprocessing] 预处理管理器接收到的值的统计信息。
zabbix[preprocessing_queue] 预处理队列中入队值的数量。
zabbix[process,,,] 特定 Zabbix 进程或进程组(由 <type> 和 <mode> 标识)在 <state> 中花费的时间百分比。
zabbix[proxy,,] 关于Zabbix proxy的信息。
zabbix[proxy,discovery] Zabbix proxies 列表。
zabbix[proxy group,,available] proxy 组中的在线proxies数量。
zabbix[proxy group,,pavailable] 一个 proxy 组 中在线 proxies 的百分比。
zabbix[proxy group,,proxies] proxy 组 中的 Zabbix proxies 列表。
zabbix[proxy group,,state] 一个proxy 组的状态。
zabbix[proxy group,discovery] 返回包含配置数据和实时数据的proxy 组列表。
zabbix[proxy_buffer,buffer,] 返回 proxy memory 缓冲区使用情况统计信息。
zabbix[proxy_buffer,state,changes] 返回自启动以来在磁盘/memory缓冲模式之间状态更改的次数。
zabbix[proxy_buffer,state,current] 返回当前存储新数据的工作状态。
zabbix[proxy_history] 等待发送到服务器的proxy历史表中的值的数量。
zabbix[queue,,] 队列中被监控的监控项数量,其延迟至少为<from>秒,但小于<to>秒。
zabbix[rcache,,] Zabbix configuration cache 的可用性统计信息。
zabbix[requiredperformance] 每秒预期新增值的Zabbix server或Zabbix proxy所需性能。
zabbix[stats,,] 远程 Zabbix server 或 proxy 的内部指标。
zabbix[stats,,,queue,,] 远程 Zabbix server 或 proxy 的内部队列指标。
zabbix[tcache,,] Zabbix 趋势函数缓存的有效性统计。
zabbix[triggers] Zabbix数据库中启用的触发器数量,包含所有在启用的主机上启用的监控项。
zabbix[uptime] Zabbix server 或 proxy 进程的正常运行时间(以秒为单位)。
zabbix[vcache,buffer,] Zabbix value cache 的可用性统计信息。
zabbix[vcache,cache,] Zabbix value cache 的有效性统计。
zabbix[version] version 的 Zabbix server 或 proxy。
zabbix[vmware,buffer,] Zabbix vmware cache 的可用性统计信息。
zabbix[vps,written] 写入数据库的历史值总数。
zabbix[wcache,,] Zabbix 写入缓存的统计信息和可用性。

{HEADER_29453548}

  • 不使用尖括号的参数是必填参数,必须按原样使用(例如,主机zabbix[host,<type>,available] 中的 "available")。
  • 使用尖括号 < > 的参数必须替换为有效值。如果某个参数具有默认值,则可以省略。
  • 对于标记为“在 proxy 上不支持”的 监控项 和 监控项 参数的值,只有在由 server 监控 主机 时才能获取。 相反,标记为“在 server 上不支持”的值只有在由 proxy 监控 主机 时才能获取。
zabbix[boottime]


以秒为单位的 Zabbix server 或 Zabbix proxy 进程启动时间。
返回值:integer

zabbix[cluster,discovery,nodes]


发现 high availability cluster 节点。
返回值:JSON object

注释:

  • 此 监控项 可用于低级别自动发现。
zabbix[connector_queue]


连接器队列中排队的值的数量。
返回值:integer

Zabbix[discovery_queue]


发现队列中已排队的网络检查数量。
返回值: integer

zabbix[主机,,监控项]


在主机上启用的监控项(支持的和不支持的)数量。
返回值:integer

Zabbix[主机,,items_unsupported]


在 主机 上启用的不受支持的 监控项 数量。
返回值: integer

zabbix[host,,maintenance]


主机的当前维护状态。
返回值:0 - 正常状态;1 - 带数据收集的维护状态;2 - 不带数据收集的维护状态。

注释:

  • 无论主机位置如何(位于server 或 proxy上),此监控项始终由Zabbix server处理。proxy不会随配置数据接收此监控项。
  • 第二个参数必须为空,并保留供将来使用。
zabbix[主机,active_agent,available]


关于agent检查在主机上的可用性。
返回值:0 - 未知;1 - 可用;2 - 不可用。

zabbix[主机,discovery,interfaces]


Zabbix前端中主机所有已配置接口的详细信息。
返回值:JSON object

注释:

  • 此监控项可在low-level discovery中使用。
  • 此监控项在Zabbix proxy上不受支持。
zabbix[host,<type>,available]


特定类型检查的主接口在主机上的可用性。
返回值:0 - 不可用;1 - 可用;2 - 未知。

参数:

  • 类型 - agentsnmpipmijmx

备注:

zabbix[hosts]


监控的 主机 数量。
返回值:integer

zabbix[items]


启用的 监控项(支持的和不支持的)数量。
返回值: integer

Zabbix[items_unsupported]


不支持的 监控项 数量。
返回值: integer

zabbix[java,,<param>]


有关 Zabbix Java 网关的信息。
返回值:1(如果 <param> 是 ping);Java 网关版本(如果 <param> 是 version)(例如:"7.0.0")。

参数:

  • param - pingversion

注释:

  • 此 监控项 可以通过使用 nodata() 触发器函数来检查 Java 网关的可用性。
  • 第二个参数必须为空,保留供将来使用。
zabbix[lld_queue]


低级别自动发现处理队列中排队值的数量。
返回值:integer

注释:

  • 此监控项可用于监控低级别自动发现处理队列的长度。
zabbix[preprocessing]


预处理管理器接收到的值的统计信息:
- queued - 需要预处理的排队值的数量和大小(计数器)
- direct - 不需要预处理的排队值的数量和大小(计数器)
- queue - 预处理队列中入队值的数量(与 zabbix[preprocessing_queue] 相同)
返回值:JSON

此 监控项 自 Zabbix 7.0.12 起受支持。

返回值示例:

{"data":
           {
           "queued": {
               "count": 106,
               "size": 58620
           },
           "direct": {
               "count": 395,
               "size": 33843
           },
           "queue": 0
           }
       }
zabbix[preprocessing_queue]


预处理队列中入队值的数量。
返回值: integer.

备注:

  • 此 监控项 可用于监控预处理队列长度。
zabbix[process,<type>,<mode>,<state>]


特定Zabbix进程或进程组(由<type>和<mode>标识)在<state>状态中所花费时间的百分比。仅针对最近一分钟进行计算。指定<type>是必填项
返回值:float

参数:

  • type - 对于 服务器进程类型与线程agent 轮询器告警管理器告警同步器告警器可用性管理器浏览器轮询器配置同步器配置同步器工作进程连接器管理器连接器工作进程发现管理器发现工作进程升级器高可用管理器自Zabbix 7.0.5)、历史轮询器历史同步器清理器HTTP agent 轮询器HTTP轮询器ICMP Pinger内部轮询器IPMI管理器IPMI轮询器Java轮询器LLD管理器LLD工作进程odbc 轮询器轮询器预处理管理器预处理工作进程proxy 组 管理器proxy 轮询器自监控服务管理器SNMP轮询器SNMP陷阱接收器任务管理器定时器陷阱接收器触发器清理器不可达轮询器VMware收集器
    对于 proxy-进程类型与线程agent 轮询器可用性管理器浏览器轮询器配置同步器数据发送器发现管理器发现工作进程历史同步器清理器HTTP agent 轮询器HTTP轮询器ICMP Pinger内部轮询器IPMI管理器IPMI轮询器Java轮询器odbc 轮询器轮询器预处理管理器预处理工作进程自监控SNMP轮询器SNMP陷阱接收器任务管理器陷阱接收器不可达轮询器VMware收集器
  • mode - avg - 给定类型所有进程的平均值(默认);
    count - 返回给定进程类型的fork数量,不应指定<state>;
    max - 最大值;
    min - 最小值;
    <进程号> - 进程号(介于 1 和预fork实例的数量之间;例如,如果有 4 个陷阱接收器正在运行,该值介于 1 和 4 之间);
  • state - busy - 进程处于忙碌状态,例如正在处理请求(默认);
    idle - 进程处于空闲状态,未执行任何操作。

备注:

  • 如果 <mode> 是一个未运行的Zabbix进程号(例如,有 5 个轮询器运行,而 <mode> 被指定为 6),这样的 监控项 将变为不支持。
  • 最小值和最大值指的是单个进程的使用百分比。因此,如果在一组 3 轮询器中,每个进程的使用百分比分别为 2、18 和 66,min 将返回 2,max 将返回 66。
  • 进程在共享 memory 中报告它们正在执行的操作,自监控进程每秒汇总一次这些数据。状态更改(busy/idle)在更改时注册——因此,一个变为忙碌的进程会注册为忙碌状态,直到它变为空闲之前不会更改或 update 状态。这确保了即使完全挂起的进程也会被正确注册为100%忙碌。
  • 当前,“busy”表示“未睡眠”,但在未来可能会引入其他状态——等待锁、执行数据库 queries 等。请注意,自Zabbix 7.0.6 起,如果异步轮询器达到了MaxConcurrentChecksPerPoller maxconcurrentchecksperpoller/maxconcurrentchecksperpoller 配置参数设置的限制,则认为其处于忙碌状态。
  • 在Linux和大多数其他系统上,分辨率为 1/100 秒。

示例:

zabbix[process,poller,avg,busy] #轮询器进程在过去一分钟内执行某些操作的平均时间
       zabbix[process,"icmp pinger",max,busy] #任何ICMP Pinger进程在过去一分钟内执行某些操作的最大时间
       zabbix[process,"history syncer",2,busy] #历史同步器编号 2 在过去一分钟内执行某些操作的时间
       zabbix[process,trapper,count] #当前运行的陷阱接收器进程数量
zabbix[proxy,<name>,<param>]


关于Zabbix proxy的信息。
返回值:integer

参数:

  • name - proxy的名称;
  • param - lastaccess - 从proxy接收到的最后一条心跳消息的时间戳;
    delay - 已收集但尚未发送的值的时间间隔;计算方式为"proxy延迟" + ("当前服务器时间" - "proxy最后访问时间"),其中"proxy延迟"是proxy当前时间和proxy上最旧未发送值的时间戳之间的差值。

备注:

  • 无论主机的位置如何(位于server 或 proxy上),此监控项始终由Zabbix server处理。
  • 可以使用fuzzytime()函数来检查proxy的可用性。

示例:

zabbix[proxy,"Germany",lastaccess] #从"Germany"proxy接收到的最后一条心跳消息的时间戳
Zabbix[proxy,discovery]


列出包含名称、模式、加密方式、压缩方式、version、最后可见时间、主机数量、监控项数量、每秒所需值数(vps)、version状态(当前/过时/不受支持)、按监控项类型的超时情况、proxy 组名称(若proxy属于群组)、状态(未知/离线/在线)的Zabbix proxies列表。
返回值:JSON object

Zabbix[proxy 组,<name>,available]


一个proxies的在线数量在proxy 组中。
返回值:integer

参数:

  • name - proxy 组的名称。
Zabbix[proxy 组,<name>,pavailable]


一个proxy 组中在线proxies的百分比。
返回值:float

参数:

  • name - proxy 组的名称。
Zabbix[proxy 组,<名称>,proxies]


列出指定名称的proxy 组中包含的Zabbix proxies列表,包含名称、模式、加密方式、压缩方式、version、最后可见时间、主机数量、监控项数量、每秒所需值数(vps)、version状态(当前/过时/不受支持)、超时设置、proxy 组名称及状态(未知/离线/在线)。
返回值类型:JSON

参数说明:

  • name - proxy 组名称。
Zabbix[proxy 组,<name>,state]


一个proxy 组的状态。
返回值:0 - 未知;1 - 离线;2 - 恢复中;3 - 在线;4 - 性能下降。

参数:

  • name - proxy 组的名称。
zabbix[proxy group,discovery]


返回包含配置数据和实时数据的proxy 组列表。配置数据包括proxy 组名称、故障转移延迟以及所需的最小在线proxies数量。实时数据包括proxy 组状态(详见注释了解详细信息)、在线proxies的数量以及在线proxies的百分比。
返回值:JSON

注释:

  • 该监控项不返回未分组的proxies。
  • 如果"failover_delay"或"min_online"的值无效,则会报告特殊值-1以表示此情况。当配置中使用宏且宏无法扩展为有效值时,可能会出现无效值。
  • proxy 组状态以integer形式报告:0 - 未知;1 - 离线;2 - 恢复中;3 - 在线;4 - 性能下降。

返回值示例:

{
           "groups": [
              { "name": "Riga", "failover_delay": 60, "min_online": 1 },
              { "name": "Tokyo", "failover_delay": 60, "min_online": 2 },
              { "name": "Porto Alegre", "failover_delay": 60, "min_online": 3 }
           ],
           "details": {
               "Riga": { "state": 3, "available": 10, "pavailable": 20 },
               "Tokyo": { "state": 3, "available": 10, "pavailable": 20 },
               "Porto Alegre": { "state": 1, "available": 0, "pavailable": 0 }
           }
       }
zabbix[proxy_buffer,buffer,<mode>]


proxy memory 缓冲区使用情况统计。
返回值:integer(用于大小);float(用于百分比)。

参数:

  • mode: total - 缓冲区总大小(可用于检查 memory 缓冲区是否启用);
    free - 空闲缓冲区大小;
    pfree - 空闲缓冲区百分比;
    used - 已使用缓冲区大小;
    pused - 已使用缓冲区百分比。

备注:

  • 当 memory 缓冲区被禁用时,返回 'Proxy memory 缓冲区被禁用' 错误;
  • 此 监控项 在 Zabbix server 上不受支持。
zabbix[proxy_buffer,state,changes]


返回自启动以来在磁盘/memory缓冲区模式之间的状态切换次数。
返回值:integer0 - memory缓冲区被禁用。

注释:

  • 频繁的状态切换表明需要增加memory缓冲区的大小或年龄。
  • 如果memory缓冲区状态被监控的频率较低(例如,每分钟一次),则缓冲区可能会在未被记录的情况下切换状态。
zabbix[proxy_buffer,state,current]


返回当前存储新数据的工作状态。
返回值:0 - 磁盘;1 - 内存。

备注:

  • 当 memory 缓冲区被禁用时,也会返回 "0"。
zabbix[proxy_history]


等待发送到服务器的 proxy 历史表中的值的数量。
返回值:integer

备注:

  • 此 监控项 在 Zabbix server 上不受支持。
zabbix[queue,<from>,<to>]


队列中至少延迟 <from> 秒但少于 <to> 秒的受监控 监控项 数量。
返回值:integer

参数:

  • from - 至少延迟(默认为 6 秒);
  • to - 最多延迟(默认为无限)。

备注:

Zabbix proxy 不了解维护周期;详细信息请参见 维护期间队列计算

zabbix[rcache,<cache>,<mode>]


Zabbix configuration cache 的可用性统计信息。
返回值:integer(用于大小);float(用于百分比)。

参数:

  • cache - buffer
  • mode - total - 缓冲区的总大小;
    free - 空闲缓冲区的大小;
    pfree - 空闲缓冲区的百分比;
    used - 已使用缓冲区的大小;
    pused - 已使用缓冲区的百分比。
zabbix[requiredperformance]


每秒预期新增值数量下所需的Zabbix server或Zabbix proxy性能。
返回值: float.

注释:

  • Reports → System information 中的 "Required server performance, new values per second" 大致对应。
zabbix[stats,<ip>,<port>]


远程Zabbix server或proxy的内部指标。
返回值:JSON object

参数:

  • ip - 要远程查询的服务器/proxies的IP/DNS/网络掩码列表(默认为127.0.0.1);
  • port - 要远程查询的server/proxy端口(默认为10051)。

注释:

  • 统计请求仅会接受来自目标实例上'StatsAllowedIP' server/proxy参数中列出的地址。
  • 此监控项返回一组选定的内部指标。详情请参阅暴露的指标
zabbix[stats,<ip>,<port>,queue,<from>,<to>]


远程Zabbix server或proxy的内部队列指标(参见zabbix[queue,<from>,<to>])。
返回值:JSON object

参数:

  • ip - 要远程查询的服务器/proxies的IP/DNS/网络掩码列表(默认为127.0.0.1);
  • port - 要远程查询的server/proxy端口(默认为10051);
  • from - 延迟至少(默认为6秒);
  • to - 延迟最多(默认为无限)。

注释:

  • 统计请求仅会从目标实例的'StatsAllowedIP' server/proxy参数中列出的地址接受。
  • 此监控项返回一组选定的内部指标。详情请参阅暴露的指标

Zabbix proxy不考虑维护周期;详情请参阅维护期间队列计算

zabbix[tcache,<cache>,<parameter>]


Zabbix趋势函数缓存的有效性统计。
返回值:integer(表示大小);float(表示百分比)。

参数:

  • cache - buffer
  • parameter - all - 总缓存请求数(默认值);
    hits - 缓存命中数;
    phits - 缓存命中百分比;
    misses - 缓存未命中数;
    pmisses - 缓存未命中百分比;
    监控项 - 已缓存的监控项数量;
    requests - 已缓存的请求数;
    pitems - 已缓存的监控项占(已缓存监控项 + 请求数)的百分比。低百分比很可能意味着可以减小缓存大小。

注释:

  • 此监控项在Zabbix proxy上不受支持。
zabbix[triggers]


Zabbix数据库中启用的触发器数量,包含所有在启用的监控项上启用的主机。
返回值:integer

评论:

  • 此监控项在Zabbix proxy上不受支持。
zabbix[uptime]


Zabbix server或proxy进程运行时间的秒数。
返回值:integer

zabbix[vcache,buffer,<mode>]


Zabbix value cache 的可用性统计信息。
返回值:integer(用于大小);float(用于百分比)。

参数:

  • mode - total - 缓冲区的总大小;
    free - 空闲缓冲区的大小;
    pfree - 空闲缓冲区的百分比;
    used - 已使用缓冲区的大小;
    pused - 已使用缓冲区的百分比。

注释:

  • 此 监控项 在 Zabbix proxy 上不受支持。
zabbix[vcache,cache,<parameter>]


Zabbix value cache的性能统计。
返回值:integer。使用mode参数返回:0 - 正常模式;1 - 低memory模式。

参数:

  • parameter - requests - 请求总数;
    hits - 缓存命中数(从缓存中获取的历史值);
    misses - 缓存未命中数(从数据库中获取的历史值);
    mode - value cache运行模式。

注释:

  • 一旦切换到低memory模式,value cache将保持此状态24小时,即使触发此模式的问题已提前解决。
  • 您可以将此键与每秒变化预处理步骤结合使用,以get每秒值统计。
  • 此监控项在Zabbix proxy上不受支持。
zabbix[version]


Zabbix server或proxy的version。
返回值:string。例如:7.0.0

zabbix[vmware,buffer,<mode>]


Zabbix vmware cache的可用性统计。
返回值:integer(用于大小);float(用于百分比)。

参数:

  • mode - total - 缓冲区的总大小;
    free - 空闲缓冲区的大小;
    pfree - 空闲缓冲区的百分比;
    used - 已使用缓冲区的大小;
    pused - 已使用缓冲区的百分比。
zabbix[vps,written]


写入数据库的历史值总数。
返回值:integer

zabbix[wcache,<cache>,<mode>]


Zabbix写缓存的统计信息和可用性。
返回值:integer(用于数字/大小);float(用于百分比)。

参数:

  • cache - valueshistoryindextrend
  • mode -(当为 values 时)all(默认) - 由 Zabbix server/proxy 处理的值的总数,不包括变为不支持状态的 监控项(计数器);
    float - 已处理的 float 值的数量(计数器);
    uint - 已处理的无符号 integer 值的数量(计数器);
    str - 已处理的字符/string 值的数量(计数器);
    log - 已处理的日志值的数量(计数器);
    text - 已处理的文本值的数量(计数器);
    not supported - 监控项 处理导致 监控项 变为不支持状态或保持该状态的次数(计数器);
    (当为 historyindextrend 缓存时)pfree(默认) - 缓冲区空闲百分比;
    total - 缓冲区总大小;
    free - 空闲缓冲区大小;
    used - 已使用缓冲区大小;
    pused - 已使用缓冲区百分比。

备注:

  • 必须指定 <cache>。trend 缓存参数不支持与 Zabbix proxy 一起使用。
  • history cache 用于存储 监控项值。数值较低表示数据库端存在性能问题。
  • 历史 index cache 用于索引存储在 history cache 中的值。
  • 当 history cache 被填满然后清空后,历史 index cache 仍会保留一些数据。 此行为是预期的,有助于系统通过避免频繁调整内存大小所需的额外处理来更高效地 run。
  • trend cache 存储当前小时内所有接收数据的 监控项 的聚合数据。
  • 您可以将 zabbix[wcache,values] 键与 每秒变化量 预处理步骤一起使用,以 get 每秒值变化的统计信息。