Zabbix–基础–3.2–快速入门–zabbix脚本实现QQ邮箱告警
1、开启QQ邮箱的POP3/SMTP服务,获取授权码
1.1、设置–>账户–>开启POP3/SMTP服务
1.2、发送短信验证1069 0700 69
1.3、复制以下授权码
2、mailx邮箱服务
2.1、使用yum安装mailx邮箱服务
yum install -y mailx
2.2、在mail.rc 末行,加入以下配置
vim /etc/mail.rc
set from=920786312@qq.com
set smtp=smtp.qq.com
set smtp-auth-user=920786312@qq.com
set smtp-auth-password=你的授权码
set smtp-auth=login
2.3、尝试发送邮件
echo "hello world" | mail -s "testmail" 920786312@qq.com
2.4、编写发邮件脚本
vim /usr/local/zabbix/share/zabbix/alertscripts/mailx.sh
#!/bin/bash
#send mail
messages=`echo $3 | tr '\r\n' '\n'`
subject=`echo $2 | tr '\r\n' '\n'`
echo "${messages}"| mail -s "${subject}" $1 >>/tmp/mailx.log 2>&1
2.5、赋予权限,并测试脚本
touch /tmp/mailx.log
# 设置用户和用户组为zabbix
chown -R zabbix.zabbix /tmp/mailx.log
# 设置可执行权限
chmod +x /usr/local/zabbix/share/zabbix/alertscripts/mailx.sh
# 设置用户和用户组为zabbix
chown -R zabbix.zabbix /usr/local/zabbix/share/zabbix/
# 测试发邮件脚本是否可以正常工作
/usr/local/zabbix/share/zabbix/alertscripts/mailx.sh 920786312@qq.com "邮件测试" "hello world"
3、web界面配置
3.1、添加媒体(邮件)
3.1.1、创建媒体类型
打开 管理–>报警媒体类型–>创建媒体类型
名称:QQ-email
类型:脚本
脚本名称:mailx.sh
脚本参数:
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}
点"添加"以后,测试QQ电子邮箱
3.1.2、增加模板
3.1.2.1、问题模板
问题: {EVENT.NAME}
告警主机:{HOST.NAME}
告警 IP:{HOST.IP}
告警时间:{EVENT.DATE}-{EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息:{TRIGGER.NAME}:{ITEM.VALUE}
3.1.2.2、恢复模板
恢复 {EVENT.DURATION}: {EVENT.NAME}
恢复主机:{HOST.NAME}
恢复 IP:{HOST.IP}
恢复时间:{EVENT.DATE}-{EVENT.TIME}
恢复等级:{TRIGGER.SEVERITY}
恢复信息:{TRIGGER.NAME}:{ITEM.VALUE}
3.2、添加用户,关联QQ-email
用户名:zhoufei
权限:管理员
报警媒介:QQ-email
收件人:920786312@qq.com
用户密码:zabbix@123
3.3、配置触发器动作
3.3.1、新建动作
为前往配置 --> 动作,然后点击创建动作。
名称:触发器告警
条件:触发器示警度 大于等于 警告
3.3.2、配置操作
3.3.3、配置恢复操作
4、发送告警邮件模拟测试
4.1、发送告警邮件
4.1.1、运行多个进程
agent2机器执行
cat /dev/urandom |md5sum
4.1.2、触发器告警
在监测 --> 问题中,你可以看到闪烁"问题"状态的触发器。
4.1.3、发送告警邮件
报表 --> 动作日志中检查动作日志
同时收到邮件
4.2、恢复测试
按ctrl+C,停掉多个进程,过一小段时间,问题状态标为"已解决"
5、动作未能执行问题查因
用户:zhoufei 配置:Admin role 导致执行不了动作。改为Super admin role权限即可。
可能Admin role角色,访问不了"动作日志"功能,导致不会产生动作。