首先介绍下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,然后获取授权码,用这个授权码代替你的密码。
# 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这个文件里
这里就不多说了,自己试一下就行了。
下面就直接上图吧
用户
报警媒介类型这里注意脚本名称别写错了,还有三个宏别写错了
白开这里就曾把第一个宏写错了一个字母,导致死活收不到邮件
后面设置动作什么的都比较简单,看着就会的,这里就不多说了。