Zabbix支持多种报警的方式,其中成本最低、最方便的就是邮件报警的方式了。但是因为它不支持邮件的用户认证,这种方式现在也非常少见,同时安全性也差,如果在本机建邮件服务器的话也容易被误入垃圾邮件。
现在我们使用163的邮箱或者自己公司内部的邮箱,利用msmtp+mutt完成邮件的报警。(当然也可以利用移动139的邮箱或者联通沃邮箱,可以达到短信通知)
1.msmtp的安装
1
2
3
4
5
6
<code>wget http:</code><code>//jaist</code><code>.dl.sourceforge.net</code><code>/project/msmtp/msmtp/1</code><code>.4.32</code><code>/msmtp-1</code><code>.4.32.</code><code>tar</code><code>.bz2</code>
<code>tar</code> <code>jxvf msmtp-1.4.32.</code><code>tar</code><code>.bz2</code>
<code>cd</code> <code>msmtp-1.4.32</code>
<code>mkdir</code> <code>-p </code><code>/webserver/msmtp/etc</code>
<code>.</code><code>/configure</code> <code>--prefix=</code><code>/webserver/msmtp</code> <code>--sysconfdir=</code><code>/webserver/msmtp/etc</code>
<code>make</code> <code>&& </code><code>make</code> <code>install</code>
2.配置msmtp
7
8
9
10
11
12
13
<code>mkdir</code> <code>-p </code><code>/var/log/zabbix</code>
<code>touch</code> <code>/var/log/zabbix/msmtp</code><code>.log</code>
<code>chown</code> <code>zabbix.zabbix </code><code>/var/log/zabbix</code>
<code>vim </code><code>/webserver/msmtp/etc/msmtprc</code>
<code> </code><code>account default</code>
<code> </code><code>host smtp.163.com </code><code>//SMTP</code><code>服务器</code>
<code> </code><code>port 25</code>
<code> </code><code>from [email protected] </code>
<code> </code><code>auth login</code>
<code> </code><code>tls off</code>
<code> </code><code>user [email protected] </code><code>//</code><code>邮箱用户名</code>
<code> </code><code>password zabbix </code><code>//</code><code>邮箱密码</code>
<code> </code><code>logfile </code><code>/var/log/zabbix/msmtp</code><code>.log </code><code>//</code><code>日志路径</code>
如果在上面配置的时候没有加上--sysconfdir=/webserver/msmtp/etc选项,msmtp默认读取的是当前用户的主文件夹中(例如root用户则查找/root,zabbix用户则查找/home/zabbix)的.msmtprc文件
3.测试msmtp
<code>/webserver/msmtp/bin/msmtp</code> <code>test</code><code>@</code><code>test</code><code>.com</code>
<code>hello world</code>
<code>this is a </code><code>test</code> <code>mail!</code>
<code>//</code><code>按Ctrl+D结束即可发送邮件</code>
查看日志是否正常
Mar 20 15:01:42 host=smtp.163.com tls=off auth=on [email protected] [email protected] [email protected] mailsize=26 smtpstatus=250 smtpmsg='250 Mail OK queued as smtp7,C8CowEB5MVOwkypTKWWWAA--.1291S2 1395299252' exitcode=EX_OK
4.安装mutt
<code>yum -y </code><code>install</code> <code>mutt</code>
<code>编辑</code><code>/etc/Muttrc</code><code>.</code><code>local</code><code>文件</code>
<code>set</code> <code>sendmail=</code><code>"/webserver/msmtp/bin/msmtp"</code>
<code>set</code> <code>use_from=</code><code>yes</code>
<code>set</code> <code>realname=</code><code>"[email protected]"</code>
<code>set</code> <code>editor=</code><code>"vim"</code>
5.测试mutt
<code>echo</code> <code>"helloworld"</code> <code>| mutt -s </code><code>"test"</code> <code>test</code><code>@</code><code>test</code><code>.com</code>
<code>//</code><code>邮件内容为helloworld</code>
<code>//</code><code>主题为</code><code>test</code>
<code>//</code><code>如果需要发送多人的话可以继续添加收件人</code>
<code>//</code><code>其实这个还可以添加附件 只需要在最后添加 -a </code><code>/root/test</code><code>.txt</code>
<code>//</code><code>案例:</code><code>echo</code> <code>"helloworld"</code> <code>| mutt -s </code><code>"test"</code> <code>a@</code><code>test</code><code>.com b@</code><code>test</code><code>.com -a </code><code>/root/test</code><code>.txt</code>
6.创建邮件报警脚本
<code>vim </code><code>/webserver/zabbix/share/zabbix/alertscripts/email</code>
<code>#!/bin/bash</code>
<code>echo</code> <code>"$3"</code> <code>| mutt -s </code><code>"$2"</code> <code>$1</code>
对文件进行授权
<code>chown</code> <code>zabbix.zabbix </code><code>/webserver/zabbix/share/zabbix/alertscripts/email</code>
<code>chmod</code> <code>755 </code><code>/webserver/zabbix/share/zabbix/alertscripts/email</code>
7.配置zabbix_server.conf
报警脚本的位置是由zabbix_server.conf中的参数决定的,权限位置不正确或者权限不对将无法工作
<code>vim </code><code>/webserver/zabbix/etc/zabbix_server</code><code>.conf</code>
<code>//</code><code>修改报警脚本路径</code>
<code>AlertScriptsPath=</code><code>/webserver/zabbix/share/zabbix/alertscripts</code>
8.配置zabbix媒体类型
我这里是直接替换zabbix默认的邮件方式
<a href="http://s3.51cto.com/wyfs02/M01/22/E2/wKioL1Mqniyy2PwrAAFqYYLO1Co614.jpg" target="_blank"></a>
然后将Email修改成脚本方式
<a href="http://s3.51cto.com/wyfs02/M00/22/E2/wKioL1MqnzCReYxKAAFJEfy3K6Q857.jpg" target="_blank"></a>
然后修改自己的邮件地址,就可以收到报警邮件了.
<a href="http://s3.51cto.com/wyfs02/M01/22/E1/wKiom1MqoETDRlgbAAEpm566krA229.jpg" target="_blank"></a>
本文转自 rong341233 51CTO博客,原文链接:http://blog.51cto.com/fengwan/1380441