本节提供与使用 Zabbix agent 进行数据采集的监控项键值相关的详细信息。
Zabbix agent 支持被动和主动 agent 检查。在配置监控项时,您可以选择所需的类型:
请注意,所有在 Windows 上由 Zabbix agent 支持的键值也同样被新一代的 Zabbix agent 2 支持。查看additional item keys,这些仅适用于 agent 2。
这些信息帮助您选择适合您需求的agent类型,并了解监控项键值在不同agent配置中的应用和支持情况。
除非在监控项详细信息中另有说明,agent 程序项(及所有参数)支持以下平台:
许多agent 程序项也支持 Windows。有关详细信息,请参阅Windows agent程序项页面。
没有尖括号的参数是必填的。带有尖括号 < > 的参数是可选的。
操作系统支持的最大打开文件数。
返回值:整数。
支持的平台:Linux, FreeBSD, MacOS X, OpenBSD, NetBSD.
操作系统支持的最大进程数。
返回值:整数。
支持的平台:Linux 2.6及更高版本,FreeBSD,Solaris,MacOS X,OpenBSD,NetBSD。
当前打开文件描述符的数量。
返回值:整数。
支持的平台:Linux(该项可能在其他类UNIX平台上也可以工作)。
监控日志文件。
返回值:日志。
参见支持的平台。
参数:
备注:
output
为空 - 将返回包含匹配文本的整行。请注意,除了'Result is TRUE'之外的所有全局正则表达式类型始终返回整个匹配行,而output
参数将被忽略。output
参数在agent上进行内容提取。示例:
使用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'到服务器。因为发送的是数字值,因此此项的"信息类型"可以设置为"Numeric (unsigned)",并且该值可以用于图形、触发器等。
使用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。
参见支持的平台。
参数:
备注:
output
为空 - 返回包含匹配文本的整行。请注意,除了“结果为TRUE”以外的所有全局正则表达式类型始终返回整个匹配行,而output
参数将被忽略。output
参数进行内容提取是在agent上进行的。示例:
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”到服务器。
监控已轮换的日志文件中匹配行的计数。
返回值:Integer。
参见支持的平台。
参数:
备注:
读取Modbus数据。
返回值:JSON对象。
支持的平台:Linux。
参数:
protocol://connection_string
的终端点;查看有关参数的详细描述。
检查DNS服务是否运行。
返回值:0 - DNS不可用(服务器未响应或DNS解析失败);1 - DNS可用。
查看支持的平台。
参数:
注释:
type
的可能值包括:ANY, A, NS, CNAME, MB, MG, MR, PTR, MD, MF, MX, SOA, NULL, WKS(在Windows上不支持,Zabbix agent 2在所有操作系统上也不支持), HINFO, MINFO, TXT, SRVtype
设置为 PTR 时),您可以提供反向和非反向格式的DNS名称(请参见下面的示例)。请注意,当请求PTR记录时,DNS名称实际上是一个IP地址。示例:
net.dns[198.51.100.1,example.com,MX,2,1]
net.dns[,198.51.100.1,PTR]
net.dns[,1.100.51.198.in-addr.arpa,PTR]
net.dns[,2a00:1450:400f:800::200e,PTR]
net.dns[,e.0.0.2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.0.f.0.0.4.0.5.4.1.0.0.a.2.ip6.arpa,PTR]
检查DNS服务的性能。
返回值:浮点数(0 - 服务不可用;秒数 - 等待服务响应的秒数)。
查看支持的平台。
参数:
注释:
type
的可能值包括:ANY, A, NS, CNAME, MB, MG, MR, PTR, MD, MF, MX, SOA, NULL, WKS(在Windows上不支持,Zabbix agent 2在所有操作系统上也不支持), HINFO, MINFO, TXT, SRVtype
设置为 PTR 时),您可以提供反向和非反向格式的DNS名称(请参见下面的示例)。请注意,当请求PTR记录时,DNS名称实际上是一个IP地址。示例:
net.dns.perf[198.51.100.1,example.com,MX,2,1]
net.dns.perf[,198.51.100.1,PTR]
net.dns.perf[,1.100.51.198.in-addr.arpa,PTR]
net.dns.perf[,2a00:1450:400f:800::200e,PTR]
net.dns.perf[,e.0.0.2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.0.f.0.0.4.0.5.4.1.0.0.a.2.ip6.arpa,PTR]
执行DNS查询。
返回值:一个包含所需信息类型的字符字符串。
查看支持的平台。
参数:
注释:
type
的可能值包括:ANY, A, NS, CNAME, MB, MG, MR, PTR, MD, MF, MX, SOA, NULL, WKS(在Windows上不支持,Zabbix agent 2在所有操作系统上也不支持), HINFO, MINFO, TXT, SRVtype
设置为 PTR 时),您可以提供反向和非反向格式的DNS名称(请参见下面的示例)。请注意,当请求PTR记录时,DNS名称实际上是一个IP地址。示例:
net.dns.record[198.51.100.1,example.com,MX,2,1]
net.dns.record[,198.51.100.1,PTR]
net.dns.record[,1.100.51.198.in-addr.arpa,PTR]
net.dns.record[,2a00:1450:400f:800::200e,PTR]
net.dns.record[,e.0.0.2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.0.f.0.0.4.0.5.4.1.0.0.a.2.ip6.arpa,PTR]
获取网络接口的窗口外碰撞数。
返回值:整数。
支持的平台:Linux、FreeBSD、Solaris、AIX、MacOS X、OpenBSD、NetBSD。在NetBSD上需要root权限。
参数:
网络接口列表。用于低级发现。
返回值:JSON 对象。
支持的平台:Linux, FreeBSD, Solaris, HP-UX, AIX, OpenBSD, NetBSD。
网络接口上的入站流量统计。
返回值:整数。
支持的平台:Linux, FreeBSD, Solaris5, HP-UX, AIX, MacOS X, OpenBSD, NetBSD。在NetBSD上需要root权限。
参数:
注释:
示例:
网络接口上的传出流量统计。
返回值:整数。
支持的平台:Linux、FreeBSD、Solaris5、HP-UX、AIX、MacOS X、OpenBSD、NetBSD。在NetBSD上需要root权限。
参数:
备注:
示例:
网络接口上传入和传出流量统计的总和。
返回值:整数。
支持的平台:Linux、FreeBSD、Solaris5、HP-UX、AIX、MacOS X、OpenBSD、NetBSD。在NetBSD上需要root权限。
参数:
备注:
net.if.in
和net.if.out
都用于丢弃的包时,才支持丢弃的包。示例:
检查此TCP端口是否处于LISTEN状态。
返回值:0 - 不处于LISTEN状态;1 - 处于LISTEN状态。
支持的平台:Linux、FreeBSD、Solaris、MacOS X。
参数:
在Linux内核2.6.14及以上版本中,关于正在侦听的TCP套接字的信息是从内核的NETLINK接口获取的(如果可能的话)。否则,将从/proc/net/tcp和/proc/net/tcp6文件中检索信息。
示例:
检查是否可以连接到指定端口的TCP连接。
返回值:0 - 无法连接;1 - 可以连接。
参见支持的平台。
参数:
备注:
net.tcp.service.perf[tcp,<ip>,<port>]
;示例:
检查服务是否正在运行并接受TCP连接。
返回值:0 - 服务已停止;1 - 服务正在运行。
参见支持的平台。
参数:
备注:
net.tcp.port[]
进行此类检查。示例:
检查TCP服务的性能。
返回值:浮点数(0 - 服务已停止;秒数 - 等待服务响应的秒数)。
参见支持的平台。
参数:
备注:
net.tcp.service.perf[tcp,<ip>,<port>]
进行此类检查。示例:
返回与参数匹配的TCP套接字数量。
返回值:整数。
支持的平台:Linux。
参数:
示例:
检查此UDP端口是否处于LISTEN状态。
返回值:0 - 不处于LISTEN状态;1 - 处于LISTEN状态。
支持的平台:Linux、FreeBSD、Solaris、MacOS X。
参数:
示例:
检查服务是否正在运行并响应UDP请求。
返回值:0 - 服务已停止;1 - 服务正在运行。
参见支持的平台。
参数:
示例:
检查UDP服务的性能。
返回值:浮点数(0 - 服务已停止;秒数 - 等待服务响应的秒数)。
参见支持的平台。
参数:
示例:
返回与参数匹配的UDP套接字数量。
返回值:整数。
支持的平台:Linux。
参数:
示例:
进程CPU利用率百分比。
返回值:浮点数。
支持的平台:Linux、Solaris6。
参数:
备注:
zone
参数设置为current(或默认值)时,在agent 在不支持区域的Solaris上编译但在支持区域的较新Solaris上运行时,agent 将返回NOTSUPPORTED(agent 无法将结果限制为仅当前区域)。但在这种情况下,all是受支持的。示例:
proc.cpu.util[,root] #所有在“root”用户下运行的进程的CPU利用率
proc.cpu.util[zabbix_server,zabbix] #所有在zabbix用户下运行的zabbix_server进程的CPU利用率
操作系统进程及其参数列表。可用于低级发现。
返回值:JSON对象。
支持的平台:Linux、FreeBSD、Windows、OpenBSD、NetBSD。
参数:
备注:
-1
;name
和cmdline
参数选择进程的注意事项,请参见注释(仅适用于Linux)。示例:
proc.get[zabbix_server,zabbix,,process] #所有在zabbix用户下运行的zabbix_server进程的列表,每个PID返回一个条目
proc.get[java,,,thread] #所有Java进程的列表,每个线程返回一个条目
proc.get[,zabbix,,summary] #每种类型进程的组合数据,运行在zabbix用户下,每个进程名称返回一个条目
进程使用的内存字节数。
返回值:整数 - 当mode
为max、min、sum时;浮点数 - 当mode
为avg时。
支持的平台:Linux、FreeBSD、Solaris、AIX、Tru64、OpenBSD、NetBSD。
参数:
备注:
memtype
参数仅在Linux、FreeBSD、Solaris6、AIX上受支持;name
和cmdline
参数选择进程的注意事项,请参见注释(仅适用于Linux)。zabbix_agentd -t proc.mem[,,,apache2]
),将额外计算一个进程,因为agent 将计算自身。示例:
proc.mem[,root] #所有在“root”用户下运行的进程使用的内存
proc.mem[zabbix_server,zabbix] #所有在zabbix用户下运行的zabbix_server进程使用的内存
proc.mem[,oracle,max,oracleZABBIX] #在Oracle下运行,并且其命令行中包含oracleZABBIX的最耗内存进程使用的内存
进程的数量。
返回值:整数。
支持的平台:Linux、FreeBSD、Solaris、HP-UX、AIX、Tru64、OpenBSD、NetBSD。
参数:
备注:
zabbix_agentd -t proc.num[,,,apache2]
),将额外计算一个进程,因为agent 将计算自身;zone
参数设置为current(或默认值)时,在agent 在不支持区域的Solaris上编译但在支持区域的较新Solaris上运行时,agent 程序将返回NOTSUPPORTED(agent 无法将结果限制为仅当前区域)。但在这种情况下,all是受支持的。name
和cmdline
参数选择进程的注意事项,请参见注释(仅适用于Linux)。示例:
proc.num[,mysql] #在mysql用户下运行的进程数量
proc.num[apache2,www-data] #在www-data用户下运行的apache2进程数量
proc.num[,oracle,sleep,oracleZABBIX] #在Oracle下运行且其命令行中包含oracleZABBIX的睡眠状态进程数量
硬件传感器读数。
返回值:浮点数。
支持的平台:Linux、OpenBSD。
参数:
备注:
示例:
sensor[w83781d-i2c-0-2d,temp1]
sensor[cpu0,temp0] #一个CPU的温度
sensor["cpu[0-2]$",temp,avg] #前三个CPU的平均温度
系统启动时间。
返回值:整数(Unix时间戳)。
支持的平台:Linux、FreeBSD、Solaris、MacOS X、OpenBSD、NetBSD。
检测到的CPU/CPU核心列表。用于低级发现。
返回值:JSON对象。
查看支持的平台。
设备中断数。
返回值:整数。
支持的平台:Linux、FreeBSD、Solaris、AIX、OpenBSD、NetBSD。
参数:
在Tru64上不支持percpu参数。
示例:
CPU的数量。
返回值:整数。
支持的平台:Linux、FreeBSD、Solaris、HP-UX、AIX、MacOS X、OpenBSD、NetBSD。
参数:
max类型参数仅在Linux、FreeBSD、Solaris、MacOS X上受支持。
示例:
上下文切换次数。
返回值:整数。
支持的平台:Linux、FreeBSD、Solaris、AIX、OpenBSD、NetBSD。
CPU利用率百分比。
返回值:浮点数。
支持的平台:Linux、FreeBSD、Solaris、HP-UX、AIX、Tru64、OpenBSD、NetBSD。
参数:
备注:
示例:
系统主机名。
返回值:字符串。
查看支持的平台。
参数:
该值是通过从uname()系统API输出中获取nodename
而获得的。
返回值示例:
system.hostname → linux-w7x1
system.hostname → example.com
system.hostname[shorthost] → example
system.hostname → WIN-SERV2008-I6
system.hostname[host] → Win-Serv2008-I6LonG
system.hostname[host,lower] → win-serv2008-i6long
system.hostname[fqdn,lower] → blog.zabbix.com
机箱信息。
返回值:字符串。
支持的平台:Linux。
参数:
备注:
示例:
CPU信息。
返回值:字符串或整数。
支持的平台:Linux。
参数:
备注:
/proc/cpuinfo
和/sys/devices/system/cpu/[cpunum]/cpufreq/cpuinfo_max_freq
中收集信息;示例:
PCI或USB设备列表。
返回值:文本。
支持的平台:Linux。
参数:
返回lspci或lsusb实用程序的输出(无参数执行)。
示例:
MAC地址列表。
返回值:字符串。
支持的平台:Linux。
参数:
备注:
interface
正则表达式匹配的接口的MAC地址(all列出所有接口);format
指定为short,则不列出接口名称和相同的MAC地址。示例:
系统时间。
返回值:Integer - type
为utc时;String - type
为local时。
支持的平台。
参数:
必须仅用作被动检查。
示例:
在主机上运行指定的命令。
返回值:Text 命令的结果或1(mode
为nowait时,无论命令结果如何)。
支持的平台。
参数:
注:
text
数据类型。还允许空结果;示例:
系统统计信息。
返回值:整数 或 浮点数。
支持的平台:AIX。
参数:
注:
system.stat[cpu,app]
- 仅支持AIX LPAR类型为“Shared”system.stat[cpu,ec]
- 仅支持AIX LPAR类型为“Shared”和“Dedicated”(“Dedicated”始终返回100(百分比))system.stat[cpu,lbusy]
- 仅支持AIX LPAR类型为“Shared”system.stat[cpu,pc]
- 仅支持AIX LPAR类型为“Shared”和“Dedicated”system.stat[ent]
- 仅支持AIX LPAR类型为“Shared”和“Dedicated”软件架构信息。
返回值:字符串。
参见支持的平台。
信息从uname()
函数获取。
示例:
操作系统信息。
返回值:字符串。
支持的平台:Linux,Windows。
参数:
信息获取自(请注意,并非所有文件和选项在所有发行版中都存在):
/proc/version
(full);/proc/version_signature
(short);/etc/os-release
中的PRETTY_NAME参数获取或从/etc/issue.net
中获取(name);HKLM\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion
注册表键。示例:
system.sw.os[short] → Ubuntu 2.6.35-28.50-generic 2.6.35.11
system.sw.os[full] → [s|Windows 10 Enterprise 22621.1.asd64fre.ni_release.220506-1250 Build 22621.963]
操作系统的详细信息(版本、类型、发行版名称、次要和主要版本等)。
返回值:JSON对象。
支持的平台:Linux,Windows.
已安装软件包的列表。
返回值:Text。
支持的平台:Linux.
参数:
备注:
format
指定为full,则软件包将按包管理器分组(每个管理器在单独的一行上以其名称开始,并用方括号括起来);format
指定为short,则软件包不会分组,并且将列在单行上。示例:
已安装软件包的详细列表。
返回值:JSON object。
支持的平台:Linux.
参数:
备注:
交换(从设备到内存)统计信息。
返回值:Integer。
支持的平台:Linux, FreeBSD, OpenBSD.
参数:
备注:
示例:
交换出(从内存到设备)统计信息。
返回值:Integer。
支持的平台:Linux, FreeBSD, OpenBSD.
参数:
备注:
/proc/swaps
, /proc/partitions
, /proc/stat
(Linux 2.4)/proc/swaps
, /proc/diskstats
, /proc/vmstat
(Linux 2.6)示例:
交换空间大小(以字节或总量的百分比表示)。
返回值:Integer - 字节;Float - 百分比。
支持的平台:Linux, FreeBSD, Solaris, AIX, Tru64, OpenBSD.
参数:
备注:
swap -s
命令包括一部分物理内存和交换设备(不像swap -l
)。示例:
系统标识。
返回值:String。
参见支持的平台。
备注:
示例:
system.uname → FreeBSD localhost 4.2-RELEASE FreeBSD 4.2-RELEASE #0: Mon Nov i386
system.uname → Windows ZABBIX-WIN 6.0.6001 Microsoft® Windows Server® 2008 Standard Service Pack 1 x86
系统运行时间(以秒为单位)。
返回值:Integer。
支持的平台:Linux, FreeBSD, Solaris, AIX, MacOS X, OpenBSD, NetBSD. Tru64上的支持情况未知。
在item配置中,使用s或uptime单位以获得可读性更强的值。
已登录用户数。
返回值:Integer。
参见支持的平台。
agent 使用who命令来获取该值。
块设备列表及其类型。用于低级发现。
返回值:JSON对象。
支持的平台:Linux。
磁盘读取统计信息。
返回值:Integer - type
为 sectors, operations, bytes; Float - type
为 sps, ops, bps.
支持的平台:Linux, FreeBSD, Solaris, AIX, OpenBSD。
参数:
type
为 sps, ops, bps 时。Comments:
mode
参数仅在Linux,FreeBSD上受支持;sda
)以及可选的 /dev/ 前缀(例如,/dev/sda
);Example:
磁盘读取统计信息。
返回值:Integer - type
为 sectors, operations, bytes; Float - type
为 sps, ops, bps。
支持的平台:Linux, FreeBSD, Solaris, AIX, OpenBSD。
参数:
type
为 sps, ops, bps 时。Comments:
mode
参数仅在Linux,FreeBSD上支持;sda
)以及可选的 /dev/ 前缀(例如,/dev/sda
);Example:
磁盘写入统计信息。
返回值:Integer - type
为 sectors, operations, bytes; Float - type
为 sps, ops, bps。
支持的平台:Linux, FreeBSD, Solaris, AIX, OpenBSD。
参数:
type
为 sps, ops, bps 时。Comments:
mode
参数仅在Linux,FreeBSD上支持;sda
)以及可选的 /dev/ 前缀(例如,/dev/sda
);示例:
目录条目计数。
返回值:Integer。
支持的平台。
参数:
types incl
)。如果某种条目类型既在 types incl
又在 types excl
中,则不计算此类型的目录条目。Comments:
regex incl
和 regex excl
都应用于文件和目录,但在选择要遍历的子目录时会被忽略(如果 regex incl
为“(?i)^.+\.zip$”,并且未设置 max depth
,则将遍历所有子目录,但仅计数类型为 zip 的文件)。<min_size>
和 <max_size>
时,建议将 <types_incl>
指定为 "file",以避免意外。Examples:
vfs.dir.count[/dev] #监视 /dev 中的设备数 (Linux)
vfs.dir.count["C:\Users\ADMINI~1\AppData\Local\Temp"] #监视临时目录中的文件数
获取目录条目列表。
返回值:JSON object。
支持的平台。
参数:
types incl
)。如果某种条目类型既在 types incl
又在 types excl
中,则不列出此类型的目录条目。regex excl
不同)。Comments:
regex incl
和 regex excl
都应用于文件和目录,但在选择要遍历的子目录时会被忽略(如果 regex incl
为“(?i)^.+\.zip$”,并且未设置 max depth
,则将遍历所有子目录,但仅列出类型为 zip 的文件)。min size
和 max size
时,建议将 types incl
指定为 "file",以避免意外。示例:
vfs.dir.get[/dev] #检索 /dev 中的设备列表 (Linux)
vfs.dir.get["C:\Users\ADMINI~1\AppData\Local\Temp"] #检索临时目录中的文件列表
The directory size (in bytes).
Return value: Integer.
Supported platforms: Linux. The item may work on other UNIX-like platforms.
Parameters:
du -sb dir
), disk - gets disk usage (acts as du -s -B1 dir
). Unlike the du
command, the vfs.dir.size item takes hidden files in account when calculating the directory size (acts as du -sb .[^.]* *
within dir).regex excl
)Comments:
示例:
vfs.dir.size[/tmp,log] #calculates the size of all files in /tmp containing 'log' in their names
vfs.dir.size[/tmp,log,^.+\.old$] #calculates the size of all files in /tmp containing 'log' in their names, excluding files with names ending with '.old'
文件校验和,使用 UNIX cksum 算法计算。
返回值:Integer - 当 mode
为 crc32 时,String - 当 mode
为 md5 或 sha256 时。
请参阅支持的平台。
参数:
文件大小限制取决于大文件支持。
示例:
返回值示例(分别为 crc32/md5/sha256):
675436101
9845acf68b73991eb7fd7ee0ded23c44
ae67546e4aac995e5c921042d0cf0f1f7147703aa42bfbfb65404b30f238f2dc
参数:
注释:
示例:
检查文件是否存在。
返回值:0 - 未找到;1 - 存在指定类型的文件。
请参阅支持的平台。
参数:
注释:
示例:
vfs.file.exists[/tmp/application.pid]
vfs.file.exists[/tmp/application.pid,"file,dir,sym"]
vfs.file.exists[/tmp/application_dir,dir]
返回有关文件的信息。
返回值:JSON 对象。
请参阅支持的平台。
参数:
注释:
示例:
文件的 MD5 校验和。
返回值:字符串(文件的 MD5 散列值)。
请参阅支持的平台。
参数:
文件大小限制取决于大文件支持。
示例:
返回值示例:
获取文件的所有者。
返回值:String。
请参阅支持的平台。
参数:
文件大小限制取决于大文件支持。
示例:
vfs.file.owner[/tmp/zabbix_server.log] #返回 /tmp/zabbix_server.log 的文件所有者
vfs.file.owner[/tmp/zabbix_server.log,,id] #返回 /tmp/zabbix_server.log 的文件所有者 ID
返回包含 UNIX 权限的八进制数字的四位字符串。
返回值:String。
支持的平台:Linux。此项可能在其他类 UNIX 平台上工作。
参数:
文件大小限制取决于大文件支持。
示例:
在文件中检索字符串7。
返回值:包含匹配字符串的行,或按可选的 output
参数指定的内容。
请参阅支持的平台。
参数:
注释:
output
参数进行内容提取是在agent 上进行的。示例:
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
在文件中查找字符串7。
返回值:0 - 未找到匹配;1 - 找到匹配。
请参阅支持的平台。
参数:
注释:
示例:
文件大小(以字节为单位)。
返回值:Integer。
请参阅支持的平台。
参数:
注释:
示例:
文件时间信息。
返回值:Integer(Unix 时间戳)。
请参阅支持的平台。
参数:
文件大小限制取决于大文件支持。
示例:
挂载的文件系统列表,包含它们的类型和挂载选项。用于低级发现。
返回值:JSON 对象。
支持的平台:Linux、FreeBSD、Solaris、HP-UX、AIX、MacOS X、OpenBSD、NetBSD。
挂载的文件系统列表,包含它们的类型、可用磁盘空间、inode 统计信息和挂载选项。可用于低级发现。
返回值:JSON 对象。
支持的平台:Linux、FreeBSD、Solaris、HP-UX、AIX、MacOS X、OpenBSD、NetBSD。
注释:
inode 的数量或百分比。
返回值:Integer - 表示数量;Float - 表示百分比。
请参阅支持的平台。
参数:
如果 inode 计数等于零,这可能是具有动态 inode 的文件系统(例如 btrfs)的情况,则 pfree/pused 值将分别报告为 "100" 和 "0"。
示例:
inode 的数量或百分比。
返回值:Integer - 表示数量;Float - 表示百分比。
请参阅支持的平台。
参数:
如果 inode 计数等于零,这可能是具有动态 inode 的文件系统(例如 btrfs)的情况,则 pfree/pused 值将分别报告为 "100" 和 "0"。
示例:
内存大小(以字节为单位或作为总量的百分比)。
返回值:Integer - 表示字节;Float - 表示百分比。
请参阅支持的平台。
参数:
注释:
示例:
获取网页内容。
返回值:网页源代码文本(包括头部)。
请参阅支持的平台。
参数:
scheme://host:port/path
,其中只有 host 是必需的)。允许的 URL 方案:http、https4。如果缺少方案,则将其视为 http。如果指定了 URL,则 path
和 port
必须为空。仅在具有 cURL 支持时,才可以在连接到需要身份验证的服务器时指定用户名/密码,例如:http://user:[email protected]
4。主机名支持 Punycode。注释:
host
中指定的资源不存在或不可用,则此项将变为不受支持;host
可以是主机名、域名、IPv4 或 IPv6 地址。但是,对于 IPv6 地址,Zabbix agent 必须启用 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"]
完整网页加载时间(秒为单位)。
返回值:Float。
请参阅支持的平台。
参数:
scheme://host:port/path
,其中只有 host 是必需的)。允许的 URL 方案:http、https4。如果缺少方案,则将其视为 http。如果指定了 URL,则 path
和 port
必须为空。仅在具有 cURL 支持时,才可以在连接到需要身份验证的服务器时指定用户名/密码,例如:http://user:[email protected]
4。主机名支持 Punycode。注释:
host
中指定的资源不存在或不可用,则此项将变为不受支持;host
可以是主机名、域名、IPv4 或 IPv6 地址。但是,对于 IPv6 地址,Zabbix agent 必须启用 IPv6 支持编译。示例:
在网页上查找字符串。
返回值:匹配的字符串,或根据可选的 output
参数指定的内容。
请参阅支持的平台。
参数:
scheme://host:port/path
,其中只有 host 是必需的)。允许的 URL 方案:http、https4。如果缺少方案,则将其视为 http。如果指定了 URL,则 path
和 port
必须为空。仅在具有 cURL 支持时,才可以在连接到需要身份验证的服务器时指定用户名/密码,例如:http://user:[email protected]
4。主机名支持 Punycode。注释:
host
中指定的资源不存在或不可用,则此项将变为不受支持;host
可以是主机名、域名、IPv4 或 IPv6 地址。但是,对于 IPv6 地址,Zabbix agent 必须启用 IPv6 支持编译。output
参数进行内容提取是在agent 上进行的。示例:
agent 主机元数据。
返回值:String。
请参阅支持的平台。
返回 HostMetadata 或 HostMetadataItem 参数的值,如果没有定义则返回空字符串。
agent 主机名。
返回值:String。
请参阅支持的平台。
返回值:
agent 可用性检查。
返回值:无 - 不可用;1 - 可用。
请参阅支持的平台。
使用 nodata() 触发器函数检查主机的不可用性。
Zabbix agent的变体(Zabbix agent或 Zabbix agent 2)。
返回值:1 - Zabbix agent;2 - Zabbix agent 2。
请参阅支持的平台。
Zabbix agent的版本。
返回值:String。
请参阅支持的平台。
返回值示例:
远程返回一组 Zabbix server或proxy 的内部指标。
返回值:JSON 对象。
请参阅支持的平台。
参数:
注释:
远程返回在 Zabbix server或proxy上延迟的监视监控项队列中的数量。
返回值:JSON 对象。
请参阅支持的平台。
参数:
请注意,统计信息请求仅会从目标实例的 'StatsAllowedIP' server/proxy 参数中列出的地址接受。
以下是您可以与 Zabbix agent 使用的监控项键值列表。
这些监控项键值列出了没有参数和额外信息。点击监控项键值以查看详细信息。
监控项键值 | 描述 | 监控项组 |
---|---|---|
kernel.maxfiles | 操作系统支持的最大打开文件数。 | Kernel |
kernel.maxproc | 操作系统支持的最大进程数。 | |
kernel.openfiles | 当前打开文件描述符的数量。 | |
log | 监控日志文件。 | 日志监控 |
log.count | 监控的日志文件中匹配行的数量。 | |
logrt | 监控已轮转的日志文件。 | |
logrt.count | 监控已轮转的日志文件中匹配行的数量。 | |
modbus.get | 读取 Modbus 数据。 | Modbus |
net.dns | 检查 DNS 服务是否运行。 | Network |
net.dns.perf | 检查 DNS 服务的性能。 | |
net.dns.record | 执行 DNS 查询。 | |
net.if.collisions | 网络接口上窗外冲突的数量。 | |
net.if.discovery | 网络接口列表。 | |
net.if.in | 网络接口上的入站流量统计。 | |
net.if.out | 网络接口上的出站流量统计。 | |
net.if.total | 网络接口上入站和出站流量统计的总和。 | |
net.tcp.listen | 检查此 TCP 端口是否处于监听状态。 | |
net.tcp.port | 检查是否可以连接到指定端口的 TCP 连接。 | |
net.tcp.service | 检查服务是否正在运行并接受 TCP 连接。 | |
net.tcp.service.perf | 检查 TCP 服务的性能。 | |
net.tcp.socket.count | 返回与参数匹配的 TCP 套接字数量。 | |
net.udp.listen | 检查此 UDP 端口是否处于监听状态。 | |
net.udp.service | 检查服务是否正在运行并响应 UDP 请求。 | |
net.udp.service.perf | 检查 UDP 服务的性能。 | |
net.udp.socket.count | 返回与参数匹配的 UDP 套接字数量。 | |
proc.cpu.util | 进程 CPU 利用率百分比。 | Processes |
proc.get | 操作系统进程及其参数列表。 | |
proc.mem | 进程使用的内存字节数。 | |
proc.num | 进程数量。 | |
sensor | 硬件传感器读数。 | Sensors |
system.boottime | 系统启动时间。 | System |
system.cpu.discovery | 检测到的 CPU/CPU 核心列表。 | |
system.cpu.intr | 设备中断。 | |
system.cpu.load | CPU 负载。 | |
system.cpu.num | CPU 数量。 | |
system.cpu.switches | 上下文切换次数。 | |
system.cpu.util | CPU 利用率百分比。 | |
system.hostname | 系统主机名。 | |
system.hw.chassis | 机箱信息。 | |
system.hw.cpu | CPU 信息。 | |
system.hw.devices | 安装的 PCI 或 USB 设备列表。 | |
system.hw.macaddr | MAC 地址列表。 | |
system.localtime | 系统时间。 | |
system.run | 在主机上运行指定命令。 | |
system.stat | 系统统计信息。 | |
system.sw.arch | 软件架构信息。 | |
system.sw.os | 操作系统信息。 | |
system.sw.os.get | 操作系统的详细信息(版本、类型、发行名称、次要和主要版本等)。 | |
system.sw.packages | 已安装软件包列表。 | |
system.sw.packages.get | 已安装软件包的详细列表。 | |
system.swap.in | 交换入(从设备到内存)统计。 | |
system.swap.out | 交换出(从内存到设备)统计。 | |
system.swap.size | 交换空间大小(字节或占总量的百分比)。 | |
system.uname | 系统标识。 | |
system.uptime | 系统运行时间(秒)。 | |
system.users.num | 登录用户数。 | |
vfs.dev.discovery | 块设备及其类型列表。 | Virtual file systems |
vfs.dev.read | 磁盘读取统计。 | |
vfs.dev.write | 磁盘写入统计。 | |
vfs.dir.count | 目录条目计数。 | |
vfs.dir.get | 目录条目列表。 | |
vfs.dir.size | 目录大小。 | |
vfs.file.cksum | 使用 UNIX cksum 算法计算的文件校验和。 | |
vfs.file.contents | 获取文件的内容。 | |
vfs.file.exists | 检查文件是否存在。 | |
vfs.file.get | 返回文件的信息。 | |
vfs.file.md5sum | 文件的 MD5 校验和。 | |
vfs.file.owner | 检索文件的所有者。 | |
vfs.file.permissions | 返回包含 UNIX 权限的四位字符串。 | |
vfs.file.regexp | 在文件中检索字符串。 | |
vfs.file.regmatch | 在文件中查找字符串。 | |
vfs.file.size | 文件大小。 | |
vfs.file.time | 文件时间信息。 | |
vfs.fs.discovery | 挂载的文件系统列表及其类型和挂载选项。 | |
vfs.fs.get | 挂载的文件系统列表及其类型、可用磁盘空间、inode 统计和挂载选项。 | |
vfs.fs.inode | inode 数量或百分比。 | |
vfs.fs.size | 磁盘空间(字节或占总量的百分比)。 | |
vm.memory.size | 内存大小(字节或占总量的百分比)。 | Virtual memory |
web.page.get | 获取网页内容。 | Web 监控 |
web.page.perf | 完整网页的加载时间。 | |
web.page.regexp | 在网页中查找字符串。 | |
agent.hostmetadata | agent主机元数据。 | Zabbix |
agent.hostname | agent主机名。 | |
agent.ping | agent可用性检查。 | |
agent.variant | Zabbix agent 的变体(Zabbix agent 或 Zabbix agent 2)。 | |
agent.version | Zabbix agent 的版本。 | |
zabbix.stats | 远程返回一组 Zabbix server或proxy内部指标。 | |
zabbix.stats | 远程返回 Zabbix server或proxy 队列延迟数。 |
1 Linux 特定的注意事项。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、sdb 等)及其分区(sda1、sda2、sdb3...)以及基于这些块设备/分区的多个设备(MD RAID)和基于这些块设备/分区的逻辑卷(LVM)。在这种情况下,返回的值应仅被视为相对值(随时间动态变化),而不是绝对值。
4 仅当agent 使用 cURL 支持编译时,才支持 SSL(HTTPS)。否则,该项将变为不支持。
5 在 Solaris 系统中,对于环回接口,直到 Solaris 10 6/06 版本为止,不支持 bytes
和 errors
值,因为内核未存储和/或报告字节、错误和利用率统计信息。但是,如果通过 net-snmp 监控 Solaris 系统,则可能会返回值,因为 net-snmp 具有来自 cmu-snmp 的旧代码,日期可以追溯到 1997 年,该代码在无法从接口统计信息中读取字节值时返回包计数器(在环回接口上存在)乘以任意值 308。这是一种非常粗略的估计,因为 Solaris 系统中环回接口的 MTU 限制为 8892 字节。这些值不应被认为是正确的,甚至是准确的。它们是估计值。Zabbix agent 不进行任何猜测,但 net-snmp 将为这些字段返回一个值。
6 在 Solaris 上,从 /proc/pid/psinfo 获取的命令行长度限制为 80 字节,并且包含进程启动时的命令行。
7 vfs.file.contents[]
, vfs.file.regexp[]
, vfs.file.regmatch[]
项可用于检索文件内容。如果要限制对具有敏感信息的特定文件的访问,请在没有查看这些文件权限的用户下运行 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]
为了确保获取的数据不会损坏,您可以在 encoding
参数中指定正确的编码来处理检查(例如 'vfs.file.contents')。支持的编码列表(代码页标识符)可以在 libiconv(GNU 项目)的文档中或者在 Microsoft Windows SDK 文档中的 "Code Page Identifiers" 中找到。
如果在 encoding
参数中未指定编码,则将应用以下解析策略:
对于被动检查,为了防止由于server 请求到agent 的超时而导致监控项无法获得任何值,应注意以下事项: