天天看点

zabbix邮件报警

常完美的选择:使用简单并且功能强大.这个被设计用在php、bash

perl和web站点使用。以上是sendEmail的简单介绍,千万不要和sendmail搞混掉了。

1、下载sendEmail软件以及解压

<code>[root@Server ~]</code><code># wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz</code>

<code>[root@Server ~]</code><code># tar fxz sendEmail-v1.56.tar.gz </code>

<code>[root@Server ~]</code><code># cd sendEmail-v1.56</code>

<code>[root@Server sendEmail-v1.56]</code><code># ll</code>

<code>total 116</code>

<code>-rw-r--r-- 1 root root 13329 Sep 30  2009 CHANGELOG</code>

<code>-rw-r--r-- 1 root root  7949 Sep 30  2009 README</code>

<code>-rw-r--r-- 1 root root  4701 Sep 30  2009 README-BR.txt</code>

<code>-rwxr-xr-x 1 root root 80213 Sep 30  2009 sendEmail</code>

<code>lrwxrwxrwx 1 root root     9 Apr 29 18:19 sendEmail.pl -&gt; sendEmail</code>

<code>-rw-r--r-- 1 root root  1229 Sep 30  2009 TODO</code>

<code>[root@Server sendEmail-v1.56]</code><code># cp sendEmail /usr/local/bin/</code>

<code>[root@Server sendEmail-v1.56]</code><code># ll /usr/local/bin/sendEmail </code>

<code>-rwxr-xr-x 1 root root 80213 Sep 30  2009 </code><code>/usr/local/bin/sendEmail</code>

<code>[root@Server sendEmail-v1.56]</code><code># yum install perl-Net-SSLeay perl-IO-Socket-SSL -y</code>

2、使用sendEmail测试发送邮件

<code>[root@Server ~]</code><code># /usr/local/bin/sendEmail -f [email protected] -t [email protected] \</code>

<code>&gt;     -s smtp.163.com -u </code><code>"我是邮件主题"</code> <code>-o message-content-</code><code>type</code><code>=html \</code>

<code>&gt;     -o message-charset=utf8 -xu [email protected] -xp 123 -m </code><code>"我是邮件内容"</code>

<code>Apr 29 22:22:19 server sendEmail[75870]: Email was sent successfully!</code>

 命令说明:

<code>/usr/local/bin/sendEmail</code> <code>命令主程序</code>

<code>-f [email protected]  发件人邮箱</code>

<code>-s smtp.163.com       发件人邮箱的smtp服务器</code>

<code>-u </code><code>"我是邮件主题"</code>     <code>邮件的标题</code>

<code>-o message-content-</code><code>type</code><code>=html   邮件内容的格式,html表示它是html格式</code>

<code>-o message-charset=utf8        邮件内容编码</code>

<code>-xu [email protected]          发件人邮箱的用户名</code>

<code>-xp 123                      发件人邮箱密码</code>

<code>-m </code><code>"我是邮件内容"</code>        <code>邮件的具体内容</code>

<code>发送成功之后会有如下提示:</code>

3、进入zabbix自定义的指定目录,在zabbix_server.conf配置文件AlertScriptsPath查看得知

<code>[root@Server zabbix]</code><code># mkdir /var/lib/zabbixsrv/externalscripts</code>

<code>[root@Server zabbix]</code><code># mkdir /var/lib/zabbixsrv/alertscripts</code>

<code>[root@Server zabbixsrv]</code><code># chown zabbix.zabbix externalscripts/ -R</code>

在/var/lib/zabbixsrv/alertscripts目录下创建脚本为sendEmail.sh,内容如下:

<code>[root@Server alertscripts]</code><code># cat sendEmail.sh </code>

<code>#!/bin/bash</code>

<code>to=$1</code>

<code>subject=$2</code>

<code>body=$3</code>

<code>/usr/local/bin/sendEmail</code>  <code>-f [email protected] -t </code><code>"$to"</code> <code>-s smtp.163.com -u </code><code>"$subject"</code> <code>-o message-content-</code><code>type</code><code>=html -o message-charset=utf8 -xu [email protected] -xp 123 -m </code><code>"$body"</code>

<code>[root@Server alertscripts]</code><code># chmod +x sendEmail.sh</code>

<code>[root@Server alertscripts]</code><code># chown zabbix.zabbix /var/lib/zabbixsrv/ -R</code>

本文转自 远永201314 51CTO博客,原文链接:http://blog.51cto.com/7336056/1868558