zabbix3.2使用sendEmail发送告警邮件

首先介绍下sendemail,sendEmail是一个免费、轻量级、命令行的SMTP邮件客户端。其实就是个Perl脚本文件。使用简单,不需要大量的配置工作。

尽管他是一个很简单的应用,但是白开在使用过程中还有遇到了很多的问题,下面就一一讲解如何使用。

下载并拷贝

sendemail在网上有很多下载的,自行下载就可以了;
白开用的是这个版本的:
http://download.csdn.net/detail/liang_baikai/9710004
下载好了随便在哪给它解压了

# tar -xvzf sendEmail-v1.56.tar.gz

然后将sendEmail这个Perl脚本文件拷贝到/usr/local/bin/ 下面

# cp sendEmail-v1.56/sendEmail /usr/local/bin/

直接给sendemail 777的权限

# chmod 755 /usr/local/bin/sendEmail

写个运行脚本

zabbix 配置目录位置创建alertscripts目录
并创建脚本

# mkdir /usr/local/zabbix/etc/alertscripts
# vim /usr/local/zabbix/etc/alertscripts/SendEmail.sh

脚本内容:(可以直接拷贝,根据自己的情况修改就好了)

  1 #!/bin/bash
  2 #
  3 # Filename:    SendEmail.sh
  4 # Date:        2016/12/12
  5 # Author:      liang_baikai 
  6 touch /tmp/liang_baikai.log
  7 chown zabbix:zabbix /tmp/liang_baikai.log
  8 LOGFILE="/tmp/liang_baikai.log"
  9 :>"$LOGFILE"
 10 exec 1>"$LOGFILE"
 11 exec 2>&1
 12 
 13 SMTP_server='smtp.163.com'  
 14 username='[email protected]'
 15 password='XXXXXXXXXXXX'  
 16 from_email_address='[email protected]'
 17 to_email_address="$1"         
 18 message_subject_utf8="$2"       
 19 message_body_utf8="$3"
 20 #
 21 # 
 22 message_subject_gb2312=`iconv -t GB2312 -f UTF-8 << EOF
 23 $message_subject_utf8
 24 EOF`
 25 [ $? -eq 0 ] && message_subject="$message_subject_gb2312" || message_subject="$message_subject_utf8"
 26 #
 27 #
 28 message_body_gb2312=`iconv -t GB2312 -f UTF-8 << EOF
 29 $message_body_utf8
 30 EOF`
 31 [ $? -eq 0 ] && message_body="$message_body_gb2312" || message_body="$message_body_utf8"
 32 #
 33 # 
 34 sendEmail='/usr/local/bin/sendEmail'
 35 set -x
 36 $sendEmail -s "$SMTP_server" -xu "$username" -xp "$password" -f "$from_email_address" -t "$to_email_address" -u "$message_subject"     -m "$message_body" -o message-content-type=text -o message-charset=gb2312

说明:
13 SMTP_server='smtp.163.com'
SMTP服务器,需要自行修改为要用的SMTP地址

14 username='[email protected]'
这是用户名,需要自行修改为自己的账号

15 password='XXXXXXXXXXXX'
这是密码,需要自行修改为自己的邮箱密码

16 from_email_address='[email protected]'
发件人Email地址,需要自行修改

注:如果使用163邮箱,需要先登录163邮箱,在设置里面开启SMTP,然后获取授权码,用这个授权码代替你的密码。

修改zabbix配置文件

# vim /usr/local/zabbix/etc/zabbix_server.conf

这里改一下,改成自己的路径
这里写图片描述
重启zabbix_server服务就好了

设置脚本归属与权限

# chown zabbix:zabbix /usr/local/zabbix/etc/alertscripts/SendEmail.sh
# chmod +x /usr/local/zabbix/etc/alertscripts/SendEmail.sh

这里可以发一封测试邮件试试能不能收的到,日志在/tmp/liang_baikai.log这个文件里
这里就不多说了,自己试一下就行了。

zabbix界面上的配置

下面就直接上图吧
用户

这里写图片描述

这里写图片描述
这里写图片描述

报警媒介类型这里注意脚本名称别写错了,还有三个宏别写错了
白开这里就曾把第一个宏写错了一个字母,导致死活收不到邮件

这里解释下:三个宏分别是收件人,邮件标题以及邮件内容
这里写图片描述

后面设置动作什么的都比较简单,看着就会的,这里就不多说了。

白开这里已经能成功收到报警邮件了,这个就不贴图了。由于白开水平有限,难免有错误的地方,望不吝赐教。祝大家一切顺利!
这里写图片描述

原创文章 29 获赞 111 访问量 139万+

猜你喜欢

转载自blog.csdn.net/liang_baikai/article/details/53610474