第三章:zabbix处理监控指标数据
如下对常用的监控项进行了归类,具体详情也可以参考zabbix官网,进行查找
监控项含义:
描述 | 返回值 | 参数 | 注释 |
与网络连接相关的key | |||
net.tcp.listen[port] |
0-不在监听状态 1-处于监听状态 |
port-TCP端口号 |
示例:=>net.tcp.listen[80] 在linux内耗2.6.14及更高版本上,有关侦听TCP的信息可从内核的NETLINK接口获得,或是将从/proc/net/tcp和/proc/net/tcp6文件中检索信息 |
net.tcp.port[<ip>,port] |
0-无法连接 1-可以连接 |
IP-IP地址(默认为127.0.0.1) 端口-端口号 |
示例:=>net.tcp.port[,80]->可用于探测在端口80上运行的web服务器的可用性 |
net.tcp.service[service,<ip>,<port>] |
0-服务关闭 1-服务正在运行 |
service-例如:ssh,ldap,ftp,http,pop,nntp,imap,tcp,https,telnet ip-ip地址(默认是127.0.0.1) port-端口号(缺省为标准服务使用端口号) |
示例:net.tcp.service[ftp,,45]->可用于测试TCP端口45上ftp服务器可用性 |
net.tcp.service.perf[service,<ip>,<port>] |
0-服务关闭 seconds-连接到服务所花费的秒数 |
service-例如:ssh,ldap,ftp,http,pop,nntp,imap,tcp,https,telnet
ip-ip地址(默认是127.0.0.1) port-端口号(缺省为标准服务使用端口号) |
示例:net.tcp.service.perf[ssh]->可用于测试来自SSH服务器的初始响应速度 |
net.udp.listen[port] |
0-不在监听状态 1-处于监听状态 |
port-UDP端口号 | |
net.udp.service[service,<ip>,<port>] |
0-不在监听状态 1-处于监听状态 |
||
net.udp.service.perf[service,<ip>,<port>] |
0-服务关闭 seconds-连接到服务所花费的秒数 |
||
net.dns[<ip>,name,<type>,<timeout>,<count>,<protocol>] 检测DNS服务是否已经启动 |
0-DNS关闭(服务器没有响应或DNS解析失败) 1-DNS已经启动 |
ip-DNS服务器的IP地址(对于默认的DNS服务器,请留空,在windows中将被忽略) name-要查询的DNS名称 type-要查询的记录类型(默认为SOA) timeout-(在windows上被忽略)-以秒为单位的请求超时(默认为1秒) count-(在windows上被忽略)-请求的尝试次数(默认为2) protocol-用于执行DNS查询的协议,默认为udp,或tcp |
示例:=>net.dns[8.8.8.8,zabbix.com,MX,2,1] |
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-用于执行DNS查询的协议,默认为udp,或tcp |
示例:=>net.dns[8.8.8.8,zabbix.com,MX,2,1] |
监控进程的key | |||
proc.cpu.util[<name>,<user>,<type>,<cmdline>,<mode>,<zone>]进程占用CPU的百分比 | 整数 |
name:进程名称(默认为所有进程) user:用户名(默认为所有用户) type:cpu利用率类型,total(默认),user,system cmdline:通过命令行过滤(这是一个正则表达式) zone:目标区域current(默认是当前),all。仅solaris上支持此参数 |
示例:=>proc.cpu.util[,root]->在“root”用户下运行的所有进程的CPU利用率 =>proc.cpu.util[zabbix_server,zabbix]->在zabbix用户下运行的所有zabbix_server进程的CPU利用率返回值基于单个CPU核心利用率百分比。 |
proc.mem[<name>,<user>,<mode>,<cmdline>,<memtype>] 进程使用的内存(以字节为单位) |
整数-模式为最大,最小,总和 浮点数-平均值 |
name-进程名称(默认为所有进程) user-用户名(默认为所有用户) mode-可能的值,avg、max、min、sum(默认) cmdline-通过命令行过滤(可通过正则表达式) memtype-进程使用的内存类型 |
示例:=>proc.mem[,root]->在‘root’用户下运行的所有进程使用的内存 =>proc.mem[zabbix_server,zabbix]->在zabbix用户下运行的所有zabbix-server进程使用的内存 proc.mem[,oracle,max,oracleZABBIX]->由在命令行中具有oracleZABBIX的oracle下运行的最耗内存的进程使用内存情况 |
proc.num[<name>,<user>,<state>,<cmdline>,<zone>] 进程数 | 整数 |
name-进程名称(默认为所有进程) user-用户名(默认所有用户) state-可能的值-all(默认)、disk不间断睡眠、run运行、sleep睡眠中断、trace已停止、zomb僵尸 cmdline-通过命令行过滤(可以使用正则表达式) zone-目标区域,当前(默认,全部,仅solaris上支持此参数) |
示例:=>proc.num[,mysql]->在mysql用户下运行的进程数 =>proc.num[apache2,www-data]->在www-data用户下运行的apache2进程数 =>proc.num[,oracle,sleep,oracleZABBIX]->在其命令行中有oracleZABBIX的oracle下,处于睡眠状态的进程数 注意:在windows上,仅支持name和user参数。 |
kernel.maxfiles操作系统持续的最大打开文件数 | 整数 | ||
kernel.maxproc操作系统支持的最大进程数 | 整数 | ||
监控CPU和内存的key | |||
system.cpu.intr设备中断 | 整数 | ||
system.cpu.load[<cpu>,<mode>] | 浮点数 |
cpu-可能的值all(default),percpu(总负载除以在线cpu数量) mode-可能的值,avg1(平均一分钟,默认),avg5,avg15 |
|
system.cpu.num[<type>] CPU数量 | 整数 | type-可能的值:online(默认),最大值 | |
system.cpu.switches上下文切换计数 | 整数 | ||
system.cpu.util[<cpu>,<type>,<mode>] | 浮点数 |
cpu-cpu数量或是所有,默认是所有 type-user(默认)idle、nice、system(windows默认)iowait、interrupt、softirq、steal、guest(在linux内核2.6.24及更高版本上)、guest_nice(在linux内核2.6.33及更高版本),字zabbix3.0.14、3.4.5和4.0.0起参数user和nice time不在包括guest time和guest_nice时间 mode:-可能的值avg1(平均一分钟,默认),avg5,avg15 |
Example: ⇒ system.cpu.util[0,user,avg5] |
system.cpu.discovery检测cpu/cpu核心列表,用于low-level discovery | JSON object | ||
vm.memory.size[<mode>]内存大小(以字节为单位)或占总数的百分比 |
整数-bytes 浮点数-半分比 |
模式-可能的值:total(默认)、active、anon、buffers、cacehd、exec、file、inactive、pinned、shared、slab、wired、used、pused(已使用百分比)、avaliable、pavaliable(可用的百分比) | |
sensor[device,sensor,<mode>]硬件传感器读数 | 浮点数 |
divice-divice 名称 sensor-sensor名称 mode-可能的值,avg、max、min(如果省略此参数,则逐字对待设备和传感器)
|
|
磁盘I/O监控的key |
|||
vfs.dev.read[<device>,<type>,<mode>] 磁盘读取统计 | |||
vfs.dev.write[<device>,<type>,<mode>]磁盘写统计信息 | |||
vfs.fs.inode[fs,<mode>]索引节点的数量或百分比 |
整数-for number 浮点数-for percentage |
fs-文件类型 mode-可能的值,total(默认)、free、used、pfree(free百分比)、pused(used百分比) |
示例vfs.fs.inode[/,pfree] |
文件监控的key | |||
vfs.file.cksum[file] 文件校验和,由UNIX cksum算法计算 | 整型 | file-文件的完整路径 | 示例=>vfs.file.cksum[/etc/passwd]返回值1938292000 |
vfs.file.contents[file,<encoding>]检索文件的内容 | Text |
file-文件的完整路径 encoding-字符编码 |
示例=>vfs.file.contents[/etc/passwd]此项目仅限于不超过64KB的文件。 |
vfs.file.exists[file]检查文件是否存在 |
0-没有找到 1-常规文件或指向常规文件的链接(符号或硬链接) |
file-文件的完整路径 | 例: ⇒vfs.file.exists [/tmp/application.pid] 返回值取决于S_ISREG POSIX宏返回什么。 |
vfs.file.md5sum[file]文件的MD5校验和 | 字符串(文件的MD5哈希) | file-文件的完整路径 | 例: ⇒vfs.file.md5sum [/usr/local/etc/zabbix_agentd.conf] 返回值示例: b5052decb577e0fffd622d6ddc017e82 |
vfs.file.regexp[file,regexp,<encoding>,<start line>,<end line>,<output>]在文件中查找字符串 | 包含匹配字符串的行,或由可选输出参数指定的行 |
file-文件的完整路径 regexp:描述所需模式的正则表达式 encoding-字符编码 start line:起始行,搜索的第一行号,默认情况下文件的第一行 end line:搜索的最后一行的数目, |
仅返回第一条匹配的行 例子: |
vfs.file.regmatch[file,regexp,<encoding>,<start line>,<end line>]在文件中查找字符串 |
0-找不到匹配项 1-找到了 |
file-文件的完整路径 regexp:描述所需模式的正则表达式 encoding-字符编码 start line:起始行,搜索的第一行号,默认情况下文件的第一行 end line:搜索的最后一行的数目, |
Example: ⇒ vfs.file.regmatch[/var/log/app.log,error] |
vfs.file.size[file]文件大小(以字节为单位) | 整型 | file-文件的完整路径 |
该文件必须具有用户zabbix的读取权限 例: |
vfs.file.time[file,<mode>]文件的时间信息 | 整型 |
file-文件的完整路径 mode-modify(默认)上一次修改文件内容的时间 access-上一次读取文件的时间 change-上一次更改文件属性的时间 |
Example: ⇒ vfs.file.time[/etc/passwd,modify] |
vfs.fs.discovery挂载文件系统列表。 用于低级发现 | JSON object | ||
vfs.fs.get已挂载文件系统列表,它们的类型,磁盘空间和inode统计信息。 可用于低级发现。 | JSON object | ||
vfs.fs.size[fs,<mode>]磁盘空间,以字节为单位或占总数的百分比 |
整型-for bytes 浮点型-for percentage |
fs-文件系统 mode:total(默认)free、used、pfree(空闲百分比)、pused(使用百分比) |
例如: ⇒ vfs.fs.size[/tmp,free] |
vfs.dir.count[dir,<regex_incl>,<regex_excl>,<types_incl>,<types_excl>,<max_depth>,<min_size>,<max_size>,<min_age>,<max_age>]目录数量 | 整型 | ||
与操作系统相关的key | |||
system.boottime系统启动时间 | |||
system.hw.chassis[<info>]机箱信息 | info-full(默认)、model、serial、类型或供应商 | ||
system.hw.cpu[<cpu>,<info>]cpu信息 | |||
system.hw.devices[<type>]列出PCI或USB设备 | |||
system.hw.macaddr[<interface>,<format>]MAC地址列表 | |||
system.localtime[<type>]系统时间 | type-可能的值: utc-(默认)自纪元(1970年1月1日UTC,00:00:00)以来的时间,以秒为单位。 local-以“ yyyy-mm-dd,hh:mm:ss.nnn,+ hh:mm”格式显示的时间 |
||
system.run[command,<mode>]在主机上运行指定的命令 |
Text 返回1,mode使用的是nowait |
mode-wait等待执行结束(默认) -nowait不需要等待 |
例: ⇒system.run [ls -l /]→根目录的详细文件列表。 注意:要启用此功能,代理配置文件必须包含EnableRemoteCommands = 1选项。 |
system.stat[resource,<type>] | |||
system.sw.arch软件体系结构信息 | String | ||
system.sw.os[<info>]操作系统信息 | String | info-full(默认),short或name | |
system.sw.packages[<package>,<manager>,<format>]列出已安装的软件包 | Text | package - all (default) or a regular expression4 manager - all (default) or a package manager format - full (default) or short |
|
system.uname系统识别 | String | ||
system.uptime系统正常运行时间(以秒为单位) | |||
system.users.num登录的用户数 | |||
与web性能相关的key | |||
web.page.get[host,<path>,<port>]获取网页内容 | 网页源为文本(包括标题) | ||
web.page.perf[host,<path>,<port>]整个网页的加载时间(以秒为单位) | |||
web.page.regexp[host,<path>,<port>,regexp,<length>,<output>]在网页上查找字符串。 | |||