zabbix4.0-告警:配置邮件告警(bash脚本:Linux系统mail命令)
前言:
1、Linux是借用第三方的邮箱账号,来发送邮件到指定用户。
2、/etc/mail.rc配置文件中from和smtp-auth-user指定的第三方邮箱用户名必须相同。
3、使用它发送邮箱还需要这个账号的授权码,以及对应的smtp有服务器地址,然后才可以使用该邮箱发送邮件。这也是为什么这个授权码让你好好保管的原因,因为让别人知道的话,只需要邮箱账号,就可以使用你的邮箱号去发送任何邮件了,授权码和邮箱密码从某种意义上是一样的。
开始搭建
zabbix_server端配置:
1.安装mail命令
#yum install -y mailx
2.编辑配置文件/etc/mail.rc,在最下面添加如下内容
set bsdcompat set sendcharsets=iso-8859-1,utf-8 set from=借用第三方邮箱账号(对方收到邮件时显示的发件人) set smtp=指定第三方发邮件的smtp服务器地址 set smtp-auth-user=借用第三方邮箱账号 set smtp-auth-password=借用第三方邮箱的授权码 set smtp-auth=login ------------------------------- 其中: smtp邮箱若是qq邮箱,则为smtp.qq.com;若是163邮箱,则为smtp.163.com。 from和smtp-auth-user参数指定的第三方邮箱账号要一致。 smtp-auth=login:SMTP的认证方式,默认是login,也可以改成CRAM-MD5或PLAIN方式。
3.测试mail命令是否可以正常使用
# echo "naowdoa" |mail -s "linux" qilin920834778@qq.com
正常情况下,若成功,则不会返回报错,且qq邮箱会收到对应的邮件。
4.在zabbix报警目录下编写发送邮件脚本。
[root@zabbix alertscripts]# cd /opt/zabbix/alertscripts ----------------------------------------------------------------- 编写 /opt/zabbix/alertscripts/mailx.sh [root@zabbix alertscripts]# vi mailx.sh #!/bin/bash #send mail messages=`echo $3 | tr '\r\n' '\n'` subject=`echo $2 | tr '\r\n' '\n'` echo "${messages}" | mail -s "${subject}" $1 >>/tmp/mailx.log 2>&1 ---------------------------------------------------------------- 修改权限 #touch /tmp/mailx.log #chown -R zabbix.zabbix /tmp/mailx.log #chmod +x /opt/zabbix/alertscripts/mailx.sh #chown -R zabbix.zabbix /opt/zabbix/
5.测试邮件发送脚本是否可以正常发送邮件
# /opt/zabbix/alertscripts/mailx.sh 接收的邮箱地址 "主题" "内容" 即 #/opt/zabbix/alertscripts/mailx.sh qilin920834778@qq.com "hello world" "awiuhdiawoi" 若没有返回报错,则命令发送成功
邮箱查看
至此,zabbix_server端的mail配置等步骤,操作完成。然后到zabbix_web界面操作配置。
zabbix_web端配置:
1.管理--->报警媒介类型
2.管理---->用户
选择Admin用户发送邮件
3.配置----->动作
①动作页面配置
②操作页面配置
故障消息内容:
SUBJECT内容:故障{TRIGGER.STATUS},服务器名:{HOSTNAME1}发生: {TRIGGER.NAME}故障!
MESSAGE内容:
告警主机:{HOSTNAME}
告警主机IP地址:{HOST.IP}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
③恢复操作页面配置
创建动作结果,如图:
开始测试
①创建故障,人工使磁盘变满:
# dd if=/dev/zero of=/root/a.txt bs=512M count=500
②等待zabbix_web页面报警:仪表盘
③查看邮箱
④消除报警后,查看恢复邮件
分类:
zabbix4.0
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统