8 内部检查

概述

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

内部检查按以下方式计算:

  • 在 Zabbix server上 - 如果主机由服务器监控
  • 在 Zabbix 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]

系统信息队列前端部分也受到影响。

支持的检查

j监控项键列出时不包含可选参数和其他信息。单击监控项键可查看完整详细信息。

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

监控项键详细信息

  • 没有尖括号的参数是常量 - 例如, zabbix[host,<type>,available] 中的 ‘host’ 和 ‘available’。在监控项键中按原样使用它们。
  • 仅当主机由服务器监控时,才能检索“代理不支持”的监控项和监控项参数的值。反之亦然,仅当主机由代理监控时,才能检索“服务器不支持”的值。
zabbix[boottime]

Zabbix 服务器或 Zabbix 代理进程的启动时间(以秒为单位)。
返回值:整数

zabbix[cluster,discovery,nodes]

发现高可用性集群节点。
返回值:JSON 对象

此项可用于低级别自动发现。

zabbix[connector_queue]

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

zabbix[discovery_queue]

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

zabbix[host,,items]

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

zabbix[host,,items_unsupported]

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

zabbix[host,,maintenance]

主机的当前维护状态。

返回值:0 - 正常状态;1 - 维护并收集数据;2 - 维护但不收集数据。

注释:

  • 无论主机位于何处(在服务器上还是代理上),Zabbix server始终会处理此监控项。代理不会接收带有配置数据的此监控项。
  • 第二个参数必须为空,并保留以备将来使用。
zabbix[host,active_agent,available]

检查主机上活动代理的可用性。
返回值:0 - 未知;1 - 可用;2 - 不可用。

zabbix[host,discovery,interfaces]

Zabbix 前端中主机的所有已配置接口的详细信息。

返回值:JSON 对象

注释:

zabbix[host,<type>,available]

主机上特定类型检查的主接口的可用性。

返回值:0 - 不可用;1 - 可用;2 - 未知。

注释:

zabbix[hosts]

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

zabbix[items]

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

zabbix[items_unsupported]

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

zabbix[java,,<param>]

有关 Zabbix Java 网关的信息。
返回值:1 - 如果 <param> 是 pingJava 网关版本 - 如果 <param> 是 version(例如:“7.0.0”)。

注释:

  • param 的有效值为:pingversion
  • 此项可用于使用 nodata() 触发函数检查 Java 网关可用性;
  • 第二个参数必须为空,保留以备将来使用。
zabbix[lld_queue]

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

返回值:整数

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

zabbix[preprocessing_queue]

预处理队列中排队的值的数量。
返回值:整数

此项可用于监控预处理队列的长度。

zabbix[process,<type>,<mode>,<state>]

特定 Zabbix 进程或一组进程(由 <type> 和 <mode> 标识)在 <state> 中花费的时间百分比。仅针对最后一分钟进行计算。
返回值:Float

参数:

  • type - 用于服务器进程: agent poller, alert manager, alert syncer, alerter, availability manager, configuration syncer, configuration syncer worker, connector manager, connector worker, discovery manager, discovery worker, escalator, ha manager, history poller, history syncer, housekeeper, http agent poller, http poller, icmp pinger, ipmi manager, ipmi poller, java poller, lld manager, lld worker, odbc poller, poller, preprocessing manager, preprocessing worker, proxy group manager, proxy poller, self-monitoring, service manager, snmp poller, snmp trapper, task manager, timer, trapper, trigger housekeeper, unreachable poller, vmware collector;
    用于代理进程: agent poller, availability manager, configuration syncer, data sender, discovery manager, discovery worker, history syncer, housekeeper, http agent poller, http poller, icmp pinger, ipmi manager, ipmi poller, java poller, odbc poller, poller, preprocessing manager, preprocessing worker, self-monitoring, snmp poller, snmp trapper, task manager, trapper, unreachable poller, vmware collector
  • mode - avg - 给定类型的所有进程的平均值(默认)
    count - 返回给定进程类型的分叉数,不应指定 <state>
    max - 最大值
    min - 最小值
    <process number> - 进程号(介于 1 和预分叉实例数之间)。例如,如果正在运行 4 个捕获器,则该值介于 1 和 4 之间。
  • state - busy - 进程处于繁忙状态,例如,处理请求(默认); idle - 进程处于空闲状态,不执行任何操作。

