废话不多说,直接进入主题。
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邮箱报警配置,后续再更新其它媒介报警。