1 Zabbix agent
概述
这些检查与Zabbix agent进行通信,实现数据的采集
有 被动和主动两种 agent 检查模式 , 在配置监控项时,你可以选择所需的类型:
- Zabbix agent - 被动检查
- Zabbix agent(主动) - 主动检查
支持的监控项
下表提供了可用的Zabbix agent 监控项键值的详细信息。
另请参阅
强制和可选参数
没有尖括号的参数是强制性的。用尖括号 < > 标记的参数是可选的。
与命令行实用程序一起使用
请注意,在命令行中使用 zabbix_agentd 或 zabbix_get 测试或使用项目键时,您也应该考虑 shell 语法。
例如,如果键的某个参数必须用双引号括起来,则必须显式转义双引号,否则它们将被 shell 修剪为特殊字符,并且不会传递给 Zabbix 实用程序。
例如:
$ zabbix_agentd -t 'vfs.dir.count[/var/log,,,"file,dir",,0]'
$ zabbix_agentd -t vfs.dir.count[/var/log,,,\"file,dir\",,0]
Zabbix 参数
键值 | ||||
---|---|---|---|---|
描述 | 返回值 | 参数 | 注释 | |
agent.hostmetadata | ||||
Agent 主机元数据。 | 字符串 | 返回 HostMetadata 或 HostMetadataItem 参数,如果二者都没有定义,则返回空字符串。 从 Zabbix 6.0 后开始支持。 | ||
agent.hostname | ||||
Agent 主机名。 | 字符串 | 返回: 被动检查时 - agent 配置文件中 Hostname 参数中的第一个主机名; 主动检查时 - 当前主机名。 | ||
agent.ping | ||||
Agent 可用性检查。 | 无返回值 - 不可用时 1 - 可用时 | 使用 nodata() 触发器函数来检查主机不可用性。 | ||
agent.variant | ||||
Zabbix agent 种类 (Zabbix agent 或 Zabbix agent 2)。 | 整型 | 返回值示例: 1 - Zabbix agent 2 - Zabbix agent 2 | ||
agent.version | ||||
Zabbix agent 版本。 | 字符串 | 返回值示例: 6.0.3 | ||
zabbix.stats[<ip>,<port>] | ||||
远程返回一组 Zabbix Server或Proxy内部指标 | JSON 对象 | ip - 要远程查询的服务器/代理的IP/DNS/网络掩码列表 (默认为127.0.0.1) port - 要远程查询的server/proxy的端口 (默认为10051) | 请注意,仅接受来自目标实例 server/proxy参数’StatsAllowedIP’中列出的地址统计请求 此项目返回一组选定的内部指标。有关详细信息,请参阅Zabbix stats的远程监控。 | |
zabbix.stats[<ip>,<port>,queue,<from>,<to>] | ||||
返回队列中被远程Zabbix Server或 proxy 延迟的监控项数。 | JSON 对象 | ip - 要远程查询的服务器/代理的IP/DNS/网络掩码列表 (默认为127.0.0.1) port - 要远程查询的server/proxy的端口 (默认为10051) queue - 常量 (按原样使用) from - 至少时延 (默认是6秒) to - 最多延迟 (默认是无穷大) | 请注意,仅接受来自目标实例server/proxy参数’StatsAllowedIP’中列出的地址统计请求。 |
脚注
1Linux相关。Zabbix agent 必须对文件系统/proc有只读权限。www.grsecurity.org的内核补丁限制了未授权用户的访问权限。
2 vfs.dev.read[]
, vfs.dev.write[]
: 如果监控项值超过3小时无法获取,Zabbix agent 会终止”过时”的设备连接。这可能在系统设备动态变化或者手动移除时发生。请注意这些监控项的更新间隔在3小时以上时,会永远返回’0’。
3 vfs.dev.read[]
, vfs.dev.write[]
: 如果将默认的all 作为第一个参数,此键会返回汇总统计数据,包括所有的块设备如sda,sbd及其分区(sda1, sda2, sdb3…)和基于这些块设备/分区的多个设备(MD raid)和基于这些块设备/分区的逻辑设备(LVM)。在这些情况下返回值应只考虑相对值(随时间动态变化)而不是绝对值。
4 SSL (HTTPS) 仅在agent在支持cURL的情况下编译时被支持。否则此监控项会返回不受支持。
编码设置
要确保获取的数据不被损坏,你可能需要在 encoding
参数中指定正确的编码来处理检查(例如 ‘vfs.file.contents’)。受支持的的编码(代码页标识符)可在libiconv (GNU 项目) 的文档查找,或在微软Windows SDK的文档查找”Code Page Identifiers”。
如果未在 encoding
参数中指定编码,会应用以下解决方案策略:
- 如果encoding未指定(或者为空字符串)被认为是UTF-8,数据原样处理;
- BOM分析 - 在监控项 ‘vfs.file.contents’, ‘vfs.file.regexp’, ‘vfs.file.regmatch’可应用。尝试使用文件开头的字节顺序标记(BOM)来决定正确的编码。如果没有BOM - 改为应用标准解决方案(见上)。
agent监控项故障排除
- 如果使用被动 agent,server 配置的Timeout值可能需要比 agent 配置的Timeout值高。 否则此监控项可能不会获取到任何值,因为 server 到 agent 的请求先超时了。
内核数据
键值 | ||||
---|---|---|---|---|
描述 | 返回值 | 参数 | 注释 | |
kernel.maxfiles | ||||
OS支持的最大打开文件数。 | 整型 | |||
kernel.maxproc | ||||
OS支持的最大进程数 | 整型 | |||
kernel.openfiles | ||||
返回当前打开文件句柄数 | 整型 | 从 Zabbix 6.0后,仅在Linux上支持该参数 |
日志数据
更多信息参考 日志监控.
Key | ||||
---|---|---|---|---|
描述 | 返回值 | 参数 | 注释 | |
log[file,<regexp>,<encoding>,<maxlines>,<mode>,<output>,<maxdelay>,<options>,<persistentdir>] | ||||
监控日志文件。 | 日志 | file - 日志文件的全路径 regexp - 正则表达式 所需要的匹配的模式 encoding - 编码 标识符 maxlines - 客户端将发送到Zabbix server或proxy的每秒最大行数。此参数覆盖zabbix_agentd.conf中的’MaxLinesPerSecond’值 mode (自版本 2.0以后)- 可能的值有: all (默认), skip - 跳过旧数据的处理 (仅影响新创建的项目)。 output (自版本2.2以后) - 一个可选的输出格式模板, \0 转义序列被替换为文本的匹配部分 (匹配从开始的第一个字符到结束的字符) 而 \N (其中N=1…9) 转义序列被替换为第 N 个匹配组 (或如果 N 超过捕获的组数,则为空字符串)。 maxdelay (自版本 3.2后) - 最大延迟,以秒为单位。 类型: 浮点型, 值: 0 - (默认) 从不忽略日志文件行; > 0.0 - 忽略旧行, 以便在“maxdelay”秒内分析最新行。使用前请阅读 maxdelay 说明! options (自版本 4.4.7以后) - 附件选项: mtime-noreread - 非唯一记录, 仅在文件大小更改时重读 (忽略修改时间更改). (从 5.0.2 开始不推荐使用此参数,因为现在忽略了 mtime。) persistent_dir (从 5.0.18、5.4.9 版本开始,仅在 Unix 系统上的 zabbix_agentd 中;在 Agent2 中不支持) - 存储持久性的目录的绝对路径名文件。另请参阅有关持久文件附加说明 | 该项必须配置为 主动检查。 如果文件丢失或权限不允许访问,监控项变为不受支持。 如果 output 留空 - 返回包含匹配文本的整行。 请注意,除 ‘Result is TRUE’ 之外的所有全局正则表达式类型始终返回整个匹配行,并且output 忽略该参数。在代理上使用 output 参数进行内容提取。例如: => log[/var/log/syslog] => log[/var/log/syslog,error] => log[/home/zabbix/logs/logfile,,,100] 使用 output 参数中从日志记录中提取一个数字 :=> log[/app1/app.log,”task run [0-9.]+ sec, processed ([0-9]+) records, [0-9]+ errors”,,,,\1] → 将匹配日志记录 “2015-11-13 10:08:26 task run 6.08 sec, processed 6080 records, 0 errors” 并只发送 ‘6080’ 到服务器。 因为发送的是一个数值, 所以该项目的 “信息类型”可以设置为 “数字(无符号)” 该值可用于图形,触发器等。 使用 output 参数在发送到服务器之前重写日志记录:=> log[/app1/app.log,”([0-9 :-]+) task run ([0-9.]+) sec, processed ([0-9]+) records, ([0-9]+) errors”,,,,”\1 RECORDS: \3, ERRORS: \4, DURATION: \2”] → 将匹配日志记录 “2015-11-13 10:08:26 task run 6.08 sec, processed 6080 records, 0 errors” 并且向服务端发送修改后的记录 “2015-11-13 10:08:26 RECORDS: 6080, ERRORS: 0, DURATION: 6.08” 。 另请参阅 日志监控其他信息。 | |
log.count[file,<regexp>,<encoding>,<maxproclines>,<mode>,<maxdelay>,<options>,<persistent_dir>] | ||||
监控日志文件中匹配的行数量 | 整型 | file - 含全路径的日志文件名称 regexp - 正则 表达式匹配的内容模式 encoding - 编码 标识符 maxproclines - 代理每秒分析新增的最大行数 (不能超过10000)。 在zabbix_agentd.conf中设置的默认值是 10*’MaxLinesPerSecond’ mode - 可能的值: all (默认), skip - 跳过旧数据的处理 (仅影响新创建的项目)。 maxdelay - 最大延迟秒数。 类型: 浮点型。 值: 0 - (默认) 从不忽略日志行数; > 0.0 - 忽略旧行 以便在“maxdelay”秒内分析最新行。使用前请阅读maxdelay 说明! options (自4.4.7版后) - 附加选项: mtime-noreread - 非唯一记录, 仅在文件大小发生更改时重新读取 (忽略修改时间更改). (从5.0.2开始不推荐使用此参数, 因为现在忽略了mtime。) persistent_dir (从 5.0.18、5.4.9 版本开始,仅在 Unix 系统上的 zabbix_agentd 中;在 Agent2 中不支持) - 存储持久性的目录的绝对路径名文件。另请参阅有关持久文件附加说明 | 该项必须配置为 主动检查. 如果文件缺失或权限不允许访问,则监控项不受支持。 另请参阅有关 日志监控的其他信息 该项不支持Windows的事件日志。 自 Zabbix 3.2.0版本后开始支持。 | |
logrt[file_regexp,<regexp>,<encoding>,<maxlines>,<mode>,<output>,<maxdelay>,<options>,<persistent_dir>] | ||||
监控轮换的日志文件。 | 日志 | file_regexp - 文件的绝对路径和正则表达式匹配的文件名模式 请注意 只有文件名是正则表达式 regexp - 描述正则表达式匹配的文件内容模式 encoding - 编码 标识符 maxlines - 代理每秒将发送到 Zabbix 服务器或代理的最大新行数。 此参数覆盖zabbix_agentd.conf的 ‘MaxLinesPerSecond’的值 mode (自版本 2.0后) - 可能值: all (默认), skip - 跳过旧数据的处理 (仅影响新创建的项目)。 output (自版本2.2后) - 一个可选的输出格式模板。\0 转义序列被替换文本的匹配部分 (匹配从开始的第一个字符到结束的字符) 而 \N (其中 N=1…9) 转义序列被替换为第N个匹配组 (或如果N超过捕获的组数,则为空字符串)。 maxdelay (自版本 3.2后) -最大的时延,以秒为单位。 类型: 浮点型。 值: 0 - (默认) 从不忽略日志文件行数; > 0.0 - 忽略旧行,以便在“maxdelay”秒内分析最新行。使用前请阅读 maxdelay 说明! options (版本4.0和版本4.4.7后; mtime-reread, 和mtime-noreread选项 ) - 日志文件轮换类型和其他选项。可能的值: rotate (默认), copytruncate - 注意的是 copytruncate 不能和 maxdelay一起使用,在这种情况下 maxdelay 必须为0或未指定; 参阅 copytruncate 文档。 mtime-reread - 非唯一记录,如果修改时间或大小更改则重新读取(默认), mtime-noreread -非唯一记录,仅在大小更改时重新读取 (忽略修改时间更改)。 persistent_dir (从 5.0.18, 5.4.9版本开始,仅在Unix系统 zabbix_agentd中; 不支持 Agent2) - 存储持久文件的目录的绝对路径名。另请参阅有关 持久文件的附加说明。 | 该项必须配置为 主动检查. 日志轮换基于文件的最后修改时间。 <br请注意,logrt 旨在处理一个当前活动的日志文件,并轮换几个其他匹配的非活动文件。例如,如果一个目录有许多活动日志文件,则应为每个文件创建一个单独的 logrt 项。否则,如果一个 logrt 项获取太多文件,可能会导致内存耗尽和监控崩溃。 如果 output 留空 - 返回包含匹配文本的整行。请注意,除 ‘Result is TRUE’ 之外的所有全局正则表达式类型始终返回整个匹配行,并且output 忽略该参数.在代理上使用 output 参数进行内容提取。例如: => logrt[“/home/zabbix/logs/^logfile[0-9]{1,3}$”,,,100] → 将匹配文件名如”logfile1”(不会匹配”.logfile1”) => logrt[“/home/user/^logfile._[0-9]{1,3}$”,”pattern_to_match”,”UTF-8”,100] → 将从文件名如 “logfile_abc_1” 或 “logfile__001”中采集数据 使用 output 参数 从日志记录中提取数字:=> logrt[/app1/^test.log$,”task run [0-9.]+ sec, processed ([0-9]+) records, [0-9]+ errors”,,,,\1] →将匹配一条日志记录 “2015-11-13 10:08:26 task run 6.08 sec, processed 6080 records, 0 errors” 并发送 ‘6080’ 到服务端。 因为发送的数值, 所以此项 “信息类型” 可以设置为 “数字 (无符号)” 这个值可以用于图形,触发器等。 使用 output 参数可以在发送到服务端前重写日志记录:=> logrt[/app1/^test.log$,”([0-9 :-]+) task run ([0-9.]+) sec, processed ([0-9]+) records, ([0-9]+) errors”,,,,”\1 RECORDS: \3, ERRORS: \4, DURATION: \2”] → 将匹配一条日志记录 “2015-11-13 10:08:26 task run 6.08 sec, processed 6080 records, 0 errors” 并发送修改记录到服务端 “2015-11-13 10:08:26 RECORDS: 6080, ERRORS: 0, DURATION: 6.08” 。 另请参阅 日志监控其他信息。 | |
logrt.count[file_regexp,<regexp>,<encoding>,<maxproclines>,<mode>,<maxdelay>,<options>,<persistent_dir>] | ||||
轮换的监控日志文件中的匹配行数 | 整型 | file_regexp - 文件绝对路径和正则 表达式 所需匹配的文件名模式 regexp - 正则 表达式 所需的内容匹配模式 encoding - 编码 标识符 maxproclines - 代理每秒分析新增的最大行数 (不能超过10000)。在 zabbix_agentd.conf中设置的默认值是10‘MaxLinesPerSecond’。 mode - 可能值: all (默认), skip - 跳过旧数据的处理 (仅影响新创建的监控项). maxdelay - 最大时延,以秒为单位。 类型: 浮点型。 值: 0 - (默认) 从不忽略日志文件行; > 0.0 - 以便在“maxdelay”秒内分析最新行。使用前请阅读maxdelay说明! options (自版本 4.0和4.4.7后; mtime-reread和mtime-noreread 选项) - 日志文件轮换类型和其他选项, 可能的值: rotate (默认), copytruncate - 注意 copytruncate 不能与 maxdelay一起使用,这种情况下 maxdelay 必须为0或未指定; 参阅 copytruncate 说明, mtime-reread - 非唯一记录, 如果修改时间或大小改变重新读 (默认), mtime-noreread - 非唯一记录, 仅当大小改变时重新读 (忽略修改时间的改变)。 persistent_dir (自版本 5.0.18和 5.4.9后, 仅在Unix系统上的zabbix_agentd中;不支持 Agent2) - 存储持久文件的目录的绝对路径名。另请参阅有关持久文件附加说明。 | 该监控项必须配置为 主动检查. 日志轮换基于文件的最后修改时间。 另请参阅有关日志监控其他信息 此监控项不支持Windows事件日志 自Zabbix 3.2.0后开始支持 |
Modbus 数据
键值 | ||||
---|---|---|---|---|
描述 | 返回值 | 参数 | 注释 | |
modbus.get[endpoint,<slave id>,<function>,<address>,<count>,<type>,<endianness>,<offset>] | ||||
读取Modbus数据 | JSON 对象 | endpoint - 终端定义为 protocol://connection_string slave id - 从机 ID function - Modbus 函数 address - 第一个注册地址, 线圈 或输入 count - 读取的记录数量 type - 数据类型 endianness - 字节序配置 offset - 寄存器数, 从 ‘地址’开始, 其结果将被丢弃。 参阅参数的详细描述 。 | 自 Zabbix 5.2.0后开始支持 |
网络数据
键值 | ||||
---|---|---|---|---|
描述 | 返回值 | 参数 | 注释 | |
net.dns[<ip>,name,<type>,<timeout>,<count>,<protocol>] | ||||
检查DNS服务是否启动 | 0 - DNS 已关闭 (服务器并没有响应或 DNS解析失败) 1 - DNS 已启动 | ip - DNS服务器IP地址 (默认DNS服务器上的IP留空,在Windows上忽略) name -要查询的DNS名称 type - 要查询的记录类型 (默认为 SOA) timeout (在Windows上忽略) -请求超时秒数 (默认是 1 秒) count (在在Windows上忽略) -请求的尝试次数 (默认是 2) protocol (自版本3.0后) - 用于执行 DNS 查询的协议: udp (默认) 或 tcp | 例如: => net.dns[8.8.8.8,example.com,MX,2,1] 可能的值 type 是:ANY, A, NS, CNAME, MB, MG, MR, PTR, MD, MF, MX, SOA, NULL, WKS (Windows除外), HINFO, MINFO, TXT, SRV 不支持国际化域名,请改用 IDNA 编码名称。 从 Zabbix 1.8.6 (Unix) 和 2.0.0 (Windows) 开始支持 SRV 记录类型. Zabbix 2.0 之前的命名(仍然支持): net.tcp.dns | |
net.dns.record[<ip>,name,<type>,<timeout>,<count>,<protocol>] | ||||
执行 DNS 查询。 | 具有所需信息类型的字符串 | ip - DNS 服务器的 IP 地址(默认 DNS 服务器留空,在 Windows 上忽略) name - 要查询的 DNS 名称 type - 要查询的记录类型(默认为 SOA) timeout (在 Windows 上忽略) - 请求超时秒数 (默认是 1 秒) count (在 Windows 上忽略) - 请求的尝试次数(默认是2) protocol(自 3.0 版起) - 用于执行 DNS 查询的协议: udp (默认) 或 tcp | 例如: => net.dns.record[8.8.8.8,example.com,MX,2,1] 可能的值 type 是:ANY, A, NS, CNAME, MB, MG, MR, PTR, MD, MF, MX, SOA, NULL, WKS (Windows除外), HINFO, MINFO, TXT, SRV 不支持国际化域名,请改用 IDNA 编码名称。 从 Zabbix 1.8.6 (Unix) 和 2.0.0 (Windows) 开始支持 SRV 记录类型。 Zabbix 2.0 之前的命名(仍然支持): net.tcp.dns.query | |
net.if.collisions[if] | ||||
Number of out-of-window collisions. | 整型 | if - 网络接口名称 | ||
net.if.discovery | ||||
网络接口列表.用于低级别的发现。 | JSON 对象 | 自 Zabbix 2.0后支持 在 FreeBSD, OpenBSD 和 NetBSD 上从 Zabbix 2.2后开始支持 某些Windows版本 (如 Server 2008)可能需要安装最新更新以支持接口名称中的非ASCII 字符。 | ||
net.if.in[if,<mode>] | ||||
网络接口的传入流量统计 | 整型 | if - 网络接口名称 (Unix); 网络接口完整描述或 IPv4 地址;或者,如果在大括号内,网络接口GUID(窗口) mode - 可能的值: bytes - 字节数 (默认) packets - 包数 errors - 错误数 dropped - 丢弃的数据包数量 overruns (fifo) - FIFO 缓冲错误数 frame - 数据包帧错误数 compressed - 设备驱动程序发送或接收的压缩数据包数 multicast - 设备驱动程序接收的多播帧数 | 在Windows上, 该监控项从64位计数器中获取值(如果可用),Windows Vista 和 Windows Server 2008 中引入了 64 位接口统计计数器。如果 64 位计数器不可用,代理将使用 32 位计数器。 从 Zabbix 1.8.6 开始支持 Windows 上的多字节接口名称 例如: => net.if.in[eth0,errors] => net.if.in[eth0] 您可以使用 net.if.discovery 或 net.if.list 项获取 Windows 上的网络接口描述。 您可以将此键与预处理每秒更改步骤一起使用,以获取每秒字节数统计信息。 | |
net.if.out[if,<mode>] | ||||
网络接口的传出流量统计 | 整型 | if - 网络接口名称 (Unix); 网络接口完整描述或 IPv4 地址;或者,如果在大括号内,网络接口GUID(窗口) mode - 可能的值: bytes - 字节数 (默认) packets -包数 errors - 错误数 dropped - 丢弃的包的数量 overruns (fifo) - FIFO 缓冲错误数 collisions (colls) - 接口上检测到的冲突数 carrier - 在设备驱动程序检测到的载体丢失数 compressed -设备驱动程序传输的压缩数据包数 | 在 Windows 上,该项目从 64 位计数器中获取值(如果可用)。Windows Vista 和 Windows Server 2008 中引入了 64 位接口统计计数器。如果 64 位计数器不可用,代理将使用 32 位计数器。 从 Zabbix 代理 1.8.6 版本开始支持 Windows 上的多字节接口名称。 例如: => net.if.out[eth0,errors] => net.if.out[eth0] 您可以使用 net.if.discovery 或 net.if.list 项获取 Windows 上的网络接口描述。 您可以将此键与预处理每秒更改步骤一起使用,以获取每秒字节数统计信息。 | |
net.if.total[if,<mode>] | ||||
网络接口上传入和传出流量统计的总和。 | 整型 | if - 网络接口名称 (Unix); 网络接口完整描述或 IPv4 地址;或者,如果在大括号内,网络接口GUID(窗口) mode -可能值: bytes - 字节数 (默认) packets - 包数 errors - 错误数 dropped - 丢弃的数据包数量 overruns (fifo) - FIFO缓冲错误数 compressed - 设备驱动程序发送或接收的压缩数据包数 | 在 Windows 上,该项目从 64 位计数器中获取值(如果可用)。Windows Vista 和 Windows Server 2008 中引入了 64 位接口统计计数器。如果 64 位计数器不可用,代理将使用 32 位计数器。 例如: => net.if.total[eth0,errors] => net.if.total[eth0] Y您可以使用 net.if.discovery 或 net.if.list 项获取 Windows 上的网络接口描述。 可以将此键与预处理每秒更改步骤一起使用,以获取每秒字节数统计信息。 请注意,仅当 net.if.in 和 net.if.out 都在您平台上的丢弃数据包时,才支持丢弃数据包。 | |
net.tcp.listen[port] | ||||
检查TCP端口是否处于监听状态 | 0 - 它不处于监听状态 1 - 它处于监听状态 | port - TCP端口号 | 例如: => net.tcp.listen[80] 自 Zabbix 1.8.4后在Linux上支持 自 Zabbix 3.0.0后, 在 Linux 内核 2.6.14及以上,如果可能,从内核的 NETLINK 接口获取有关侦听 TCP 套接字的信息. 否则,将从 /proc/net/tcp 和 /proc/net/tcp6 文件中检索信息。 | |
net.tcp.port[<ip>,port] | ||||
检查是否可以与指定端口建立 TCP 连接。 | 0 -不能连接 1 - 能连接 | ip - IP 或 DNS 名称 (默认是 127.0.0.1) port - 端口号 | 例如: => net.tcp.port[,80] → 可用于测试在端口80上运行Web 服务的可用性 对于简单的TCP性能测试,使用 net.tcp.service.perf[tcp,<ip>,<port>] 请注意,这些检查可能会导致增加系统守护程序日志文件中的额外信息(通常会记录SMTP和SSH会话)。 | |
net.tcp.service[service,<ip>,<port>] | ||||
检查服务是否正在运行并接受 TCP 连接。 | 0 - 服务关闭 1 - 服务正在运行 | service - 任意一个: ssh, ldap, smtp, ftp, http, pop, nntp, imap, tcp, https, telnet (另见 详情) ip - IP地址 (默认是 127.0.0.1) port - 端口号 (默认为标准服务使用端口号) | 例如: => net.tcp.service[ftp,,45] → 用于测试在tcp端口45上的FTP服务的可用性. 请注意,这些检查可能会导致系统守护程序日志文件中出现额外消息(SMTP 和 SSH 会话正在通常记录)。 目前不支持检查加密协议(如端口 993 上的 IMAP 或端口 995 上的 POP)。作为一种解决方法,请使用 net.tcp.port 进行此类检查。 仅 Zabbix agent 2 支持在 Windows 上检查 LDAP 和 HTTPS。 请注意,telnet 检查会查找登录提示(末尾为“:”)。 请你参阅已知问题用于检查HTTPS服务。 从Zabbix2.0后开始支持https 和 telnet 服务。 | |
net.tcp.service.perf[service,<ip>,<port>] | ||||
检查TCP服务的性能。 | 0 - 服务已关闭 seconds - 连接到服务花费的时间(秒) | service -以下任意一个: ssh, ldap, smtp, ftp, http, pop, nntp, imap, tcp, https, telnet (见 详细) ip - IP地址 (默认是 127.0.0.1) port - 端口号 (默认为标准服务使用端口号) | 例如: => net.tcp.service.perf[ssh] → 可用于测试来自 SSH 服务器的初始响应速度。 目前不支持检查加密协议(如端口 993 上的 IMAP 或端口 995 上的 POP)。作为一种解决方法,请使用 net.tcp.service.perf[tcp,<ip>,<port>] 进行此类检查。 仅 Zabbix 代理 2 支持在 Windows 上检查 LDAP 和 HTTPS。 请注意,telnet 检查会查找登录提示(末尾为“:”)。 请你参阅已知问题用于检查HTTPS服务。 从Zabbix2.0后开始支持https 和 telnet 服务。 | |
net.tcp.socket.count[<laddr>,<lport>,<raddr>,<rport>,<state>] | ||||
返回与参数匹配的套接字数 | 整型 | laddr - 本地 IPv4/6 地址 或 CIDR 子网 lport - 本地的端口号或服务名称 raddr - 远程 IPv4/6 地址或CIDR子网 rport - 远程端口号或服务名称 state - 连接状态(established, syn_sent, syn_recv, fin_wait1, fin_wait2, time_wait, close, close_wait, last_ack, listen, closing) | Zabbix agent和Zabbix agent 2均在Linux上支持此项,64位 Windows在Zabbix agent 2上支持此项 例如: => net.tcp.socket.count[,80,,,established] →检查本地 TCP 端口 80 是否处于“已建立”状态 从 Zabbix 6.0后开始支持此项 | |
net.udp.listen[port] | ||||
检查UDP端口是否处于监听状态 | 0 - 它不处于监听状态 1 -它处于监听状态 | port - UDP端口号 | 例如: => net.udp.listen[68] 在Linux上自Zabbix 1.8.4后支持 | |
net.udp.service[service,<ip>,<port>] | ||||
检查服务是否正在运行并响应 UDP 请求。 | 0 - 服务已关闭 1 - 服务正在运行 | service - ntp (见 详情) ip -IP地址 (默认是 127.0.0.1) port - 端口号(默认为标准服务使用端口号) | 例: => net.udp.service[ntp,,45] → 可用于测试 UDP 45 端口 NTP 服务的可用性。 Zabbix 3.0.0后开始支持此项, 但ntp 服务可用于以前版本的 net.tcp.service[]监控项中 | |
net.udp.service.perf[service,<ip>,<port>] | ||||
检查UDP服务性能。 | 0 - 服务已关闭 seconds - 等待服务响应秒数 | service - ntp (见 详情) ip - IP地址 (默认是127.0.0.1) port - 端口号 (默认为标准服务使用端口号) | 例: => net.udp.service.perf[ntp] → 可用于测试来自 NTP 服务的响应时间。 自 Zabbix 3.0.0后开始支持该项,但 ntp 服务可用于以前版本的net.tcp.service[]监控项中 | |
net.udp.socket.count[<laddr>,<lport>,<raddr>,<rport>,<state>] | ||||
返回与参数匹配的 TCP 套接字数。 | 整型 | laddr -本地IPv4/6地址或CIDR子网地址 lport -本地端口号或服务名称 raddr - 远程IPv4/6地址或CIDR子网 rport - 远程端口号或服务名称 state - 连接状态 (established, unconn) | Zabbix agent和Zabbix agent 2均在Linux上支持此项,64位 Windows在Zabbix agent 2上支持此项。 Example: => net.udp.socket.count[,,,,listening] → 检查是否有任何 UDP 套接字处于“监听”状态 从 Zabbix 6.0 开始支持此项 |
进程数据
键值 | ||||
---|---|---|---|---|
描述 | 返回值 | 参数 | 注释 | |
proc.cpu.util[<name>,<user>,<type>,<cmdline>,<mode>,<zone>] | ||||
进程CPU使用百分比. | 浮点型 | name -进程名 (默认是 all processes) user - 用户名称 (默认是all users) type -CPU使用率类型: total (默认), user, system cmdline - 可按命令行过滤(它是一个正则表达式) mode - 数据搜集模式: avg1 (默认), avg5, avg15 zone - 目标区域: current (默认), all. 这个参数仅在Solaris平台上支持 | 例: => proc.cpu.util[,root] → 在root用户下运行的所有进程的CPU使用率 => proc.cpu.util[zabbix_server,zabbix] →在zabbix用户下运行的所有 zabbix_server 进程的CPU使用率 T返回值基于单个 CPU 核心利用率百分比。例如,完全使用两个内核的进程的 CPU 利用率为 200%。 进程 CPU 利用率数据由支持最多 1024 个唯一(按名称、用户和命令行)查询的收集器收集。在过去 24 小时内未访问的查询将从收集器中删除。 请注意 将zone参数设置为current (或默认值)如果代理已在不支持区域的 Solaris 上编译,但在支持区域的较新 Solaris 上运行,则代理将返回 NOTSUPPORTED(代理不能将结果限制为仅当前区域)。但是,在这种情况下,all都支持。 自 Zabbix 3.0.0 起支持此键,并且可在多个平台上使用 (请参阅 平台支持的监控项)。 | |
proc.mem[<name>,<user>,<mode>,<cmdline>,<memtype>] | ||||
进程使用的内存(以字节为单位) | 整型 - 当 mode 为 max, min, sum时浮点数 - 当 mode 为 avg时 | name -进程名 (默认是 all processes) user - 用户名 (默认是 all users) mode - 可能的值: avg, max, min, sum (默认) cmdline - 按命令行过滤(它是一个正则 表达式) memtype - 进程使用的内存类型 | 例如: => proc.mem[,root] → 运行在root用户下的所有进程使用的内存 => proc.mem[zabbix_server,zabbix] → 运行在zabbix用户下的所有zabbix_server进程使用的内存 => proc.mem[,oracle,max,oracleZABBIX] → 在oracle用户下,包含有oracleZABBIX命令行运行的所有内存最多的内存 需要注意:当多个进程使用共享内存时,进程使用的内存总和可能会导致大到不切实际。 参考 说明 关于选择进程 name 和 cmdline 参数 (指定为Linux).当此项从命令行调用并包含命令行参数时 (例如 使用代理测试模式: zabbix_agentd -t proc.mem[,,,apache2] ), 一个额外的进程将被计算在内,因为代理将计算自己。从Zabbix3.0.0起, memtype 参数开始支持多个 平台 | |
proc.num[<name>,<user>,<state>,<cmdline>,<zone>] | ||||
进程数量 | 整型 | name - 进程名称 (默认为 all processes) user - 用户名 (默认为 all users) state (disk 和 trace 选项从3.4.0起) - 可能值: all (默认), disk - 不间断睡眠, run - 运行, sleep - 可中断的睡眠, trace - 停止, zomb - 僵尸 cmdline - 按命令行过滤(它是一个正则表达式) zone -目标区域: current (默认), all. 此参数仅在 Solaris 上受支持。 | 例如: => proc.num[,mysql] → 在mysql用户下运行的进程数 => proc.num[apache2,www-data] → www-data 用户下运行的 apache2 进程数 => proc.num[,oracle,sleep,oracleZABBIX] → 在oracleZABBIX命令行下的oracle用户运行的睡眠状态进程数 说明 关于选择进程 name 和 cmdline 参数 (指定于Linux)。在Windows上仅支持 name 和user 参数当此项从命令行调用并包含命令行参数时 (例如 使用代理测试模式: zabbix_agentd -t proc.num[,,,apache2] ), 一个额外的进程将被计算在内,因为代理将计算自己。请注意 将zone参数设置为current (或默认值)如果代理已在不支持区域的 Solaris 上编译,但在支持区域的较新 Solaris 上运行,则代理将返回 NOTSUPPORTED(代理不能将结果限制为仅当前区域)。但是,在这种情况下,all都支持。 |
传感器数据
键值 | ||||
---|---|---|---|---|
描述 | 返回值 | 参数 | 注释 | |
sensor[device,sensor,<mode>] | ||||
硬件传感器读数 | 浮点型 | device - 设备名称 sensor - 传感器名称 mode - 可能的值: avg, max, min (如果省略此参数,设备和传感器将逐字处理). | 在linux2.4上读取 /proc/sys/dev/sensors 例如: => sensor[w83781d-i2c-0-2d,temp1] 在 Zabbix 1.8.4之前, sensor[temp1] 格式被使用。 | |
在Linux2.6+上读取 /sys/class/hwmon 请参阅Linux sensor项目中 更详细的说明 | ||||
读取OpenBSD上的 hw.sensors MIB 例如: => sensor[cpu0,temp0] → 一个CPU的温度 => sensor[“cpu[0-2]$”,temp,avg] → 前三个CPU温度的平均值 自Zabbix 1.8.4后开始支持OpenBSD |
系统数据
键值 | ||||
---|---|---|---|---|
描述 | 返回值 | 参数 | 注释 | |
system.boottime | ||||
系统启动时间。 | 整型 (Unix时间戳) | |||
system.cpu.discovery | ||||
检测到的CPU/CPUs的内核列表,用于低级别发现。 | JSON 对象 | 自2.4.0后,支持所有平台 | ||
system.cpu.intr | ||||
设备中断。 | 整型 | |||
system.cpu.load[<cpu>,<mode>] | ||||
CPU 负载. | 浮点型 | cpu - possible values: all (default), percpu (从版本2.0开始; 总负载除以在线CPU数) mode - 可能的值: avg1 (一分钟的平均值,默认), avg5, avg15 | Example: => system.cpu.load[,avg5]. | |
system.cpu.num[<type>] | ||||
CPU数量。 | 整型 | type - 可能的值: online (default), max | Example: => system.cpu.num | |
system.cpu.switches | ||||
上下文切换次数。 | 整型 | |||
system.cpu.util[<cpu>,<type>,<mode>,<logical_or_physical>] | ||||
CPU 利用率百分比。 | 浮点型 | cpu - <CPU number> or all (default) type - 可能的值: user (default), idle, nice, system (Windows默认), iowait, interrupt, softirq, steal, guest (Linux内核版本2.6.24及以上), guest_nice (Linux内核版本2.6.33及以上). 可在平台特性 查看更多此参数的细节。 mode - 可能的值: avg1 (一分钟的平均值,默认), avg5, avg15 logical_or_physical (从5.0.3版本开始; 仅支持AIX) - 可能的值: logical (默认), physical. 此参数仅支持AIX。 | Example: => system.cpu.util[0,user,avg5] 曾用名: system.cpu.idleX, system.cpu.niceX, system.cpu.systemX, system.cpu.userX | |
system.hostname[<type>, <transform>] | ||||
系统主机名 | 字符串 | type (在版本5.4.7前仅支持Windows) - 可能的值: netbios (Windows默认), host (Linux默认), shorthost (从5.4.7版本开始; 返回第一个”.”前的主机名或在没有”.”时返回完整的主机名). transform (从5.4.7版本开始) - 可能的值: none (默认), lower (转换到小写) | 这个值通过Windows的函数 GetComputerName() (netbios)或者gethostname() (host) 和其他操作系统的 “hostname” 命令获取。 返回值示例: 在Linux上: => system.hostname → linux-w7x1 => system.hostname → example.com => system.hostname[shorthost] → example on Windows: => system.hostname → WIN-SERV2008-I6 => system.hostname[host] → Win-Serv2008-I6LonG => system.hostname[host,lower] → win-serv2008-i6long 可查看更详细的描述. | |
system.hw.chassis[<info>] | ||||
板卡信息。 | 字符串 | info - one of full (默认), model, serial, type or vendor | Example: system.hw.chassis[full] Hewlett-Packard HP Pro 3010 Small Form Factor PC CZXXXXXXXX Desktop] 这个键依赖于SMBIOS 表的可用性。 会尝试从sysfs读取DMI表, 如果访问sysfs 失败,会尝试直接读取内存。 需要Root权限因为这个值是通过读取 sysfs 或 memory 获得的。 从Zabbix 2.0开始支持。 | |
system.hw.cpu[<cpu>,<info>] | ||||
CPU 信息。 | 字符串或整型 | cpu - <CPU number> or all (默认) info - 可能的值: full (默认), curfreq, maxfreq, model or vendor | Example: => system.hw.cpu[0,vendor] → AuthenticAMD 从/proc/cpuinfo 和 /sys/devices/system/cpu/[cpunum]/cpufreq/cpuinfo_max_freq 获取信息。 如果设置了CPU数和 curfreq 或 maxfreq,会返回数字值(Hz)。 从Zabbix 2.0开始支持。 | |
system.hw.devices[<type>] | ||||
PCI或USB设备列表。 | 文本 | type (从版本2.0开始) - pci (默认) or usb | Example: => system.hw.devices[pci] → 00:00.0 Host bridge: Advanced Micro Devices [AMD] RS780 Host Bridge [..] 返回lspci或lsusb程序的结果(不带参数执行)。 | |
system.hw.macaddr[<interface>,<format>] | ||||
MAC地址列表。 | 字符串 | interface - all (默认)或 正则表达式 format - full (默认) 或 short | 列出接口名称匹配接口 正则表达式的MAC地址列表(all 列出所有接口).示例: => system.hw.macaddr[“eth0$”,full] → [eth0] 00:11:22:33:44:55 If 如果 format 被设为short,接口名称和重复的MAC地址将不会列出。从Zabbix 2.0开始支持。 | |
system.localtime[<type>] | ||||
系统时间。 | 整型 - type 是utc时字符串 - type 是local时 | type (从版本2.0开始) - 可能的值: utc - (默认)从 (00:00:00 UTC, January 1, 1970) 开始计算的时间, 单位是秒。 local - 格式为’yyyy-mm-dd,hh:mm:ss.nnn,+hh:mm’的时间 | 只能用于被动检查。 示例: => system.localtime[local] → 用这个键创建一个监控项用于在Clock 仪表盘组件展示主机时间。 | |
system.run[command,<mode>] | ||||
在主机上运行特定的命令。 | 命令的文本结果 1 - mode 为nowait时(无论命令结果如何) | command - 待执行的命令 mode - 可能的值: wait - 等待执行结束(默认), nowait - 不等待 | 包括被截取的空白符,最大可以返回512KB的数据。 命令的输出必须是文本才能正常处理。 示例: => system.run[ls -l /] → 根目录的详细文件列表。 Note: system.run监控项默认被禁用。在启用监控项学习如何启用。 这个监控项的返回值是命令产生的标准输出和标准错误,未检查退出码。 从 Zabbix 2.4.0 开始允许空结果。 也可查看命令执行。 | |
system.stat[resource,<type>] | ||||
系统统计数据。 | 整型或浮点型 | ent - 该区域可获取的处理器单元数量(浮点型) kthr,<type> - 关于内核线程状态的信息: r - 可运行的内核线程的平均数(浮点型) b - 虚拟内存管理器等待队列中内核线程的平均数(浮点型) memory,<type> - 虚拟和实际内存的使用信息: avm - 活跃的虚拟页 (整型) fre - 可用列表的大小 (整型) page,<type> - 页错误和分页活动的信息: fi - 每秒文件入页(浮点型) fo - 每秒文件出页 (浮点型) pi - 从分页空间入页(浮点型) po - 向分页空间出页(浮点型) fr - 页释放(页替换)(浮点型) sr - 通过页替换算法扫描到的页(浮点型) faults,<type> - 陷阱和中断率: in - 设备中断(浮点型) sy - 系统调用(浮点型) cs - 内核线程上下文切换 (浮点型) cpu,<type> - 处理器时间的分类百分比: us - 用户时间(浮点型) sy - 系统时间(浮点型) id - 空闲时间(浮点型) wa - 系统在磁盘或网络文件系统I/O请求多时的空闲时间(浮点型) pc - 物理处理器消耗的时间(浮点型) ec - 标称计算能力的消耗的百分比(浮点型) lbusy - 在用户级和系统级运行时,逻辑处理器的使用百分比 (浮点型) app - 共享池中可用物理处理器数量(浮点型) disk,<type> - 磁盘统计信息: bps - 磁盘驱动器传输的数据量,单位是字节/秒(整型) tps - 发送给物理磁盘/磁带的每秒传输次数(浮点型) | ||
Comments | ||||
从Zabbix 1.8.1开始,此监控项仅被AIX支持。 请注意这些监控项的以下限制: => system.stat[cpu,app] - 仅支持”Shared”类型的AIX LPAR => system.stat[cpu,ec] - 仅支持”Shared”和”Dedicated”类型的AIX LPAR(”Dedicated”一直返回100(百分比)) => system.stat[cpu,lbusy] - 仅支持”Shared”类型的AIX LPAR => system.stat[cpu,pc] - 仅支持”Shared”和”Dedicated”类型的AIX LPAR => system.stat[ent] - 仅支持”Shared”和”Dedicated”类型的AIX LPAR | ||||
system.sw.arch | ||||
软件架构信息。 | 字符串 | 示例: => system.sw.arch → i686 通过uname()函数获取信息。 从Zabbix 2.0开始支持。 | ||
system.sw.os[<info>] | ||||
操作系统信息。 | 字符串 | info - 可能的值: full (默认), short or name | 示例: => system.sw.os[short]→ Ubuntu 2.6.35-28.50-generic 2.6.35.11 信息通过以下方式(请注意并非所有发行版本都存在所有文件和选项)获取: /proc/version (full) /proc/version_signature (short) PRETTY_NAME 参数在支持的系统从/etc/os-release获取,或/etc/issue.net (name) 从Zabbix 2.0开始支持。 | |
system.sw.packages[<package>,<manager>,<format>] | ||||
已安装的包列表。 | 文本 | package - all (默认) 或正则表达式 manager - all (默认)或包管理器 format - full (默认)或short | 按首字母顺序,列出匹配package 正则表达式的已安装的包名 (all 列出全部).示例: => system.sw.packages[mini,dpkg,short] → python-minimal, python2.6-minimal, ubuntu-minimal 支持的包管理器(执行的命令): dpkg (dpkg —get-selections) pkgtool (ls /var/log/packages) rpm (rpm -qa) pacman (pacman -Q) 如果 format 设为full,包按照包管理器分组(每个包管理器在单独的行,开头是方括号中的包管理器名称)。如果 format 设为short,包不会分组,会列在一行中。从Zabbix 2.0开始支持。 | |
system.swap.in[<device>,<type>] | ||||
交换入(从设备到内存)统计 | 整型 | device - 用于交换的设备(默认是all) type - 可能的值: count (交换入的数量), sectors (交换入的分区), pages (交换入的页). 也可在平台特性查看此参数的详情。 | 示例: => system.swap.in[,pages] 此信息的来源是: /proc/swaps, /proc/partitions, /proc/stat (Linux 2.4) /proc/swaps, /proc/diskstats, /proc/vmstat (Linux 2.6) | |
system.swap.out[<device>,<type>] | ||||
交换出(从内存到设备)统计。 | 整型 | device - 用于交换的设备(默认是all) type - 可能的值: count (交换出的数量), sectors (交换出的分区), pages (交换出的页)。 也可在平台特性查看此参数的详情。 | 示例: => system.swap.out[,pages] 此信息的来源是: /proc/swaps, /proc/partitions, /proc/stat (Linux 2.4) /proc/swaps, /proc/diskstats, /proc/vmstat (Linux 2.6) | |
system.swap.size[<device>,<type>] | ||||
交换区空间大小,字节数或总量的百分比。 | 整型 - 字节数的类型 浮点型 - 百分比的类型 | device - 用于交换的设备(默认是all) type - 可能的值: free (空闲交换空间,默认), pfree (空闲交换空间的百分比), pused (已用交换空间的百分比), total (总交换空间), used (已用交换空间) 请注意 pfree, pused 在交换空间为0时不支持Windows。 也可在平台特性查看此参数的详情。 | 示例: => system.swap.size[,pfree] → 空闲交换空间的百分比 如果未设置device的值,Zabbix agent仅会考虑账户交换设备(文件),忽略物理内存。比如,在 Solaris 系统 swap -s 命令包括物理内存的一部分以及交换设备(不同于swap -l)。 请注意此键在虚拟化(VMware ESXi, VirtualBox)Windows平台可能报告错误的交换空间大小/百分比。在这种情况下你可使用 perf_counter[\700(_Total)\702] 键来获取正确的交换空间百分比。 | |
system.uname | ||||
系统标识 | 字符串 | 返回值实例(Unix): FreeBSD localhost 4.2-RELEASE FreeBSD 4.2-RELEASE #0: Mon Nov i386 返回值实例(Windows): Windows ZABBIX-WIN 6.0.6001 Microsoft® Windows Server® 2008 Standard Service Pack 1 x86 在 Unix,从 Zabbix 2.2.0 开始,此值通过uname()系统调用获取,在此之前通过调用”uname -a”获取。此监控项的值可能和”uname -a”的输出不同,并且不包括”uname -a”打印的从其他来源获取的额外信息。 在 Windows 系统,从 Zabbix 3.0 开始,此值通过 Win32_OperatingSystem 和 Win32_Processor WMI 类获取。在此之前通过不稳定的 Windows APIs 和无稳定的注册表键获取。OS名(包括版本)可能被翻译到了用户的显示语言。在 Windows 的某些版本,OS 名包括商标符号和额外的空格。 请注意在Windows,此监控项返回 OS 架构,而在 Unix 返回 CPU 架构。 | ||
system.uptime | ||||
系统运行时间,单位是秒。 | 整型 | 在监控项配置中,使用 s or uptime 单位获取可读的值。 | ||
system.users.num | ||||
登录用户数 | 整型 | who 命令是用于在agent处获取值的。 |
虚拟文件系统数据
键值 | ||||
---|---|---|---|---|
描述 | 返回值 | 参数 | 注释 | |
vfs.dev.discovery | ||||
块设备和类型的列表,用于低级别自动发现。 | JSON 对象 | 此监控项仅支持Linux平台。 从 Zabbix 4.4.0 开始支持。 | ||
vfs.dev.read[<device>,<type>,<mode>] | ||||
磁盘读取统计信息。 | 整型 - 当type 在 sectors, operations, bytes 中时浮点型 - 当 type 在 sps, ops, bps 中时注意: 如果更新间隔在3小时及以上时2, 会一直返回 ‘0’ | device - 磁盘设备(默认是 all 3) type - 可能的值: sectors, operations, bytes, sps, ops, bps 请注意’type’在各平台的支持和默认情况,在平台特性查看详情。 sps, ops, bps 分别代表: sectors, operations, bytes 每秒的值。 mode - 可能的值: avg1 (一分钟的平均值,默认), avg5, avg15. 此参数仅支持 type 在 sps, ops, bps中的情况。 | 你也可使用相关设备名称(如sda )加 /dev/ 前缀(如/dev/sda )。支持 LVM 逻辑卷。 不同操作系统的’type’默认值: AIX - operations FreeBSD - bps Linux - sps OpenBSD - operations Solaris - bytes 示例: => vfs.dev.read[,operations] sps, ops and bps 在支持的平台曾经支持8个设备(7个单独的和一个all)。从 Zabbix 2.0.1 开始这个限制是1024个设备(1023个单独的和一个all)。 | |
vfs.dev.write[<device>,<type>,<mode>] | ||||
磁盘写入统计信息。 | 整型 - 当type 在 sectors, operations, bytes 中时浮点型 - 当 type 在 sps, ops, bps 中时注意: 如果更新间隔在3小时及以上时2, 会一直返回 ‘0’ | device - 磁盘设备(默认是 all 3) type - 可能的值: sectors, operations, bytes, sps, ops, bps 请注意’type’在各平台的支持和默认情况,在平台特性查看详情。 sps, ops, bps 分别代表: sectors, operations, bytes 每秒的值。 mode - 可能的值: avg1 (一分钟的平均值,默认), avg5, avg15. 此参数仅支持 type 在 sps, ops, bps中的情况。 | 你也可使用相关设备名称(如sda )加 /dev/ 前缀(如/dev/sda )。支持 LVM 逻辑卷。 不同操作系统的’type’默认值: AIX - operations FreeBSD - bps Linux - sps OpenBSD - operations Solaris - bytes 示例: => vfs.dev.read[,operations] sps, ops and bps 在支持的平台曾经支持8个设备(7个单独的和一个all)。从 Zabbix 2.0.1 开始这个限制是1024个设备(1023个单独的和一个all)。 | |
vfs.dir.count[dir,<regex_incl>,<regex_excl>,<types_incl>,<types_excl>,<max_depth>,<min_size>,<max_size>,<min_age>,<max_age>,<regex_excl_dir>] | ||||
目录条目计数。 | 整型 | dir - 目录的绝对路径 regex_incl - 描述包含的 (文件, 目录, 符号链接 )的名称模式的正则 表达式 ;如果为空,则包含所有 (默认值) regex_excl - 描述了排除 (文件, 目录, 符号链接) 的名称模式正则 表达式 ; 如果为空,不排除任何实体 (默认) types_incl - 要计数的目录条目类型, 可能的值: file - 常规文件, dir - 子目录, sym - 符号链接, sock - 套接字, bdev - 块设备, cdev - 字符设备, fifo - FIFO, dev - “bdev,cdev”同义词, all - 所有类型 (默认), 即 “file,dir,sym,sock,bdev,cdev,fifo”.多种类型时需在双引号中用逗号隔开。 types_excl - 不需要计数的目录条目类型 (见 <types_incl>)。 如果某些条目类型同时位于 <types_incl> 和 <types_excl>中, 则不计算此类型的目录条目。 max_depth - 遍历的子目录最大深度 -1 (默认) - 无限制, 0 -不涉及子目录。 min_size -要计数文件的最小大小(以字节为单位)。 小于此的文件不会被计算在内,内存后缀 可以被使用。 max_size - 要计数文件的最大大小(以字节为单位),大于此的文件将不会被计算在内。 内存后缀 可以被使用 min_age - 要计数的目录条目最小创建时间(以秒为单位)。最新的条目不进行计数。 时间后缀 可以被使用。 max_age - 要计数的目录条目最大创建时间(以秒为单位)。 比此旧的条目将不被计算在内 (修改时间)。 时间后缀 can 可以被使用. regex_excl_dir - 描述要排除的目录的名称模式的正则表达式,目录的所有内容都将被排除 (与 regex_excl相比) | 不支持的环境变量, 如 %APP_HOME%, $HOME 和 %TEMP% 。 伪目录 “.” 和 “..” 不会被计算在内。 目录遍历不会跟踪符号链接。 在Windows上, 目录符号链接被跳过,硬链接只计算一次。 在计算条目大小时, regex_incl 和 regex_excl 都被应用于文件和目录, 但在选择要遍历的子目录时被忽略 (如果 regex_incl 是 “(?i)^.+.zip$” 并且 max_depth 未设置, 那么所有子目录都将是遍历,但只会计算 zip 类型的文件)。执行时间受限于代理 配置 (3秒)的默认时间设置,由于大目录遍历可能需要更长的时间,因此不会返回任何数据并且该监控项项将变为不受支持。 部分计数将不予返回 当按照大小过滤时,只有常规文件的大小具有意义,在Linux和BSD下 ,目录也有非零大小 (通常只有几KB)。设备大小为0 如 /dev/sda1的大小不反映相应分区的大小。因此,在使用 <min_size> 和 <max_size> , 建议指定 <types_incl> 为 “file“,防止出现意外。例如: ⇒ vfs.dir.count[/dev] - 监控 /dev (Linux)中的设备数量 ⇒ vfs.dir.count[“C:\Users\ADMINI~1\AppData\Local\Temp”] - 监控临时目录下的文件数量 (Windows) 自 Zabbix 4.0.0后支持。 | |
vfs.dir.get[dir,<regex_incl>,<regex_excl>,<types_incl>,<types_excl>,<max_depth>,<min_size>,<max_size>,<min_age>,<max_age>,<regex_excl_dir>] | ||||
目录条目列表 | JSON | dir - 目录的绝对路径 regex_incl - 描述包含的 (文件, 目录, 符号链接 )的名称模式的正则 表达式 ;如果为空,则包含所有 (默认值) regex_excl - 描述了排除 (文件, 目录, 符号链接) 的名称模式正则 表达式 ; 如果为空,不排除任何实体 (默认) types_incl - 要计数的目录条目类型, 可能的值: file - 常规文件, dir - 子目录, sym - 符号链接, sock - 套接字, bdev - 块设备, cdev - 字符设备, fifo - FIFO, dev - “bdev,cdev”同义词, all - 所有类型 (默认), 即 “file,dir,sym,sock,bdev,cdev,fifo”.多种类型时需在双引号中用逗号隔开。 types_excl - 不需要计数的目录条目类型 (见 <types_incl>)。 如果某些条目类型同时位于 <types_incl> 和 <types_excl>中, 则不计算此类型的目录条目。 max_depth - 遍历的子目录最大深度 -1 (默认) - 无限制, 0 -不涉及子目录。 min_size -要计数文件的最小大小(以字节为单位)。 小于此的文件不会被计算在内,内存后缀 可以被使用。 max_size - 要计数文件的最大大小(以字节为单位),大于此的文件将不会被计算在内。 内存后缀 可以被使用 min_age - 要计数的目录条目最小创建时间(以秒为单位)。最新的条目不进行计数。 时间后缀 可以被使用。 max_age - 要计数的目录条目最大创建时间(以秒为单位)。 比此旧的条目将不被计算在内 (修改时间)。 时间后缀 can 可以被使用. regex_excl_dir - 描述要排除的目录的名称模式的正则表达式,目录的所有内容都将被排除 (与 regex_excl相比) | 不支持的环境变量, 如 %APP_HOME%, $HOME 和 %TEMP% 。 伪目录 “.” 和 “..” 不会被计算在内。 目录遍历不会跟踪符号链接。 在Windows上, 目录符号链接被跳过,硬链接只计算一次。 在计算条目大小时, regex_incl 和 regex_excl 都被应用于文件和目录, 但在选择要遍历的子目录时被忽略 (如果 regex_incl 是 “(?i)^.+.zip$” 并且 max_depth 未设置, 那么所有子目录都将是遍历,但只会计算 zip 类型的文件)。执行时间受限于代理 配置 (3秒)的默认时间设置,由于大目录遍历可能需要更长的时间,因此不会返回任何数据并且该监控项项将变为不受支持。 部分计数将不予返回 当按照大小过滤时,只有常规文件的大小具有意义,在Linux和BSD下 ,目录也有非零大小 (通常只有几KB)。设备大小为0 如 /dev/sda1的大小不反映相应分区的大小。因此,在使用 <min_size> 和 <max_size> , 建议指定 <types_incl> 为 “file“,防止出现意外。例如: ⇒ vfs.dir.count[/dev] - 监控 /dev (Linux)中的设备数量 ⇒ vfs.dir.count[“C:\Users\ADMINI~1\AppData\Local\Temp”] - 监控临时目录下的文件数量 (Windows) 自 Zabbix 6.0.0后支持。 | |
vfs.dir.size[dir,<regex_incl>,<regex_excl>,<mode>,<max_depth>,<regex_excl_dir>] | ||||
目录大小(以字节为单位). | 整型 | dir - 目录的绝对路径 regex_incl - 描述包含的 (文件, 目录, 符号链接 )的名称模式的正则 表达式 ;如果为空,则包含所有 (默认值) regex_excl - 描述了排除 (文件, 目录, 符号链接) 的名称模式正则 表达式 ; 如果为空,不排除任何实体 (默认) mode - 可能的值: apparent (默认) - 获取明确文件大小而不是磁盘使用情况( du -sb dir ), disk - 获取磁盘使用情况 ( du -s -B1 dir )。与du 命令不同, vfs.dir.size 监控项在计算目录大小会考虑隐藏文件 (du -sb .[^.] 在目录中起作用).max_depth -目录遍历的最大深度。 -1 (默认) - 无限制, 0 -不下钻到子目录 regex_excl_dir - 描述要排除的目录的名称模式的正则表达式,目录的所有内容都将被排除 (与 regex_excl相比) | 只计算 zabbix 用户至少可读权限的目录 在Windows上任何软链接被跳过,硬链接只计算一次 对于大型目录或慢速驱动器,此监控项可能会根据 agent 和 server/proxy 配置文件中的超时设置而超时,可以根据需要设置超时值。 示例: ⇒ vfs.dir.size[/tmp,log] - 计算 /tmp目录中包含 ‘log’的所有文件大小; ⇒ vfs.dir.size[/tmp,log,^.+.old$] -计算 /tmp目录中包含’log’的所有文件大小,排除文件中包含’.old’的文件。 文件大小限制取决于 大文件支持。 自Zabbix 3.4.0后开始支持 | |
vfs.file.cksum[file,<mode>] | ||||
文件校验和,由 UNIX cksum 算法计算得出。 | 整型 -mode 作为 crc32字符串 - mode 作为 md5, sha256 | file - 文件模式的全路径 mode - crc32 (默认), md5, sha256 | 示例: => vfs.file.cksum[/etc/passwd] 返回值示例 (分别为crc32/md5/sha256): 675436101 9845acf68b73991eb7fd7ee0ded23c44 ae67546e4aac995e5c921042d0cf0f1f7147703aa42bfbfb65404b30f238f2dc 文件大小限制取决于大文件支持。 自 Zabbix 6.0后开始支持 mode 参数 | |
vfs.file.contents[file,<encoding>] | ||||
检索文件的内容。 | 文本 | file - 文件的全路径 encoding - 编码 标识符 | 如果文件为空或仅包含 LF/CR 字符,则返回空字符串。 字节顺序标记 (BOM) 从输出中排除。 示例: => vfs.file.contents[/etc/passwd] 此监控项仅限于不大于 64 KB 的文件。 从Zabbix 2.0开始支持。 | |
vfs.file.exists[file,<types_incl>,<types_excl>] | ||||
检查文件是否存在。 | 0 -没有找到 1 - 指定文件类型存在 | file - 文件的完整路径。 types_incl - 包含的文件类型列表, 可能的值: file (常规文件,默认 (如果 types_excl未设置)), dir (目录), sym (符号链接), sock (套接字), bdev (块设备), cdev (字符设备), fifo (FIFO), dev (与 “bdev,cdev”同义), all (所有提到的类型,默认为如果 types_excl设置的值)。 types_excl - 排除的文件类型列表, 参阅 types_incl 获取可能的值 (默认情况下不排除任何类型) | 多个类型必须用逗号分隔,整个集合用 引号””括起来. 在Windows上,当使用命令行调用zabbix_get.exe或agent2时,双引号必须用反斜杠 ‘\’ 转义,并且整个项目键用双引号括起来。 如果 <types_incl> 和 <types_excl>中的类型相同,则排除此类型的文件 例如: => vfs.file.exists[/tmp/application.pid] => vfs.file.exists[/tmp/application.pid,”file,dir,sym”] => vfs.file.exists[/tmp/application_dir,dir] 文件大小取决于大文件支持。 请注意,如果在不存在的目录中搜索目录,例如vfs.file.exists[C:\no\dir,dir] (其中不存在 ‘no’)则该监控项可能会在Windows上变为不受支持 | |
vfs.file.get[file] | ||||
返回有关文件的信息。 | JSON 对象 | file - 文件的全路径 | 类 UNIX 系统上支持的文件类型: 常规文件、目录、 符号链接、套接字、块设备、字符设备、FIFO Windows 上支持的文件类型:常规文件、目录、符号链接 示例: => vfs.file.get[/etc/passwd] → 返回一个 JSON,其中包含有关 /etc/passwd 文件的信息(类型、用户、权限、SID、uid 等) 自Zabbix 6.0后开始支持 | |
vfs.file.md5sum[file] | ||||
文件的MD5校验和。 | 字符串 (MD5的哈希文件) | file - 文件的全路径 | 示例: => vfs.file.md5sum[/usr/local/etc/zabbix_agentd.conf] 示例的返回值: b5052decb577e0fffd622d6ddc017e82 版本 1.8.6 中删除了此项目的文件大小限制 (64 MB)。 文件大小限制取决于 大文件支持。 | |
vfs.file.owner[file,<ownertype>,<resulttype>] | ||||
检索文件的所有者 | 字符串 | file - 文件的全路径 ownertype - user (默认) 或 group (仅Unix) resulttype - name (默认) 或 id; 对于id - 在Unix上返回 uid/gid,Windows上返回SID | 示例: => vfs.file.owner[/tmp/zabbix_server.log] → 返回/tmp/zabbix_server.log文件所有者 => vfs.file.owner[/tmp/zabbix_server.log,,id] → 返回 /tmp/zabbix_server.log文件所有者id 自Zabbix 6.0后开始支持。 | |
vfs.file.permissions[file] | ||||
返回一个 4 位字符串,其中包含具有 Unix 权限的八进制数。 | 字符串 | file - 文件的全路径 | 在Windows上不支持 示例: => vfs.file.permissions[/etc/passwd] →返回/etc/passwd的文件权限, 例如, ‘0644’ 自Zabbix 6.0后开始支持 | |
vfs.file.regexp[file,regexp,<encoding>,<start line>,<end line>,<output>] | ||||
在文件中查找字符串。 | 包含匹配字符串的行,或由可选 output 参数指定的行 | file - 文件的全路径 regexp - 描述所需模式编码的正则表达式 encoding - 编码标识符 start line - 要搜索的第一行(默认为文件的第一行). end line - 要搜索的最后一行的编号(默认为文件的最后一行)。 output - 可选的输出格式模板 \0 转义序列被替换为匹配的文本部分(从匹配开始的第一个字符到匹配结束的字符) 而 \N (其中 N=1…9) 转义序列被替换为第N个匹配组 (如果N超过捕获组的数量,则为空字符串)。 | 仅返回第一个匹配行。 如果没有行匹配表达式,则返回一个空字符串。 字节顺序标记 (BOM) 从输出中排除。 使用该参数的内容提取 output 发生在代理上。从2.2版本开始支持 start line , end line and output 参数。例如: => vfs.file.regexp[/etc/passwd,zabbix] => vfs.file.regexp[/path/to/some/file,”([0-9]+)$”,,3,5,\1] => vfs.file.regexp[/etc/passwd,”^zabbix:.:([0-9]+)”,,,,\1] → 获取 zabbix用户ID | |
vfs.file.regmatch[file,regexp,<encoding>,<start line>,<end line>] | ||||
在文件中查找字符串。 | 0 - 未找到匹配 1 - 找到 | file - 文件全路径 regexp - 描述所需模式编码的正则表达式 encoding - 编码标识符 start line - 要搜索的第一行(默认为文件的第一行). end line - 要搜索的最后一行的编号(默认为文件的最后一行)。 | 字节顺序标记 (BOM) 被忽略。 从2.2开始支持 start line 和 end line 参数。示例: => vfs.file.regmatch[/var/log/app.log,error] | |
vfs.file.size[file,<mode>] | ||||
文件大小 (以字节为单位). | 整型 | file - 文件全路径 mode - 可能的值: bytes (默认) 或 lines (也计算空行) | 该文件必须对用户zabbix具有读取权限。 示例: => vfs.file.size[/var/log/syslog] 文件大小限制取决于大文件支持。 自Zabbix6.0起支持 mode 参数。 | |
vfs.file.time[file,<mode>] | ||||
文件时间信息。 | 整型 (Unix 时间戳) | file - 文件全路径 mode - 可能的值: modify (默认) - 最后修改文件内容的时间 access - 最后读文件的时间。 change - 最后更改文件属性的时间。 | 示例: => vfs.file.time[/etc/passwd,modify] 文件大小限制取决于 大文件支持. | |
vfs.fs.discovery | ||||
已安装文件系统及其类型的列表。用于低级别自动发现. | JSON 对象 | 从Zabbix 2.0开始支持。 自Zabbix3.0起,Windows支持{#FSDRIVETYPE}宏。 自Zabbix6.0起,Windows支持 {#FSLABEL}宏。 | ||
vfs.fs.get | ||||
挂载的文件系统列表、它们的类型、磁盘空间和 inode 统计信息。可用于低级别自动发现. | JSON 对象 | 自Zabbix 4.4.5后开始支持。 自Zabbix 6.0 起,Windows上支持 {#FSLABEL}宏 | ||
vfs.fs.inode[fs,<mode>] | ||||
inode数量或百分比 | 整型 - 表示数量 浮点型 - 用于百分比 | fs - 文件系统 mode - 可能的值: total (默认), free, used, //pfree // (空闲, 百分比), pused (使用, 百分比) | 示例: => vfs.fs.inode[/,pfree] | |
vfs.fs.size[fs,<mode>] | ||||
磁盘空间(以字节为单位)或占总数的百分比。 | 整型 - 字节 浮点型 - 百分比 | fs - 文件系统 mode - 可能的值: total (默认), free, used, pfree (空闲, 百分比), pused (使用, 百分比) | 如果是已挂载的卷,则返回本地文件系统的磁盘空间。 示例: => vfs.fs.size[/tmp,free] 当使用 free 模式时,文件系统的保留空间不考虑在内. |
虚拟机数据
键值 | ||||
---|---|---|---|---|
描述 | 返回值 | 参数 | 注释 | |
vm.memory.size[<mode>] | ||||
内存大小(以字节为单位)或占总数的百分比。 | 整型 - 字节 浮点型 -百分比 | mode - 可能的值: total (默认), active, anon, buffers, cached, exec, file, free, inactive, pinned, shared, slab, wired, used, pused (used, percentage), available, pavailable (available, percentage) 参阅平台特性 支持和此参数的 其他详细信息。 | 此监控项接受三类参数: 1) total - 内存总量; 2) 特定于平台的内存类型: active, anon, buffers, cached, exec, file, free, inactive, pinned, shared, slab, wired; 3) 用户级估计有多少内存已使用和可用: used, pused, available, pavailable。 |
网页监控数据
键值 | ||||
---|---|---|---|---|
描述 | 返回值 | 参数 | 注释 | |
web.page.get[host,<path>,<port>] | ||||
获取网页内容。 | 作为文本的网页源(包括标题) | host - 主机名或URL (如 scheme://host:port/path , 只有 host是强制的).允许的URL方案: http, https4. 缺少的方案将被使用 http。如果URL 指定了 path 和 port 必须为空。 连接服务需要验证时需指定用户名和密码,示例: http://user:[email protected] 只有curl4才有可能。主机名支持Punycode。 path - HTML文档路径(默认为 /) port - 端口号(默认是 http 80) | 如果指定的资源在 host 中不存在或不可用,则此监控项将不受支持。host 可以是主机名、域名、IPv4 或 IPv6 地址。但是对于 IPv6 地址,Zabbix 代理必须在启用 IPv6 支持的情况下编译。示例: => web.page.get[www.example.com,index.php,80] => web.page.get[https://www.example.com] => web.page.get[https://blog.example.com/?s=zabbix] => web.page.get[localhost:80] => web.page.get[“[::1]/server-status”] | |
web.page.perf[host,<path>,<port>] | ||||
整个网页的加载时间(以秒为单位)。 | 浮点型 | host - 主机名或URL (如 scheme://host:port/path , 只有 host是强制的).允许的URL方案: http, https4. 缺少的方案将被使用 http。如果URL 指定了 path 和 port 必须为空。 连接服务需要验证时需指定用户名和密码,示例: http://user:[email protected] 只有curl4才有可能。主机名支持Punycode。 path - HTML文档路径(默认为 /) port - 端口号(默认是 http 80) | 如果指定的资源在 host 中不存在或不可用,则此监控项将不受支持。host 可以是主机名、域名、IPv4 或 IPv6 地址。但是对于 IPv6 地址,Zabbix 代理必须在启用 IPv6 支持的情况下编译。示例: => web.page.perf[www.example.com,index.php,80] => web.page.perf[https://www.example.com] | |
web.page.regexp[host,<path>,<port>,regexp,<length>,<output>] | ||||
在网页上查找字符串。 | 匹配的字符串, 或由可选output 参数指定。 | host - 主机名或URL (如 scheme://host:port/path , 只有 host是强制的).允许的URL方案: http, https4. 缺少的方案将被使用 http。如果URL 指定了 path 和 port 必须为空。 连接服务需要验证时需指定用户名和密码,示例: http://user:[email protected] 只有curl4才有可能。主机名支持Punycode。 path - HTML文档路径(默认为 /) port - 端口号(默认是 http 80) regexp - 描述了所需模式的正则 表达式 length -返回最大的字符数 output - 可选的输出格式模板, \0 转义序列被替换为文本的匹配部分 (从从匹配开始的第一个字符到匹配结束的字符) ,而 \N (其中 N=1…9) 转义序列被替换为第 N 个匹配组 (如果 N 超过捕获的组数,则为空字符串)。 | 如果指定的资源在 host 中不存在或不可用,则此监控项将不受支持。host 可以是主机名、域名、IPv4 或 IPv6 地址。但是对于 IPv6 地址,Zabbix 代理必须在启用 IPv6 支持的情况下编译。使用该参数的内容提取 output 发生在代理上。从2.2版本开始支持 output 参数。示例: => web.page.regexp[www.example.com,index.php,80,OK,2] => web.page.regexp[https://www.example.com,,,OK,2] |