Zabbix邮件告警配置,服务器故障推送通知
Zabbix 邮件告警配置的核心是让监控系统在检测到服务器故障时,自动通过邮件把告警信息推送给运维人员。
整个过程需要配置邮件媒介、创建动作和触发器,并指定收件人。
下面按零基础可操作的方式逐步说明。
准备工作:确认邮件发送方式
Zabbix 发送邮件有两种常见方式:使用本地 MTA(如 Postfix)或通过外部 SMTP 账号。
推荐用外部 SMTP,因为送达率更可控。
你需要准备好:
- 一个可用的邮箱账号(如企业邮箱或 QQ 邮箱),并开启 SMTP 服务,获取授权码。
- 确认 Zabbix Server 能访问外网 SMTP 服务器的端口(通常是 465 或 587)。
- 登录 Zabbix Web 前台,使用管理员账号。
如果服务器无法直连外网,也可以在内网自建邮件中继,但配置会稍复杂,新手建议先用外部 SMTP 验证流程。
配置邮件媒介:让 Zabbix 学会发邮件
进入 管理 → 媒介,点击右上角 创建媒介类型。
- 名称填
Email(可自定义)。 - 类型选择
电子邮件。 - SMTP 服务器填你的邮件服务商地址,例如
smtp.qq.com。 - SMTP 服务器端口填
465(SSL)或587(TLS)。 - SMTP HELO 填你的域名或任意合法主机名,如
example.com。 - SMTP 电邮填发件邮箱地址。
- 认证选择
用户名和密码,填入邮箱账号和授权码(注意不是登录密码)。 - 安全连接选
SSL/TLS或STARTTLS,与端口对应。
保存后,在媒介列表找到刚创建的 Email,点击 测试,输入一个收件邮箱,发送测试邮件。
如果收到邮件,说明媒介配置成功;
如果失败,检查端口、授权码和防火墙。
给用户绑定收件邮箱
进入 管理 → 用户,选择要接收告警的用户(如 Admin),在 媒介 标签页点击 添加。
- 类型选择刚才创建的
Email。 - 收件人填你的邮箱地址。
- 其他选项保持默认,点击
添加后保存用户。
这样 Zabbix 就知道把告警发给谁。
创建动作:定义什么故障发邮件
进入 配置 → 动作,选择 触发器动作,点击 创建动作。
在 动作 标签页:
- 名称填
发送邮件告警。 - 条件按需添加,例如
触发器严重性大于等于警告。
在 操作 标签页:
- 默认操作里,点击
添加。 - 发送到用户选择
Admin(或你创建的用户)。 - 仅送到选择
Email。 - 主题和消息内容可以使用默认模板,也可以自定义。例如主题写:
故障:{TRIGGER.NAME},消息写:主机:{HOST.NAME},时间:{EVENT.DATE} {EVENT.TIME},详情:{TRIGGER.DESCRIPTION}。
保存动作后,确保动作已启用。
验证告警是否真的能推送
最直接的方法:在 Zabbix 中手动触发一个测试告警。
- 找到一台被监控的主机,临时停掉一个监控项对应的服务,或者直接创建一个测试触发器(例如表达式
last(/主机/system.cpu.load[all,avg1])>0),让它立刻触发。 - 观察 Zabbix 的
报表→动作日志,应该能看到动作被触发并发送邮件。 - 检查收件箱,通常几秒到一分钟内会收到告警邮件。
如果动作日志显示已发送但没收到邮件,优先检查垃圾邮件箱,并确认 SMTP 服务器没有限制发信频率。
常见问题与避坑
- 测试邮件能收到,但告警不发:检查动作条件是否太严格,或者触发器没有进入问题状态。
- 邮件进了垃圾箱:在邮件服务商后台把发件地址加入白名单,或使用企业邮箱的专用发信通道。
- SMTP 连接超时:确认服务器出站端口未被防火墙拦截,可以尝试用
telnet smtp.qq.com 465测试连通性。 - 授权码错误:多数邮箱要求使用独立授权码而非登录密码,重新生成后再试。
Zabbix 邮件告警配置并不复杂,关键是把媒介、用户和动作三部分串起来。
按本文步骤操作后,建议再模拟一次真实故障,确认通知能稳定送达。
后续可以结合企业微信或钉钉做补充通知,提高告警触达率。