Zabbix发送带附件的邮件
2017-03-15 13:31
169 查看
Zabbix告警由于内容主体有诸多限制,很难传达所有的告警信息,可以通过添加附件的方式将详细信息发送给接收人,比如说要发送的文件存在apache文件服务器中,这个文件内容每隔一段时间会变动,我们可以将文件链接放在消息主体中,当shell脚本接收到消息主体参数时,解析出其中的链接,并将内容下载到缓存文件中,然后将该文件以附件的方式随邮件一起发送出去。发送完成后将缓存文件删掉。
消息主体
异常发生
异常内容: {TRIGGER.NAME}
问题时间: {EVENT.DATE} {EVENT.TIME}
持续时间: {EVENT.AGE}
异常详细内容:@http://x.x.x.x:8080/mayiInspector/VipAccount/jsidDelay_fund123sjkbak.txt
Shell脚本
当触发器被触发时,收到带附件的邮件
备注:由于shell脚本存在删除操作,所以一定要记得给文件以及文件所在的文件夹添加zabbix用户权限
消息主体
异常发生
异常内容: {TRIGGER.NAME}
问题时间: {EVENT.DATE} {EVENT.TIME}
持续时间: {EVENT.AGE}
异常详细内容:@http://x.x.x.x:8080/mayiInspector/VipAccount/jsidDelay_fund123sjkbak.txt
Shell脚本
#!/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用户权限
相关文章推荐
- zabbix邮件报警以附件发送的解决方法
- 解决zabbix 报警邮件以附件形式发送
- java 利用spring JavaMailSenderImpl发送邮件,支持普通文本、附件、html、velocity模板
- Java Mail实现带附件的邮件发送
- win7(32bit)使用outlook发送带附件邮件时,对方收到winmail.dat的解决办法
- linux下c代码如何把指定文件作为附件,通过evolution发送邮件
- asp.net 发送邮件,带附件
- Android 使用javaMail jar包发送邮件到指定邮箱,并可以发送图片附件
- nodejs模块nodemailer基本使用-邮件发送示例(支持附件)
- Java邮件开发(二):使用JMail发送一封图文并茂且包含附件的邮件(上)
- java 利用spring JavaMailSenderImpl发送邮件,支持普通文本、附件、html
- 二种python发送邮件实例讲解(python发邮件附件可以使用email模块实现)
- python发送邮件的实例代码(支持html、图片、附件)
- 《pro Spring》学习笔记之使用Spring+James邮件服务器发送带有附件的HTML邮件
- java mail 发送邮件,支持多个收件人,多个附件
- java实现发送邮件可多个附件内嵌图片-commons-email使用
- Linux使用shell脚本调用sendmail发送带附件的邮件
- JavaMail发送邮件和附件(源码)_4
- 邮件正文及其附件的发送的C++实现
- C#发送邮件,并发送附件