grafana 通过配置 smtp 邮件服务器并创建 email 通知渠道,可在告警触发时自动发送含图表截图的邮件;需正确设置 host、user、password(授权码)、from_address 等参数,并启用 include image 与 tls 校验。

Grafana 对接邮件服务发送图表报警,核心是配置 SMTP 邮件服务器,并在告警规则触发时通过 Grafana 的 Alerting(v9.1+ 默认启用 Unified Alerting)将通知发往指定邮箱。整个过程不依赖外部脚本,但需确保网络可达、凭据正确、邮箱服务商允许第三方 SMTP。
配置 SMTP 邮件服务器
进入 Grafana Web 界面 → ⚙️ Settings → Administration → Server Admin → SMTP(或直接编辑 grafana.ini 文件)。关键参数包括:
- enabled = true:启用 SMTP 功能
- host = smtp.gmail.com:587(Gmail 示例)或 smtp.exmail.qq.com:465(腾讯企业邮)
- user = your_email@domain.com:发信邮箱账号(注意:部分服务商要求使用“授权码”而非登录密码)
- password = xxxxxxxx:对应账号的 SMTP 授权码(非网页登录密码)
- from_address = alert@your-domain.com:发件人地址,需与 user 一致或被服务商白名单认可
- skip_verify = false:生产环境建议设为 false,启用 TLS/SSL 校验
创建 Email 类型的通知渠道(Notification Channel)
路径:Alerting → Notification channels → Add channel → 选择 Email 类型。
- 填写收件人邮箱(支持多个,用英文逗号分隔,如 admin@x.com,ops@x.com)
- 勾选 Include image:此项启用后,Grafana 会自动截取对应面板截图并嵌入邮件正文(需 Grafana 后台能访问自身前端 URL,且 rendering 服务正常运行)
- 可选:设置 Message 模板,自定义 HTML 或 Markdown 内容(支持变量如
{{ .AlertName }}、{{ .Values.A.Values }})
在告警规则中关联邮件通知
新建或编辑一个告警规则(Alert rule)后,在 Notifications 标签页中:
- 点击 Add notification → 选择已配置好的 Email 通道
- 可设置 Send reminders(例如每 2 小时重发一次),避免告警被忽略
- 若使用模板,可在 Annotations 中添加键值对(如
summary = "CPU 使用率超阈值"),供通知模板调用
验证与排错要点
常见失败原因和检查项:
- SMTP 密码错误或未用“应用专用密码”(如 Gmail 关闭两步验证或未生成授权码)
- Grafana 无法解析自身域名(root_url 配置错误,导致截图链接 404 或渲染失败)
- 防火墙或宿主机限制了出站 465/587 端口
- 腾讯企业邮等需在邮箱后台开启 SMTP 服务并授权 IP(如 Grafana 服务器出口 IP)
- 日志查看:
journalctl -u grafana-server -f或查看 /var/log/grafana/grafana.log 中含Failed to send email的条目











