频道栏目
首页 > 网络 > 其他 > 正文

Zabbix配置邮件报警-xuboyuan88的博客-51CTO博客

2019-04-24 12:49:41           
收藏   我要投稿

Zabbix是一个强大的监控系统,但真正的目的是可以在出现故障时能及时的通知我们,所以配置报警功能就会非常重要。报警的方式有邮件、企业微信、钉钉、短信等,使用较多的还是邮件报警。这节针对邮件报警进行配置。使用mutt调用msmtp客户端进行邮件报警。

1. 安装msmtp客户端

(1) 下载msmtp客户端

??? wget https://marlam.de/msmtp/releases/msmtp-1.6.8.tar.xz

?

(2) 解压msmtp软件

??? tar -xvJf msmtp-1.6.8.tar.xz

?

(3) 进入解压的软件包

??? cd msmtp-1.6.8

?

(4) configure安装

??? ./configure --prefix=/usr/local/msmtp

????make && make install

?

(5) 新建一个etc目录

??? mkdir /usr/local/msmtp/etc

?

(6) 新建一个配置文件

??? touch /usr/local/msmtp/etc/msmtprc

?

(7)?在/usr/local/msmtp/etc/msmtprc中写入如下内容,将<xxx>替换为提示的正常参数:

defaults

account <邮件显示名称,例如Zabbix报警>

host <邮件服务器地址>

domain <域名地址,例如:qq.com>

from <发件人地址>

auth login

user <邮箱登陆账号>

password <邮箱登陆密码>

account default:<邮件显示名称,同上>

logfile /var/log/maillog

?

保存退出

2. 使用mutt调用msmtp发送邮件

?mutt默认会安装,如果没有安装请使用 yum -y install mutt.x86_64 来进行安装

?

(1) 修改mutt的配置文件/etc/Muttrc,一定要注意这里的Muttrc首字母是大写的M

?

set from="发件人的邮件地址"????? # 发送邮件地址

?

set sendmail="/usr/local/msmtp/bin/msmtp"????? # msmtp运行程序的目录

?

set use_from=yes????? # 开启发送消息时生成From:标题字段

?

set realname="Zabbix告警"????? # 默认显示发件人名称

?

set editor="vi"????? #设置默认使用哪种编辑器

?

保存退出

?

(2) 测试一下mutt是否有效,格式:echo "邮件内容" | mutt -s "主题" 收件人邮箱地址

?

echo "测试测试" | mutt -s "测试邮件" 12345678@qq.com

3. 创建邮件报警脚本

(1) 进入Zabbix源码安装默认脚本存放路径,脚本文件必须放在这个位置,Zabbix才找的到。若是RPM包可查看/etc/zabbix/zabbix_server.conf配置文件,RPM默认脚本存放路径为/usr/lib/zabbix/alertscripts

??? cd /usr/local/zabbix/share/zabbix/alertscripts

?

(2) 新建vim email.sh报警脚本并添加以下内容

?

#!/bin/bash

echo "$3" | mutt -s "$2" $1??????? # $3表示邮件内容、$2表示邮件标题、$1表示收件人

?

(3) 将脚本文件加入执行权限,并更改属主和属组

??? chmod a+x email.sh

????chown zabbix:zabbix email.sh

?

(4) 修改msmtprc的默认权限

??? chmod 600 /usr/local/msmtp/etc/msmtprc

????chown zabbix:zabbix msmtprc

4. 设置Zabbix邮件报警

(1)?创建Meida types

Administration ——> Meida types ——> Create media type

这里选择创建一个新的报警类型,Zabbix自带的类型我们不去管它或者选择禁用也都是可以的

image.png

? ? ? ? 在Media types选项卡中有两个地方需要注意。

????????第一个是Type(类型),因为是调用脚本来发送邮件,所有类型这里我们要选择Script(脚本)

????????第二个是参数,对应位置按顺序填写三个脚本参数:

??? ??? {ALERT.SENDTO}?????? ????代表收件人地址

??? ??? {ALERT.SUBJECT}????? ????代表邮件主题

??? ??? {ALERT.MESSAGE}????? ????代表邮件内容

image.png

(2)?创建Actions

? ??Configuration ——> Actions ——> Create actions

????选择新建一个动作

image.png

image.png

操作细节部分,如果是发送单个用户可以在<发送到用户>处添加用户。若是多个用户,建议使用<发送到用户群组>。<仅送到>这里选择之前创建的脚本报警类型

注意注意,最后千万不要忘记点击更新,不然是不会保存的

image.png

报警内容分为告警内容和恢复内容,可参考文章的最后给出的示例。

image.png

(3)?配置Users

Adimistration ——> Users ——> 选择需要收信的用户

最后,进入要接收邮件的用户设置中,可配置报警的类型、接收报警的邮件地址、什么时间端接收报警邮件、接收那种级别的报警邮件

image.png

至此,Zabbix配置邮件报警任务完成,报警的邮件内容可参考下面格式

告警主题:

[{TRIGGER.SEVERITY}]服务器:{HOSTNAME1}发生:{TRIGGER.NAME}故障!

?

告警内容:

地址:{HOST.IP}

告警主机: {HOSTNAME1}

主机分组: {TRIGGER.HOSTGROUP.NAME}

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

告警等级: {TRIGGER.SEVERITY}

告警信息: {TRIGGER.NAME}

告警项目: {TRIGGER.KEY1}

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

当前状态: {TRIGGER.STATUS}

事件ID: {EVENT.ID}

?

恢复主题:

[{TRIGGER.SEVERITY}]服务器:{HOSTNAME1}{TRIGGER.NAME}已恢复!

?

恢复内容:

告警主机: {HOSTNAME1}

主机分组: {TRIGGER.HOSTGROUP.NAME}

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

告警等级: {TRIGGER.SEVERITY}

告警信息: {TRIGGER.NAME}

告警项目: {TRIGGER.KEY1}

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

当前状态: {TRIGGER.STATUS}

事件ID: {EVENT.ID}

相关TAG标签
上一篇:kafka基本命令,python-kafka使用-linux技术-51CTO博客
下一篇:metrics-server监控部署-爱生活爱学习-51CTO博客
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站