前言
在完成Filebeat+logstash+zabbix监控服务构建的集成上,增加zabbix 邮件报警配置
准备工作
安装邮件服务
mail是mailx的别名,mail是MUA,sendmail是MTA
- 安装 sendmail
shell>yum -y install sendmail
- 安装邮件发送工具 mailx
shell>yum -y install mailx
- 安装邮件内容转换插件 dos2unix
shell>yum install dos2unix
- 配置外部邮箱
shell> vi /etc/mail.rc
set smtp=smtps://smtp.xxx.com:465 # 这里填入smtp地址
set smtp-auth=login # 认证方式
set smtp-auth-user=user@xxx.com # 这里输入邮箱账号
set smtp-auth-password=password # 这里填入密码
set from=user@xxx.com # 设置发信人邮箱
邮件发送脚本
- 邮件发送脚本
#创建脚本文件,mail.sh
shell>touch /usr/local/share/zabbix/alertscripts/mail.sh
#编辑脚本代码,并保存
shell>vi /usr/local/share/zabbix/alertscripts/mail.sh
#!/bin/bash
#send mail
#设置编码
export LANG=zh_CN.UTF-8
to=$1
subject=$2
body=$3
#解决了发送的邮件内容变成附件的问题。
FILE=/tmp/mailtmp.txt
echo "$3" >$FILE
dos2unix -k $FILE
/bin/mail -s "$2" $1 < $FILE
- 脚本文件权限设置
#修改zabbix脚本目录权限
shell>chown -R zabbix:zabbix /usr/local/share/zabbix
#脚本增加执行权限
shell>chmod u+x /usr/local/share/zabbix/alertscripts/mail.sh
# /tmp/ 目录创建mailtmp.txt文件,邮件内容转换使用。并设置权限
shell>touch /tmp/mailtmp.txt
shell>chown zabbix:zabbix /tmp/mailtmp.txt
zabbix 邮件报警配置
- 创建媒介类型
- 报警媒介类型添加
#脚本参数
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}
- 测试邮件发送
- 配置用户 选择admin用户
- 用户报警媒介
- 添加报警媒介
- 创建报警动作 配置-动作-创建动作,新建动作
- 新建操作
#消息内容示例
告警主机:{HOSTNAME1}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
当前状态:{TRIGGER.STATUS}
问题地址:{TRIGGER.URL}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
- 添加操作
- 发送到用户,添加Admin用户
- 完成添加
- 添加恢复操作
- 完成添加动作
测试告警服务
- 模拟写入异常日志
#模拟写入监控的日志文件
echo ERROR_Test>a.log
- zabbix 面板查看问题,以及邮件预警动作
- 预警邮件收件人收件箱
- 触发器优化
触发器,如需问题每次都发送邮件,问题事件生成模式可设置为多重。