zabbix自身提供了丰富的监控项,下面以“cpu空闲值”为例介绍zabbix如何添加新的监控项
1、创建主机群组
配置——主机群组——创建主机群组
2、创建主机
配置——主机——创建主机
3、添加监控项
配置——主机——监控项(上一步中创建的主机中)——创建监控项
4、添加触发器
配置——主机——触发器——创建触发器
5、设置报警媒介
管理——报警媒介类型——创建
注意:密码:邮箱的授权码,就是用于第三方客户端登录时的专用密码
这里用的是QQ邮箱,具体的设置参考https://service.mail.qq.com/cgi-bin/help?subtype=1&&no=1001256&&id=28
6、分配报警媒介给用户
右上角用户图标——报警媒介——添加
7、添加动作
配置——动作——创建动作
可以根据自己需要添加恢复操作和确认操作,设置完成后不要忘记点最后的添加按钮
8、测试
[root@manage-2 ~]# dd if=/dev/zero of=/dev/null
可用top命令查看
监测中——最新数据——对应test.com的图形
查看邮箱
监控项的键值:
监控项的键以类似 xxx.yyy.zzz[mm,<nn>] 方式组织,xxx.yyy.zzz是键名,[mm,<nn>]为键的参数,mm表必填参数,<nn>表可选参数
net.if.collisions[if] 网络冲突数量,返回整型。
net.if.in[if,<mode>] 网络接口上传流量统计,返回 整数。网卡流入量统计,mode:bytes(默认)/packets/errors/dropped
net.if.out[if,<mode>] 上行流量统计,返回整数。网卡流出量统计,mode:bytes(默认)/packets/errors/dropped
net.if.total[if,<mode>] 网络接口上传下载的流量总和,返回整数。网卡的进出流量统计信
息总和,mode:bytes(默认)/packets/errors/dropped
net.tcp.listen[port] 检查 TCP 端口 是否处于侦听状态,返回 0 - 未侦听;1 - 正在侦听。
net.tcp.port[<ip>,port] 检查是否能将 TCP 连接到指定端口,返回 0 - 不能连接;1 - 可以连接。
net.tcp.service[service,<ip>,<port>] 检查服务是否运行并接受 TCP 连接,返回 0 - 服务关闭;1 - 服务运行。
net.tcp.service.perf[service,<ip>,<port>] 检查 TCP 服务的性能,当服务 down 时返回 0,否则返回连接服务花费的秒数。
service - 如下任一服务: ftp,http,https,imap,ldap,nntp,pop,smtp,ssh,tcp,telnet
ip - IP 地址(默认为 127.0.0.1)
port - 端口号 (默认为标准服务端口号)
net.udp.listen[port] 检查 UDP 端口 是否处于侦听状态,返回 0 - 未侦听;1 - 正在侦听。
net.udp.service[service,<ip>,<port>] 检查服务是否运行并响应 UDP 请求,返回 0 - 服务关闭;1 - 服务运行。
net.udp.service.perf[service,<ip>,<port>] 检查 UDP 服务的性能,当服务 down 时返回 0,否则返回连接到服务花费的秒数。
service - ntp
ip - IP 地址(默认为 127.0.0.1)
port - 端口号 (默认为标准服务端口号)
proc.cpu.util[<name>,<user>,<type>,<cmdline>,<mode>,<zone>] CPU进程百分比,返回浮点值。
进程的CPU利用率百分比,name:进程名,默认所有进程;user:指定用户名,默认所有用户;type:CPU利用率类型,user/system,默认是两者;cmdline:提供命令行用以过滤,支持正则;mode:数据收集模式,avg1(默认)/avg5/avg15;zone:仅用于Solaris
proc.mem[<name>,<user>,<mode>,<cmdline>,<memtype>] 进程内存,以字节为单位,返回整数。
用户进程使用的内存,name:进程名(默认是全部进程) user:用户名(默认是全部用户) mode:可能的值:avg,max,min,sum (默认值) cmdline:按命令行过滤(正则表达式) memtype:进程使用的内存类型
proc.num[<name>,<user>,<state>,<cmdline>] 进程数量,返回整数。
name:进程名称(默认是all processes) user:用户名(默认是all users) state:可选的值: all (default),run,sleep,zomb cmdline:按命令行过滤(正则表达式)
system.cpu.intr设备的中断数,返回整数。
system.cpu.load[<cpu>,<mode>] CPU 负载,返回浮点数。cpu:all (default), percpu (总负载除以在线CPU数) mode:avg1 (一分钟平均值, 默认值), avg5, avg15
system.cpu.switches上下文的数量进行切换,它返回一个整数值。
system.cpu.util[<cpu>,<type>,<mode>] CPU 使用率,返回浮点数。
cpu:<CPU数量> 或者all(默认值) type:idle,nice,user(默认值),system (Windows系统默认值), iowait,interrupt,softirq,steal,guest,guest_nice mode:可能的值: avg1 (默认值), avg5, avg15
vfs.dev.read[<device>,<type>,<mode>] 磁盘读取数据,类型是sectors, operations, bytes;返回整数,类型是 sps, ops, bps则返回浮点。
device:磁盘设备 (默认为 all) type:sectors,operations,bytes,sps,ops,bps(必须指定此参数,因为各种操作系统的默认值不同) sps,ops,bps表示:[sectors/operations/bytes] per second。 mode:avg1(1分钟平均值, 默认),avg5,avg15.此参数仅支持的类型为: sps,ops,bps.
vfs.dev.write[<device>,<type>,<mode>] 磁盘写入数据,类型是sectors, operations, bytes;返回整数,类型是 sps, ops, bps则返回浮点。
vfs.fs.size[fs,<mode>] 磁盘容量,如果返回的是字节则是整数,如果返回的是百分比则是浮点。
fs:文件系统 mode:total(默认),free,used,pfree(剩余百分比),pused(已用百分比)
vm.memory.size[<mode>] 占字节或总百分比的内存大小,它返回一个整数值,如果字节,只要百分比返回浮点值。内存大小,以字节为单位,以百分比表示。整数用于字节,浮点用于百分比。
mode:
1) total - 总内存量,默认;
2) platform-特定内存类型: active, anon, buffers, cached, exec, file, free, inactive, pinned, shared, wired;
3) user-用户级别估计使用和可用的内存量: used, pused, available, pavailable.