Zabbix设置邮件脚本报警

搭建环境:

CentOS 6.8 + Zabbix 3.0.24

一、安装sendmail或者postfix(安装一种即可)

# yum -y install sendmail                 #安装
# service sendmail start              #启动
# chkconfig sendmail on                #设置开机启动
或者
# yum -y install postfix
# service postfix start
# chkconfig postfix on

二、安装邮件发送工具mailx

# yum -y install mailx         #安装  

三、设置发送邮件的email,用于邮件发送

# vim /etc/mail.rc #编辑,添加以下信息

set from=xxx@163.com smtp=smtp.163.com

set smtp-auth-user=xxx@163.com smtp-auth-password=xxxxxx

set smtp-auth=login

# echo "zabbix test mail" |mail -s "zabbix" yyy@163.com 

#测试发送邮件,标题zabbix,邮件内容:zabbix test mail,发送到的邮箱:yyy@163.com

#这时候,邮箱yyy@163.com会收到来自xxx@163.com的测试邮件

四、添加Zabbix服务端邮件发送脚本

# cat /etc/zabbix/zabbix_server.conf |grep AlertScriptsPath #查看zabbix脚本的存放路径

### Option: AlertScriptsPath
# AlertScriptsPath=${datadir}/zabbix/alertscripts
AlertScriptsPath=/usr/lib/zabbix/alertscripts

在/usr/lib/zabbix/alertscripts下创建sendmail.sh脚本

# vim /usr/lib/zabbix/alertscripts/sendmail.sh #添加以下内容

#!/bin/bash
messages=`echo $3 | tr '\r\n' '\n'`
subject=`echo $2 | tr '\r\n' '\n'`
echo "${messages}" | mail -s "${subject}" $1 >>/tmp/sendmail.log 2>&1

# chown zabbix.zabbix /usr/lib/zabbix/alertscripts/sendmail.sh  #sendmail.sh脚本修改所属用户和用户组

# chmod a+x /usr/lib/zabbix/alertscripts/sendmail.sh #sendmail脚本赋予执行权限

测试发送脚本

# /usr/lib/zabbix/alertscripts/sendmail.sh xxx@qq.com "测试邮件标题" "测试邮件内容" #该qq邮箱收到即为成功

 上述操作均在zabbix service端操作。

五、Zabbix后台web介面配置

1、管理 ----  报警媒介类型 -----  创建媒介类型。

2、名称可以随便自己定义 ----- 类型选择脚本 ----- 脚本名称输入上一步编写的发送邮件的脚本名称 ----再添加以下3个参数,分别对应脚本需要的3个参数:收件人地址、主题、详细内容:

{ALERT.SENDTO}

{ALERT.SUBJECT}

{ALERT.MESSAGE}

3、管理 ---- 用户 ----- 选择admin用户。(自己创建一个用户也可以)

4、报警媒介 ---- 添加。

5、类型输入刚刚创建的报警媒介类型sendmail脚本 --- 输入个人邮箱用于接收报警邮件 --- 启动打勾 ---- 添加。

6、选择更新。

7、权限设置(管理员用户不用修改,权限默认所有服务器,如果要分类权限需要在用户组进行控制)

8、配置 ---- 动作 ---- 创建动作。

9、动作 ---- 名称自定义 --- 设置一条新的触发条件 ---- 启用 ---- 添加。(触发条件需要根据实际情况设置)

名称:Action-Email

默认接收人:故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!

默认信息:

告警主机:{HOSTNAME1}

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

告警等级:{TRIGGER.SEVERITY}

告警信息: {TRIGGER.NAME}

告警项目:{TRIGGER.KEY1}

问题详情:{ITEM.NAME}:{ITEM.VALUE}

当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}

事件ID:{EVENT.ID}

恢复信息:打钩

恢复主旨:恢复{TRIGGER.STATUS}, 服务器:{HOSTNAME1}: {TRIGGER.NAME}已恢复!

恢复信息:

告警主机:{HOSTNAME1}

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

告警等级:{TRIGGER.SEVERITY}

告警信息: {TRIGGER.NAME}

告警项目:{TRIGGER.KEY1}

问题详情:{ITEM.NAME}:{ITEM.VALUE}

当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}

事件ID:{EVENT.ID}

已启用:打钩

六、测试报警。

这里以nginx服务宕机作为触发器,触发报警动作,发送告警邮件到邮箱。

自定义监控nginx状态可参考:Zabbix自定义脚本监控(Nginx状态)

在nginx服务器中执行:

# service nginx stop #关闭nginx服务

监控中--事件中,可以查看到故障描述,已经执行了告警邮件的操作。

在收件邮箱账户中可以查看到该事件的告警:

而当nginx服务器执行:

# service nginx start #开启nginx服务

邮箱又会收到恢复正常的信息:

以上就是Zabbix设置邮件脚本报警的内容

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值