环境介绍
操作系统:centos 7.4
zabbix版本:zabbix server 3.4.7
客户端:zabbix-agent 3.4.7
监控进程:mysqld
监控端口:3306 tcp
进程监控
确认客户端已经安装且运行agent
查看进程
查看属于那个用户的 几个进程
mysql 的进程为root用户 两个进程
添加监控项
名称随便写
类型zabbix客户端
键值选则进程数返回数
应用集选则prosesses 进程
重点
proc.num[<name>,<user>,<state>,<cmdline>]
以下是对mysql进程的监控配置,key中的参数说明,
<name>第一个参数是进程名字,没必要填写,填了反而会使监控不太准确(仅个人测试)
<user>第二个参数是运行进程的用户名
<state>第三个为进程的状态 ,一般选则all 包括:all (default), run, sleep, zomb
<cmdline>第四个参数用来指定进程名中包含的字符,对进程进行过滤。
确认更新
创建触发器
选择刚才创建的监控项
插入
修改{hgh3a01:proc.num[,root,all,mysqld].last()}=0
为
{hgh3a01:proc.num[,root,all,mysqld].max(#2)}=2
hgh3a01:主机名称
proc.num[,root,all,mysqld]:监控项
max(#2)}=2 :
参数说明
表示最后两次的接收到的值都是2个进程(ps -ef 看到 mysqld 的进程为两个所以=2 ),说明mysqld进程在运行,则出发报警。
因为我们要测试是否能出发告警,所以要选则 =2 正常的<1 就是没有运行。
稍等几分钟观察看看能不能触发触发器
收到邮箱警告
吧测试的进程改为正常的(因为mysql 运行的进程为两个我这变设置的触发器为进程小于两个进程就发出告警)
保存更新观察是否回复正常
监控端口
添加监控项
修改端口
保存更新
同监控进程一样
(先测试)
收到触发警告
吧之前的值调整为0
测试恢复正常