一、准备工作
1、zabbix需要监控到一个服务(我这里用的是ftp)
2、需要注册网易邮箱
3、需要网易邮箱的授权码
二、部署
1、测试邮箱
yum install -y mailx dos2unix 安装处理邮件和转换文本文件格式的工具
mailx -V 查看是否安装成功
vim /etc/mail.rc
set from=接收邮件的邮箱号@163.com smtp=smtp.163.com
set smtp-auth-user=接收邮件的邮箱号@163.com smtp-auth-password=网易邮箱的授权码
set smtp-auth=login
发送测试内容
echo "test mail from zabbix.server.com"| mail -s"test mail" 接收邮件的邮箱号@163.com
2、编辑zabbix_server.conf 引用邮件脚本
vim /usr/local/zabbix/etc/zabbix_server.conf 打开配置文件
AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts 指定脚本位置
cd /usr/local/zabbix/share/zabbix/alertscripts 进入编写脚本目录
vim mail.sh
#!/bin/bash
#export.UTF-8
bt=$2 sjr=$1 定义发件标题和收件人信息
FILE=/tmp/mailtmp.txt 定义文件路径
/usr/bin/dos2unix -k $FILE 使用dos2unix命令转换字符,避免收到邮件不显示正常邮件内容而出现ATT00001.bin的错误;
/bin/mail -s "$bt" "$sjr" <$FILE 执行邮件发送命令
chmod 777 mail.sh //为脚本加权
chown zabbix:zabbix mail.sh //更改属组 及 属主
touch /tmp/mailtmp.txt //创建信息文件
chmod 777 /tmp/mailtmp.txt //加权
chown zabbix:zabbix /tmp/mailtmp.txt //改属组 及 属主
./mail.sh mslinux@163.com "test mail2" "test mail from server.zabbix.com test2" //脚本测试
3、配置zabbix web界面
输入创建的报警媒介类型的名称,指定类型为脚本的方式,并且输入zabbix_server端/usr/local/zabbix/share/zabbix/alertscripts目录下的脚本名称,确保脚本的归属是zabbix,并且脚本的权限是777,下边设置脚本参数,也就是发送邮件的语法:脚本 收件人 标题 内容,必须严格按照此标准填写;
$1 {ALERT.SENDTO}
$2 {ALERT.SUBJECT}
$3 {ALERT.MESSAGE}
这个名称是自己随便取的
输入动作名,动作名最好为英文,可以选择触发这个动作的条件(可以选择触发器=触发器的名称或者选择触发器似触发器名称),作为条件,如若如图不选择触发器的条件,那么任何消息都会提示到邮箱;