基于sendEmail的简单zabbix邮件报警
一.sendmail和sendEmail区别
sendmail是一款邮件服务器软件(MTA),sendEmail是命令行SMTP邮件客户端(MUA)
二.senEmail安装
下载地址:http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz
#sendEmail解压后即可使用
wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz -P /download
tar xf /download/sendEmail-v1.56.tar.gz -C /download/tmp
cp /download/tmp/sendEmail-v1.56/sendEmail /usr/local/bin/
测试能否成功发送邮件
/usr/local/bin/sendEmail -f "xiami@qsquant.com" -t "26?????877@qq.com" -s "smtp.mxhichina.com" -u "myTest" -o message-content-type=html -o message-charset=utf-8 -xu "xiami@qsquant.com" -xp "Q????234@" -m "hello,this is the test contents"
#成功后提示下列内容
Aug 24 14:50:26 sysqsquantop009 sendEmail[12003]: Email was sent successfully!
*163邮箱、qq邮箱默认没有开启pop3/smtp/imap服务,若发件端为163或qq,执行将会出错,请先开启pop3/smtp/imap服务后再尝试
命令说明
/usr/local/bin/sendEmail 命令主程序
-f ttlsafrom@.com 发件人邮箱
-s smtp..com 发件人邮箱的smtp服务器
-u "我是邮件主题" 邮件的标题
-o message-content-type=html 邮件内容的格式,html表示它是html格式
-o message-charset=utf8 邮件内容编码
-xu ttlsafrom@.com 发件人邮箱的用户名
-xp 发件人邮箱密码
-m "我是邮件内容" 邮件的具体内容 --help 使用命令帮助
命令说明
三.编写报警邮件发送脚本
#!/bin/bash
#export LANG=zh_CN.UTF-
to=$
subject=$
iconv -f UTF- -t GB2312 $subject > $subject #解决foxmail收邮件的时候中文标题乱码
body=$
from=xiami@qsquant.com
smtp=smtp.mxhichina.com passwd=Q????@
/usr/local/bin/sendEmail -f "$from" -t "$to" -s "$smtp" -u "$subject" -o message-content-type=html -o message-charset=utf- -xu "$from" -xp "$passwd" -m "$body"
sendEmail.sh
#chmod +x /opt/alertscripts/sendEmail.sh
四.配置zabbix
4.1 创建一个告警动作(参考笔者上一篇博客第七步http://www.cnblogs.com/xiami-xm/p/7323926.html)
第一步:创建告警媒介操作稍有不同,不用设置smtp服务器,直接用脚本实现
4.2 设置执行脚本路径
vim /usr/local/etc/zabbix_server.conf
AlertScriptsPath=/opt/alertscripts
#重启zabbix服务
#ps -ef |grep zabbix_server|awk '{print $2}'|xargs kill -9
#/usr/local/sbin/zabbix_server
五.测试
接收的告警邮件内容不换行怎么办?
sendEmail.sh脚本指定格式是html,所以用<br/>标签进行换行
嫌英文别扭的可以改为中文:
==================================================== # 默认接收人: 故障{TRIGGER.STATUS},服务器【{HOST.NAME1}】发生【 {TRIGGER.NAME}】故障! ==================================================== # 默认信息: 告警主机:{HOST.NAME1}<br/> 告警时间:{EVENT.DATE} {EVENT.TIME}<br/> 告警等级:{TRIGGER.SEVERITY}<br/> 告警信息: {TRIGGER.NAME}<br/> 告警项目:{TRIGGER.KEY1}<br/> 问题详情:{ITEM.NAME}:{ITEM.VALUE}<br/> 当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}<br/> 事件ID:{EVENT.ID}<br/> ==================================================== # 恢复主旨: 恢复{TRIGGER.STATUS},服务器【{HOST.NAME1}】故障【 {TRIGGER.NAME}】已恢复! ==================================================== # 恢复信息: 告警主机:{HOST.NAME1}<br/> 告警时间:{EVENT.DATE} {EVENT.TIME}<br/> 告警等级:{TRIGGER.SEVERITY}<br/> 告警信息: {TRIGGER.NAME}<br/> 告警项目:{TRIGGER.KEY1}<br/> 问题详情:{ITEM.NAME}:{ITEM.VALUE}<br/> 当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}<br/> 事件ID:{EVENT.ID}<br/>
基于sendEmail的简单zabbix邮件报警的更多相关文章
- 基于sendmail的简单zabbix邮件报警
1.修改zabbix server hostname声明:在配置zabbix的Email报警之前,需要将sendmail使用的域名进行相应的修改,系统默认为localhost.localdomain, ...
- zabbix 邮件报警(五)
一.sendEmail配置zabbix邮件报警 1.下载sendEmail: wget http://caspian.dotconf.net/menu/Software/SendEmail/sendE ...
- Zabbix邮件报警配置
一.安装sendmail或者postfix yum install sendmail #安装 service sendmail start #启动 chkconfig sendmail on #设置开 ...
- Zabbix 邮件报警示例
Zabbix 邮件报警示例: 1.编辑 mail.rc 文件添加默认的邮箱配置 # vi /etc/mail.rc set from=1234567@qq.com set smtp=smtp.qq. ...
- zabbix*邮件报警 *用户参数User parameters *定义key值 *Agentd主动模式与被动模式
邮件报警 #下载安装邮件报警系统wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz yum - ...
- Zabbix邮件报警-->Script
Version:3.0.1 邮件报警有两种media 1.Email zabbix发送报警邮件到指定smtp服务器(使用系统自带的sendmail,发送邮箱是zabbix服务器的本地邮箱账号) 再由s ...
- zabbix邮件报警设置
第一.安装邮件发送工具mailx 这里我选择的是mailx,所以的关闭其他的邮件发送工具 service sendmailstop #关闭 chkconfig sendmailoff #禁止开机启 ...
- centos7之zabbix邮件报警(短信报警)
前言 前面我们介绍了zabbix的基本linux和window及SNMP流量的简单监控,我们知道作为运维人员,需要7x24小时待命,但是我们不可能时时刻刻都坐在电脑旁边查看监控上的各个主机状态,所以我 ...
- zabbix邮件报警通过脚本来发送邮件
zabbix默认邮件报警会将各个报警接收人单独发送邮件,为了使邮件能以群发的方式统一一封邮件发送所有接收人,需要改成脚本的形式: sendemail.py: #!/usr/bin/python imp ...
随机推荐
- Spark学习笔记——文本处理技术
1.建立TF-IDF模型 import org.apache.spark.{SparkConf, SparkContext} import org.apache.spark.mllib.linalg. ...
- [Python] 07 - Statements --> Functions
故事背景 一.阶级关系 1. Programs are composed of modules.2. Modules contain statements.3. Statements contain ...
- [Node.js] 00 - Where do we put Node.js
Ref: 前后端分离的思考与实践(五篇软文) 其实就是在吹淘宝自己的Midway-ModelProxy架构. 第一篇 起因 为了提升开发效率,前后端分离的需求越来越被重视, 同一份数据接口,我们可以定 ...
- [React] 04 - Intro: mongoDB becomes popular
Ref: Linux平台安装MongoDB - 菜鸟教程 安装:sudo apt-get install mongodb 安装完毕产生: ls /etc/init.d/mongodb 配置:vim / ...
- ThinkingInJava 学习 之 0000003 控制执行流程
1. if-else 2. 迭代 1. while 2. do-while 3. for 4. 逗号操作符 Java里唯一用到逗号操作符的地方就是for循环的控制表达式. 在控制表达式的初始化和步进控 ...
- Keepalived 配置高可用集群
一.Keepalived 简介 (1) Keepalived 能实现高可用也能实现负载均衡,Keepalived 是通过 VRRP 协议 ( Virtual Router Redundancy Pro ...
- 写写我的硕士三年【zz】
昨天我们组的10bit-40M ADC测出来了,自己终于能松口气,可以无牵无挂的毕业了.晚上老板bg全组毕业生,喝了很多,我对老板说:"这3年在组里,我是把它当作事业来做的!"是的 ...
- tomcat启动项目报错:The specified JRE installation does not exist
在Build Path里设置好jre和各Library的顺序,代码无报错,启动时弹框,里面的信息是:The specified JRE installation does not exist. 后来想 ...
- 洛谷P1057 传球游戏【dp】
题目:https://www.luogu.org/problemnew/show/P1057 题意: n个人围成一个圈,传球只能传给左边或是右边. 从第一个人开始传起,经过m次之后回到第一个人的传球方 ...
- TOP100summit2017:Riot Games 李仁杰——大数据落地要找到数据和经验的平衡点
壹佰案例:李仁杰老师您好,很荣幸您能参加第六届TOP100全球软件案例研究峰会,您在大数据和人工智能领域有非常丰富的经验,在这次大会上您将分享什么内容? 李仁杰:这次我主要分享的有两个方面. 一个 ...