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服务器端配置发送邮件脚本
#创建/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='zabbix@163.com' # 用户名
password='zabbix' # 密码
from_email_address='zabbix@163.com' # 发件人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告警方式,脚本参数几个都必须写,如下图:
六、配置用户的邮箱
用户--选择报警媒介SendEmail