天天看点

Zabbix使用msmtp+mutt发送邮件报警

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>&amp;&amp; </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

继续阅读