前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Zabbix发送带附件的邮件

Zabbix发送带附件的邮件

作者头像
我是李超人
发布2020-08-21 01:23:14
6170
发布2020-08-21 01:23:14
举报

Zabbix告警由于内容主体有诸多限制,很难传达所有的告警信息,可以通过添加附件的方式将详细信息发送给接收人,比如说要发送的文件存在apache文件服务器中,这个文件内容每隔一段时间会变动,我们可以将文件链接放在消息主体中,当shell脚本接收到消息主体参数时,解析出其中的链接,并将内容下载到缓存文件中,然后将该文件以附件的方式随邮件一起发送出去。发送完成后将缓存文件删掉。

消息主体 异常发生 异常内容: {TRIGGER.NAME} 问题时间: {EVENT.DATE} {EVENT.TIME} 持续时间: {EVENT.AGE}

Shell脚本

代码语言:javascript
复制
#!/bin/bash
#接收参数
to=$1
subject=$2
body=$3

http=`echo $body|grep -m1 'http'`
#根据@符号获取到下载链接
http=`echo "$http" | grep -m1 http | cut -d "@" -f2|cut -d " " -f1`
#拿到文件名
fileDir=${http##*/}
#补全文件路径
fileDir="/usr/lib/zabbix/alertscripts/"${fileDir}
#由于文件存在,每次发送前都要重新下载一遍
if [ -e "$fileDir" ];then
rm $fileDir
#将文件下载到指定目录中
wget -P /usr/lib/zabbix/alertscripts $http
else
wget -P /usr/lib/zabbix/alertscripts $http
fi
/usr/local/bin/sendEmail  -f xxx@xxx.com -t "$to" -s xxx.xxx.com -u "$subject" -o message-content-type=html -o message-charset=utf-8 -xu xxx@xxx.com  -xp xxxx  -m "$body" -a $fileDir
#删除缓存文件
rm $fileDir

当触发器被触发时,收到带附件的邮件

这里写图片描述
这里写图片描述

备注:由于shell脚本存在删除操作,所以一定要记得给文件以及文件所在的文件夹添加zabbix用户权限

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-03-15 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档