作者:じ☆ve宝贝
发布时间:2019-01-15T20:21:45
这里我选择的是mailx,Centos6默认会安装,如果没有安装的话,请使用语句进行安装。
yum install -y mailx
service sendmail stop
chkconfig sendmail off
service postfix stop
chkconfig postfix off
打开文件vim /etc/mail.rc 如果没有的话,有可能是 /etc/nail.rc,在最后加内容如下:
set sendcharsets=iso-8859-1,utf-8 #设置发送支持的编码
set from=xxx@studyjava.cn #在邮件头中可以看到的发送人
set smtp=smtp.studyjava.cn #smtp服务器
set smtp-auth-user=xxx@studyjava.cn #发送邮件的用户
set smtp-auth-password=xxx #邮件发送人密码
第四、测试发送邮件是否可用
echo "测试本地发送邮件" | mailx -s "文件正文内容" zsljava@163.com
发送成功
vim /etc/zabbix/zabbix_server.conf
AlertScriptsPath=/usr/lib/zabbix/alertscripts/ #启用选项
编写脚本 vim /usr/lib/zabbix/alertscripts/sendmail.sh
#!/bin/bash
export LANG=en_US.UTF-8
to=$1
subject=$2
echo "$3" > /tmp/zabbix_mailbody_$$
dos2unix /tmp/zabbix_mailbody_$$
mail -s "$subject" "$to" < /tmp/zabbix_mailbody_$$
rm -f /tmp/zabbix_mailbody_$$
上面涉及3个参数,$1:收件人邮箱 $2:邮件标题 $3:邮件正文
给脚本设置权限
chmod +x /usr/lib/zabbix/alertscripts/sendmail.sh #赋予执行权限
chown zabbix:zabbix /usr/lib/zabbix/alertscripts/sendmail.sh #属主属组为zabbix用户
service zabbix-server restart
测试发送邮件的脚本
/usr/lib/zabbix/alertscripts/sendmail.sh zsljava@163.com test 12346
1、点击配置 –> 报警媒介类型 –> 创建媒介类型
2、$1,$2,$3分别表示发送脚本中的$1,$2,$3,配置好后保存,点击更新
3、给用户添加报警媒介
点击 管理–> 用户 –> Admin用户,或者自己另创建用户
4、添加媒介
5、编辑添加,填写后点击 已启用 –> 更新
6、创建触发告警动作
填写动作选项
填写操作,步骤1-0表示无限制,步骤持续时间表示多久发生一次告警
填写恢复操作
以上操作完成后点击更新
将一台添加到 Template OS Linux 模板的服务器进行关闭客户端
service zabbix-agent stop
或者
/bin/systemctl stop zabbix-agent.service
登录到zabbix Web界面,看触发告警
触发成功,并显示发送告警成功,查看邮件
启动服务器zabbix客户端查看是否会发生恢复邮件
service zabbix-agent start
或者
/bin/systemctl start zabbix-agent.service
接收到恢复告警邮件,查看web界面是否触发问题已取消
服务器均正常。
到此,zabbix邮件告警就结束了。