注释:

  • 如果 <mode> 是未运行的 Zabbix 进程号(例如,在运行 5 个轮询器的情况下,<mode> 指定为 6),则此类监控项将变为不受支持;
  • 最小值和最大值是指单个进程的使用百分比。因此,如果在一组 3 个轮询器中,每个进程的使用百分比分别为 2、18 和 66,则最小值将返回 2,最大值将返回 66。
  • 进程报告它们在共享内存中正在做什么,而自我监控进程每秒都会汇总该数据。状态变化(忙碌/空闲)在变化时注册 - 因此,变得忙碌的进程会这样注册,并且在变为空闲之前不会更改或更新状态。这确保即使完全挂起的进程也会被正确注册为 100% 忙碌。
  • 目前,“忙碌”表示“未休眠”,但将来可能会引入其他状态 - 等待锁定、执行数据库查询等。
  • 在 Linux 和大多数其他系统上,分辨率为 1/100 秒。

示例:

  1. zabbix[process,poller,avg,busy] #poller 进程在最后一分钟内执行某项操作的平均时间
  2. zabbix[process,"icmp pinger",max,busy] #t任何 ICMP pinger 进程在最后一分钟内执行某项操作的最大时间
  3. zabbix[process,"history syncer",2,busy] #2 号历史同步器在最后一分钟内执行某项操作所花费的时间
  4. zabbix[process,trapper,count] #当前正在运行的 trapper 进程的数量
zabbix[proxy,<name>,<param>]

有关 Zabbix 代理的信息。
返回值:整数

参数:

  • name - 代理名称;
  • param - delay - 收集的值未发送的时间,计算为“代理延迟”(当前代理时间与代理上最早未发送值的时间戳之间的差值)+(“当前服务器时间” - “代理上次访问”)。
zabbix[proxy,discovery]

Zabbix 代理列表,包括名称、模式、加密、压缩、版本、上次查看、主机数、监控项数、每秒所需值 (vps)、版本状态(当前/过时/不支持)、按监控项类型划分的超时、代理组名称(如果代理属于组)、状态(未知/离线/在线)。
返回值:JSON 对象

zabbix[proxy group,<name>,available]

代理组中的在线代理数量。
返回值:Integer

参数:

  • name - 代理组名称。
zabbix[proxy group,<name>,pavailable]

代理组中的在线代理百分比。
返回值:Float

参数:

  • name - 代理组名称。
zabbix[proxy group,<name>,proxies]

代理组中的 Zabbix 代理列表,包括名称、模式、加密、压缩、版本、上次查看、主机数、监控项数、每秒所需值 (vps)、版本状态(当前/过时/不支持)、超时、代理组名称、状态(未知/离线/在线)。
返回值:JSON

参数:

  • name - 代理组名称。
zabbix[proxy group,<name>,state]

代理组的状态。
返回值:0 - 未知;1 - 离线;2 - 恢复中;3 - 在线;4 - 降级。

参数:

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

Returns a list of proxy groups with configuration data and real-time data. Configuration data include the proxy group name, failover delay, and the minimum number of online proxies required. Real-time data include the proxy group state (see comments for details), the number of online proxies, and the percentage of online proxies.
Return value: JSON.

Comments:

  • This item does not return groupless proxies;
  • If there is an invalid value for “failover_delay” or “min_online”, then a special value -1 is reported to indicate that. Invalid values might occur if macros are used for configuration and the macros cannot be expanded to a valid value.
  • The proxy group state is reported as an integer: 0 - unknown; 1 - offline; 2 - recovering; 3 - online; 4 - degrading;

Example of return values:

  1. {
  2. "groups": [
  3. { "name": "Riga", "failover_delay": 60, "min_online": 1 },
  4. { "name": "Tokyo", "failover_delay": 60, "min_online": 2 },
  5. { "name": "Porto Alegre", "failover_delay": 60, "min_online": 3 }
  6. ],
  7. "details": {
  8. "Riga": { "state": 3, "available": 10, "pavailable": 20 },
  9. "Tokyo": { "state": 3, "available": 10, "pavailable": 20 },
  10. "Porto Alegre": { "state": 1, "available": 0, "pavailable": 0 }
  11. }
  12. }
zabbix[proxy_buffer,buffer,<mode>]

代理内存缓冲区使用情况统计。
返回值:Integer(表示大小);Float(表示百分比)。

参数:

  • mode
    total - 缓冲区的总大小(可用于检查是否启用了内存缓冲区)
    free - 可用缓冲区的大小
    pfree - 可用缓冲区的百分比
    used - 已使用缓冲区的大小
    pused - 已使用缓冲区的百分比

注释: - 当内存缓冲区被禁用时,返回“代理内存缓冲区已禁用”错误;
- Zabbix 服务器不支持此项。

zabbix[proxy_buffer,state,changes]

返回自启动以来磁盘/内存缓冲区模式之间的状态变化次数。
返回值:整数0 - 内存缓冲区已禁用。

注释:

  • 频繁的状态变化表明必须增加内存缓冲区的大小或使用期限;
  • 如果不频繁监控内存缓冲区状态(例如,每分钟一次),则缓冲区可能会在未注册的情况下翻转其状态。
