废话不多说,直接进入主题。

1、安装mailx

[root@localhost ~]#yum install malix -y                        #yum安装malix

[root@localhost ~]# vi /etc/malix.rc                              #配置邮箱,配置第三方软件发送邮件。

 

2、在配置文件的最后添加第三方邮件的登录方式
set bsdcompat
set from=xxxxxxxxxx@163.com                 #第三方邮箱账号
set smtp=smtp.163.com                             #设置SMTP服务器地址
set smtp-auth-user=xxxxxxxxx.com          #邮箱账号
set smtp-auth-password=xxxxx                #授权登录密码【注:这个密码需要去邮箱后台设置SMTP授权,下图为163邮箱后台设置为例,其它邮箱同样方法】
set smtp-auth=login                                 #系统日志

 

 

 

3、配置发脚本及新建log文件夹

[root@localhost ~]# cd /usr/lib/zabbix/alertscripts 【zabbix报警器脚本路径】

[root@localhost alertscripts]# vi 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

 

[root@localhost ~]# touch /tmp/mailx.log                                                      #新建log文件
[root@localhost ~]# chown -R zabbix.zabbix  /tmp/mailx.log                        #授权log属主属组
[root@localhost ~]# chmod +x /usr/lib/zabbix/alertscripts/mailx.sh               #授权脚本文件可执行
[root@localhost ~]# chown -R zabbix.zabbix /usr/lib/zabbix/                       # 授权/usr/lib/zabbix/下的文件所有属主属组为zabbix

 

4、测试脚本发邮件是否成功

[root@localhost alertscripts]# ./mailx.sh z139xxxxxxxx@163.com
测试发送给自己的163邮箱,能收到邮件,则说明脚本没问题,如果没收到,需要检查脚本是否权限没给够或者里面的字段没写对。

 

 

5、WEB后台设置
5.1管理->报警媒体类型->创建媒体类型->

 

 

名称:Mail-Test
类型:脚本
脚本名称:mailx.sh
脚本参数:【新增以下三个参数】
{ALERT.SENDTO} 【三个内容为定义的收件人、主体、内容】
{ALERT.SUBJECT}
{ALERT.MESSAGE}

 

 

5.2管理-用户-点击Admin-报警媒介:

 

 

类型:Mail-Test //调用上面的脚本
收件人:xxxxxxxxxxx@qq.com #自己指定需要接收告警邮件的邮箱账号
其它默认-保存

 

 

5.3配置->动作->创建动作->删除默认标签,修改触发条件
名称:Mailx
条件 A 主机群组=Linux servers

 

 

5.4配置->动作->创建动作->删除默认标签,修改触发条件
名称:Mailx
条件 A 主机群组=Linux servers

 

 

 

 

操作->如下配置

默认操作步骤持续时间 60

默认接收人 : {TRIGGER.STATUS}:{TRIGGER.NAME}

默认信息:

告警主机:{HOST.NAME}

告警  IP:{HOST.IP}

告警时间:{EVENT.DATE}-{EVENT.TIME}

告警等级:{TRIGGER.SEVERITY}

告警信息:{TRIGGER.NAME}:{ITEM.VALUE}

事件  ID:{EVENT.ID}

操作细节:->

操作类型:发送消息

发送到用户:Admin (Zabbix Administrator)

仅送到:Mail-Test  #一定要配置否则邮件发送不成功

 

 

恢复操作:{TRIGGER.STATUS}:{TRIGGER.NAME}

恢复信息:

恢复主机:{HOST.NAME}

恢复  IP:{HOST.IP}

恢复时间:{EVENT.DATE}-{EVENT.TIME}

恢复等级:{TRIGGER.SEVERITY}

恢复信息:{TRIGGER.NAME}:{ITEM.VALUE}

恢复  ID:{EVENT.ID}

操作细节:->

操作类型:发送消息

发送到用户:Admin (Zabbix Administrator)

仅送到:Mail-Test   #一定要配置否则邮件发送不成功

 

6、重启zabbix服务器和agent服务器

[root@localhost ~]# systemctl restart zabbix-server
[root@localhost ~]# systemctl restart zabbix-agent.service

7、测试报警

我这里测试的是客户机192.168.200.200,执行命令 ifconfig ens33 down 【关闭网卡】

 

 启动网卡后则提示恢复

 

 

补充:

主机可添加圈起来的模板,自己也可以制定模板,后续再弄。

 

 

本次分享的为zabbix邮箱报警配置,后续再更新其它媒介报警。

posted on
2019-11-04 13:36 虚心学习的小赵同志 阅读() 评论() 编辑 收藏

版权声明:本文为xiangxu-zhao原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/xiangxu-zhao/p/11791607.html