1. 网卡流量的监控kye
net.if.in[if,<mod>]
其中 if表示网卡接口,mode表示想要取值的类型,mode的可选参数为bytes(默认)packets,errors,dropped.
在多个参数的时候,不填写参数,用逗号分隔,就表示使用默认的参数
例如,net.if.in[if,<mode>]这个key,mode默认的参数是bytes,所以net.if.in[eth0]表示获取eth0的流量 与 net.if.in[eth0,bytes]
效果相同
zabbix_get -s 127.0.0.1 -k net.if.in[eth0,bytes]
就可以看到参数了
net.if.in[in,<mode>] bytes,packets,errors,dropped
net.if.out [if,<mode>]
net.if.collisions[if]
net.if.discovery
net.if.total[if,<mode>] 网卡进出流量的综合
2. 监控端口的key
net.tcp.listen[port] 监听端口是否开启
net.tcp.port[<ip>,<port>] 是否可以连接到指定的tcp端口
net.tcp.service[service,<ip>,<port>] 检测服务是否开启,并且端口可用
net.tcp.service.petf[service,<ip>,<port>] 检测服务器性能
net.udp.listen[port] 检测udp端口是否启动
3.监控进程的key
kernel.maxfiles 系统支持最大的 open files
kernl.maxproc 系统支持最大的进程数量
proc.mem[<name>,<user>,<mode>,<cmdline>]
用户进程消耗的内存
proc.num[<name>,<user>,<state>,<cmdline>]
某用户某状态消耗的进程数量
4.监控cpu和内存
system.cpu.intr 设备中断数
system.cpu.load[<cpu>,<mode>] CPU负载 all 默认 percpu,所有在线CPU的负载 mode ,avg1,5,15
system.cpu.num[<type>] cpu数量
system.cpu.switchs. 上下文交换
system.cpu.util[<cpu>,<type>,<mode>] CPU利用率
cpu 默认所有 type user(默认)system(windows系统默认值) mode avg1,5,15
vm.memory.size[<mode>]
system.swap.in[<device>,<type>] 磁盘交换到内存
device 交换分区设备默认是 all type count 数量 sectors pages
system.swap.out[<device>,<type>] 同上
system.swap.size[<device>,<type>]
交换分区的大小 默认 all
type free,pfree,pused,total,used
5.磁盘I/O的key
vfs.dev.read[<device>,<type>,<mode>] 磁盘读取状态
vfs.dev.write[<device>,<type>,<mode>] 磁盘写入状态
vfs.fs.inode[fs,<mode>]
6文件监控的key
vfs.file.cksum[file] 文件效验
vfs.file.contents[file,<encoding>] 获取文本内容
vfs.file.exists[file] 检测文件是否存在
vfs.file.md5sum[file]
vfs.file.regexp[file,regexp,<encoding>,<start line>,<end line>,<output>]
文件中搜索字符串
file 完整路径,regexp 正则表达 encoding 编码
vfs.file.regmatch[file,regexp,<encoding>,<start line>,<end line>]
同上
vfs.file.size[file] 文件大小
vfs.file.time[file,<mode>]
vfs.fs.discovery 列出挂在的文件系统
vfs.fs.szie[fs,<mode>] 磁盘空间
fs 文件系统
mode total free used pfree (空闲百分比),pused(使用百分比)
7.日志监控的key
需要主动模式的支持
log[file,<regexp>,<encoding>,<maxlines>,<mode>,<output>]
logrt[file_pattern,<regexp>,<encoding>,<maxlines>,<mode>,<output>]
8.windows 专用key
eventlog[name,<regexp>,<severity>,<source>,<eventid>,<maxlines>,<mode>]
net.if.list
pert_counter[counter,<interval>]
proc_info[<process>,<attribute>,<type>]
service_state[*]
services[<type>,<state>,<exclude>]
wmi.get[<namespace>,<query>]
pert_counter[counter,<interval>] 可以用来获取windows的性能监视器的参数,用这个key可以获取到非常多的windows性能参数值,
性能监视器可以用typeperf命令查看参数
二. 监控项的计算
用calculated items 可以对items进行计算,例如,求总的磁盘容量,网络流量,计算都得结果会存放在数据库中,历史数据,
趋势数据都会保存在数据库中,calculated items可以用于tirgger 这意味着可以对calculated items进行警告,也可以被宏引用,
1.计算表达式(formula)的列子
剩余磁盘的百分比
100*last("vfs.fs.size[/,free]",0)/last("vfs.fs.size[/,total]",0)
2 10分钟内zabbix values的可用大小
avg("zabbix server:zabbix[wcache,values]",600)
3 统计eth0的进出流量综合
last("net.if.in[eth0,bytes]",0)+last("net.if.out[eth0,bytes]",0)
4 统计进流量站网卡总流量的百分比
100*last("net.if.in[eth0,bytes]",0)/(last("net.if.in[eth0,bytes]",0)+last("net.if.out[eth0,bytes]",0))
三,计算磁盘总的剩余容量
例如 要计算从c,d,e,f,磁盘总的剩余容量,分区剩余容量的key为
vfs.fs.size[c:,free]
vfs.fs.size[d:,free]
vfs.fs.size[e:,free]
vfs.fs.size[f:,free]
添加磁盘剩余容量的计算表达式
last("vfs.fs.size[c:,free]",0)+last("vfs.fs.size[d:,free]",0)+last("vfs.fs.size[e:,free]",0)+last("vfs.fs.size[f:,free]",0)
type calculated
key free_disk_on windows
formula
last("vfs.fs.size[c:,free]",0)+last("vfs.fs.size[d:,free]",0)+last("vfs.fs.size[e:,free]"......
计算网卡的流量
last("net.if.in[eth0]",0)+last("net.if.in[eth1]",0)+last("net.if.in[eth2]",0)+last("net.if.in[eth3]",0)
同上