一个监控系统,缺少了实时告警功能,会有很大的缺憾。本着不花一分钱的原则,这里我使用告警邮件,然后将告警邮件与微信绑定,实现实时告警功能。注意,我的工作邮箱是使用QQ企业邮箱,因此,可以很方便的让邮箱与QQ绑定,让邮箱与微信绑定,至于其他邮箱是否可以绑定,需要视情况而定。我的建议是,可以直接使用个人的QQ邮箱。
言归正传,下面是配置步骤。我在zabbix server服务器上采用了msmtp + mutt 实现邮件发送功能。具体msmtp和mutt是什么东东,自己上网查去。另,主机环境是rhel6.3-64位。
1、下载解压msmtp安装包:
<code> </code><code>wget http:</code><code>//downloads</code><code>.sourceforge.net</code><code>/msmtp/msmtp-1</code><code>.4.30.</code><code>tar</code><code>.bz2?big_mirror=0</code>
如果是rhel5,使用下面的版本:
<code> </code><code>wget http:</code><code>//downloads</code><code>.sourceforge.net</code><code>/msmtp/msmtp-1</code><code>.4.17.</code><code>tar</code><code>.bz2?big_mirror=0</code>
下载完成后解压:
<code> </code><code>tar</code> <code>jxvf msmtp-1.4.30.</code><code>tar</code><code>.bz2</code>
2、编译安装
<code> </code><code>cd</code> <code>msmtp-1.4.30 && configure --prefix=</code><code>/usr/local/msmtp</code>
<code> </code><code>make</code>
<code> </code><code>make</code> <code>install</code>
3、配置msmtp账号
<code> </code><code>cd</code> <code>/usr/local/msmtp</code> <code>&& </code><code>mkdir</code> <code>etc</code>
使用vi新建文件,输入:vi /usr/local/msmtp/etc/msmtprc ,编辑内容如下:
# Set default values for all following accounts.
defaults
logfile /usr/local/msmtp/msmtp.log
# The SMTP server of the provider.
account zycloudalarm #这里根据实际情况修改,账户名
host smtp.exmail.qq.com #这里根据实际情况修改,邮件服务器地址
from [email protected] #这里根据实际情况修改,发件人地址
auth login
user [email protected] #这里根据实际情况修改,邮箱用户地址
password cloud123 #这里根据实际情况修改,邮箱密码
account default : zycloudalarm #这里根据实际情况修改,邮箱用户名
测试:
<code> </code><code>/usr/local/msmtp/bin/msmtp</code> <code>[email protected]</code>
上面的“[email protected]”换成你的实际使用的邮箱。
4、安装mutt:
yum install -y mutt
vi /etc/Muttrc.local ,编辑mutt的总设置,修改以下几行
set from="[email protected]"
set sendmail="/usr/local/msmtp/bin/msmtp"
set use_from=yes
set realname="Zhengyuan Cloud Alarm"
set editor="vi"
echo "测试" |mutt -s "测试" [email protected]
上面的“[email protected]”换成你的实际使用的邮箱。
5、配置告警脚本,首先增加告警脚本:
vi /etc/zabbix/alertscripts/muttmail.sh
#!/bin/bash
# $1 sendmail address
# $2 sendmail subject
# $3 file
echo "$3" | mutt -s "$2" $1
增加告警脚本可执行权限:
<code> </code><code>chmod</code> <code>+x </code><code>/etc/zabbix/alertscripts/muttmail</code><code>.sh</code>
6、如果遇到中文乱码,在Muttrc.local中添加下面配置:
charset-hook ^us-ascii$ gb2312 # 用gb2312编码显示未设置编码的信件
charset-hook ^big5$ big5 # 用big5编码显示繁体信件
charset-hook !utf-8 gb2312 # 用gb2312编码显示非utf-8编码的信件
set assumed_charset = "gb2312" # 用gb2312编码显示未经MIME编码的信件
set rfc2047_parameters = yes # 用gb2312编码显示中文附件名
本文转自yuweibing51CTO博客,原文链接:http://blog.51cto.com/yuweibing/1656439 ,如需转载请自行联系原作者