Zabbix 添加SendEmail告警媒介(学习笔记八)

一、安装sendEmail

#sendEmail是一个免费、轻量级、命令行的SMTP邮件客户端。

wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz

 tar xvzf sendEmail-v1.56.tar.gz

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

chmod +x /usr/local/bin/sendEmail 

sendEmail命令选项:


Zabbix 添加SendEmail告警媒介(学习笔记八)

二、zabbix服务器端配置发送邮件脚本

#创建/etc/zabbix/alertscripts目录

 mkdir -p /etc/zabbix/alertscripts

 chown -R zabbix:zabbix /etc/zabbix/alertscripts

#修改/etc/zabbix/zabbix_server.conf

AlertScriptsPath=/etc/zabbix/alertscripts

#修改后重启zabbix server。

三、创建发送邮件脚本

 vim /etc/zabbix/alertscripts/SendEmail.sh

#!/bin/bash

SMTP_server='smtp.163.com'    # SMTP服务器

username='[email protected]'     # 用户名

password='zabbix'             # 密码

from_email_address='[email protected]' # 发件人Email地址

to_email_address="$1"               # 收件人Email地址,zabbix传入的第一个参数

message_subject_utf8="$2"           # 邮件标题,zabbix传入的第二个参数

message_body_utf8="$3"              # 邮件内容,zabbix传入的第三个参数

# 转换邮件标题为GB2312,解决邮件标题含有中文,收到邮件显示乱码的问题。

message_subject_gb2312=`iconv -t GB2312 -f UTF-8 << EOF

$message_subject_utf8

EOF`

[ $? -eq 0 ] && message_subject="$message_subject_gb2312" || message_subject="$message_subject_utf8"

# 转换邮件内容为GB2312

message_body_gb2312=`iconv -t GB2312 -f UTF-8 << EOF

$message_body_utf8

EOF`

[ $? -eq 0 ] && message_body="$message_body_gb2312" || message_body="$message_body_utf8"

sendEmail='/usr/local/bin/sendEmail'

$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

#SendEmail.sh  over

四、添加脚本的执行权限

 chown zabbix:zabbix /etc/zabbix/alertscripts/SendEmail.sh

 chmod +x /etc/zabbix/alertscripts/SendEmail.sh 

五、配置Email告警方式

进入告警方式配置界面(Media types),创建Email告警方式,脚本参数几个都必须写,如下图:

Zabbix 添加SendEmail告警媒介(学习笔记八)

六、配置用户的邮箱

用户--选择报警媒介SendEmail

Zabbix 添加SendEmail告警媒介(学习笔记八)