19.12 添加自定义监控项目 19.13/19.14 配置邮件告警 19.15 测试告警 19.16 不发邮件的问题处理
19.13/19.14 配置邮件告警
19.15 测试告警
19.16 不发邮件的问题处理
添加自定义监控项目
需求:监控某台web的80端口连接数,并出图
1.先到客户端定义脚本监控并修改权限为755
vim /usr/local/sbin/estab.sh
#!/bin/bash
##获取80端口并发连接数
netstat -ant |grep ':80 ' |grep -c ESTABLISHED
chmod 755 estab.sh
2.客户端编辑配置文件
vim /etc/zabbix/zabbix_agentd.conf
搜索UnsafeUserParameters,然后再下一行添加UnsafeUserParameters=1 //这个是自定义脚本功能
再添加:UserParameter=my.estab.count[*],/usr/local/sbin/estab.sh //定义名字、参数,脚本路径
3.重启zabbix-agent服务
4.到服务端进行测试脚本是否能执行
zabbix_get -s 192.168.142.131 -p10050 -k'my.estab.count' //能显示说明正常 --P指定端口 --K指定名字
5.然后到web监控中心进行添加自定义监控项目
配置---主机--监控项---创建监控项
6.然后创建图形
配置---主机----图形----创建图形-
填写名字---添加监控项
7.查看是否生成
配置邮件告警
1.登录QQ邮箱点击设置-账户-下拉--开启POP3/SMTP服务/IMAP/SMTP服务
---下面脚本参数分别是 发送对象、发送主题、发送内容
开启后会获取授权码,请进行保存。待会脚本用到
2.创建报警类型
“管理”-----“报警媒介类型”-----“创建媒体类型”
3.通过zabbix_server配置文件确定告警右键的脚本应该放哪里
vim /etc/zabbix/zabbix_server.conf
搜索AlertScriptsPath - -下图看到路径
4.创建报警脚本:(服务端写)
脚本内容网址:https://coding.net/u/aminglinux/p/aminglinux-book/git/blob/master/D22Z/mail.py
脚本:
sendqqmail那列定义你的邮箱账号和授权码
chmod 755 mail.py ---修改权限
5.测试是否能接收
python mail.py [email protected] "qqqq" "1231231" --下图测试已经收到
6.在web监控中心创建一个用户
管理----用户---创建用户---填写名字 群组、密码---还有报警媒介添加邮箱
然后设置用户权限:
点管理---用户群组----点击你所在的组---改读写---添加所有组 --如下图修改成功
配置动作:触发器触发后做的动作
配置---动作--创建动作
条件A为:在维护状态,非在维护下不发生邮件,
条件B为:设置触发器大于未分类发送邮件
下图添加默认信息、填写群组、用户
HOST:{HOST.NAME} {HOST.IP}
TIME:{EVENT.DATE} {EVENT.TIME}
LEVEL:{TRIGGER.SEVERITY}
NAME:{TRIGGER.NAME}
messages:{ITEM.NAME}:{ITEM.VALUE}
ID:{EVENT.ID}
设置回复操作
HOST:{HOST.NAME} {HOST.IP}
TIME:{EVENT.DATE} {EVENT.TIME}
LEVEL:{TRIGGER.SEVERITY}
NAME:{TRIGGER.NAME}
messages:{ITEM.NAME}:{ITEM.VALUE}
ID:{EVENT.ID}
测试告警
我们自定义一个触发器让他报警:
点击配置---主机---触发器----创建触发器--这里添加Processor load (1 min average per core)
查看仪表盘:出现了问题
经检查是web服务问题,重新添加系统负载触发器即可发送
不发邮件的问题处理
当有时显示完成却不能收到邮件时,我们应该检查:
用户是否设置报警媒介
用户权限是否为读写
服务端的脚本是否为755权限,服务端运行脚本是否能发送邮件
动作添加了接收邮件的用户