zabbix[proxy_buffer,state,current]

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

当内存缓冲区被禁用时也会返回“0”。

zabbix[proxy_history] ​​

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

Zabbix 服务器不支持此项。

zabbix[queue,<from>,<to>]

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

参数:

  • from - 默认值:6 秒;
  • to - 默认值:无穷大。

参数中支持 时间后缀 (s、m、h、d、w)。

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

Zabbix 配置缓存的可用性统计信息。
返回值:Integer(表示大小);Float(表示百分比)。

参数:

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

Zabbix 服务器或 Zabbix 代理所需的性能,以每秒预期的新值表示。
返回值:Float

报告 → 系统信息 中的“所需服务器性能,每秒新值”大致相关。

zabbix[stats,<ip>,<port>]

远程 Zabbix 服务器或代理的内部指标。
返回值:JSON 对象

参数:

  • ip - 要远程查询的服务器/代理的 IP/DNS/网络掩码列表(默认值为 127.0.0.1);

  • port - 要远程查询的服务器/代理的端口(默认值为 10051)。

注释:

zabbix[stats,<ip>,<port>,queue,<from>,<to>]

远程 Zabbix 服务器或代理的内部队列指标(参见 zabbix[queue,<from>,<to>])。
返回值:JSON 对象

参数:

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

注释:

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

Zabbix 趋势函数缓存的有效性统计。

返回值:Integer(表示大小);Float(表示百分比)。

参数:

  • cache - buffer;

  • mode - all - 总缓存请求数(默认)
    hits - 缓存命中数
    phits - 缓存命中百分比
    misses - 缓存未命中数
    pmisses - 缓存未命中百分比
    items - 缓存项数
    requests - 缓存请求数
    pitems - 缓存项 + 请求数中缓存项的百分比。百分比低很可能意味着可以减小缓存大小。

Zabbix 代理不支持此项。

zabbix[triggers]

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

Zabbix 代理不支持此监控项。

zabbix[uptime]

Zabbix 服务器或代理进程的正常运行时间(以秒为单位)。
返回值:整数

zabbix[vcache,buffer,<mode>]

Zabbix 值缓存的可用性统计信息。
返回值:整数(表示大小);浮点数(表示百分比)。

参数:

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

Zabbix 代理不支持此项。

zabbix[vcache,cache,<parameter>]

Zabbix 值缓存的有效性统计。
返回值:整数。使用 mode 参数返回:0 - 正常模式;1 - 低内存模式。

参数:

  • parameter - requests - 请求总数
    hits - 缓存命中数(从缓存中获取的历史值)
    misses - 缓存未命中数(从数据库中获取的历史值)
    mode - 值缓存操作模式

注释:

  • 一旦开启低内存模式,值缓存将保持此状态 24 小时,即使触发此模式的问题很快得到解决;
  • 您可以将此键与 每秒更改数 预处理步骤一起使用,以获取每秒值统计信息;
  • Zabbix 代理不支持此项。
zabbix[version]

Zabbix 服务器或代理的版本。
返回值:String。例如:7.0.0

zabbix[vmware,buffer,<mode>]

Zabbix vmware 缓存的可用性统计信息。
返回值:Integer(用于大小);Float(用于百分比)。

参数:

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

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

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

Zabbix 写入缓存的统计信息和可用性。
返回值:整数(表示数字/大小);浮点数(表示百分比)。

参数:

  • cache - 历史索引趋势
  • mode -(带有 valuesall(默认)- Zabbix 服务器/代理处理的值的总数,不支持的监控项除外(计数器)
    float - 处理的浮点值的数量(计数器)
    uint - 处理的无符号整数值的数量(计数器)
    str - 处理的字符/字符串值的数量(计数器)
    log - 处理的日志值的数量(计数器)
    text - 处理的文本值的数量(计数器)
    not supports - 监控项处理导致监控项变得不受支持或保持该状态的次数(计数器)
    (带有 historyindextrend 缓存)pfree(默认)- 可用缓冲区的百分比
    total - 缓冲区的总大小
    free - 可用缓冲区的大小
    used - 已用缓冲区的大小
    pused - 百分比使用的缓冲区

注释:

  • 必须指定 <cache>。Zabbix 代理不支持 trend 缓存参数;
  • 历史缓存用于存储j监控项值。数值较低表示数据库端存在性能问题;
  • 历史索引缓存用于索引存储在历史缓存中的值;
  • 历史缓存填满并清除后,历史索引缓存仍将保留一些数据。 此行为是预期行为,有助于系统更高效地运行,避免不断调整内存大小所需的额外处理;
  • 趋势缓存存储当前小时所有接收数据的j监控项的汇总;
  • 您可以将 zabbix[wcache,values] 键与 每秒更改 预处理步骤结合使用,以获取每秒值统计信息。