配置 SMTP 设置
本指南介绍如何配置 SMTP(简单邮件传输协议)设置,以在 Azure 托管 Grafana 中生成电子邮件警报。 当 Grafana 仪表板上出现某些给定的情况时,通知会向用户发出警报。
可以通过 Azure 门户和 Azure CLI 在现有的 Azure 托管 Grafana 实例上启用 SMTP 设置。 目前不支持在创建新实例时启用 SMTP 设置。
先决条件
若要执行本指南中的步骤,必须做好以下准备:
- 具有活动订阅的 Azure 帐户。 创建试用帐户。
- 标准计划中的 Azure 托管 Grafana 实例。 如果你没有实例,请创建一个新实例。
- 一个 SMTP 服务器。 如果你没有服务器,建议使用 Twilio SendGrid 的 Azure 电子邮件 API。
启用和配置 SMTP 设置
若要在 Azure 托管 Grafana 中激活 SMTP 设置、启用电子邮件通知并配置电子邮件联络点,请执行以下步骤。
在 Azure 门户中打开你的 Grafana 实例,并在“设置”下选择“配置”。
选择“电子邮件设置”选项卡。
将“SMTP 设置”切换为打开状态,以显示“启用”。
此时将显示 SMTP 设置。 在窗体中填写以下配置:
参数 示例 说明 主机 test.sendgrid.net:587 输入 SMTP 服务器主机名和端口。 用户 管理员 输入 SMTP 身份验证的用户名。 密码 password 输入 SMTP 身份验证的密码。 如果密码包含“#”或“;”,请将其包含在三引号中。 发件人地址 user@domain.com 输入发送电子邮件时使用的电子邮件地址。 发件人姓名 Azure 托管 Grafana 通知 输入发送电子邮件时使用的姓名。 如果参数未指定或为空,则默认值为“Azure 托管 Grafana 通知”。 跳过验证 禁用 此设置控制客户端是否验证服务器的证书链和主机名。 如果“跳过验证”设置为“启用”,则客户端将接受服务器提供的任何证书,以及该证书中的任何主机名。 在此模式下,除非使用了自定义验证,否则 TLS 容易受到中间计算机攻击。 默认值为“禁用”(关闭)。 详细信息。 StartTLS 策略 OpportunisticStartTLS 有三个选项。 详细信息。 - OpportunisticStartTLS 表示如果 SMTP 服务器支持 STARTTLS,则加密 SMTP 事务。 否则,消息将以明文形式发送。 这是默认设置。
- MandatoryStartTLS 表示必须加密 SMTP 事务。 除非 SMTP 服务器支持 STARTTLS,否则 SMTP 事务将中止。
- NoStartTLS 表示禁用加密,并以明文形式发送消息。
选择“保存”以保存 SMTP 设置。 更新操作可能需要几分钟时间。
该过程完成后,消息“正在更新选择。 更新成功”将显示在 Azure 通知中。 在“概述”页中,实例的预配状态将变为“正在更新”,并在更新完成后变为“成功”。
提示
下面是正确配置 SMTP 的一些提示:
- 使用企业电子邮件帐户(如 Office 365)时,可能需要联系电子邮件管理员以启用 SMTP AUTH(例如 enable-smtp-auth-for-specific-mailboxes)。 之后应该能够创建应用密码并将其用作 SMTP 密码设置。
- 使用个人电子邮件帐户(如 Outlook 或 Gmail)时,应创建应用密码并将其用作 SMTP 密码设置。 请注意,如果帐户配置了多重身份验证,则无法接收电子邮件通知。
- 建议先验证 SMTP 配置是否按预期工作,然后再将其应用到托管 Grafana 工作区。 例如,可以使用开源工具(例如 swaks(SMTP 使用 Swiss Army Knife)),通过在终端窗口中运行以下命令来使用 SMTP 配置发送测试电子邮件:
# fill in all the empty values for the following parameters host="" # SMTP host name with port separated by a ":", e.g. smtp.office365.com:587 user="" # email address, e.g. team1@contoso.com password="" # password fromAddress="" # source email address (usually the same as user above), e.g. team1@contoso.com toAddress="" # destination email address, e.g. team2@contoso.com ehlo="" # grafana endpoint, e.g. team1-ftbghja6ekeybng8.wcus.grafana.azure.com header="Subject:Test" body="Testing!" # test SMTP connection by sending an email swaks --auth -tls \ --server $host \ --auth-user $user \ --auth-password $password \ --from $fromAddress \ --to $toAddress \ --ehlo $ehlo \ --header $header \ --body $body
配置 Grafana 联络点并发送测试电子邮件
在 Grafana 门户中配置 Grafana 联络点:
在 Azure 托管 Grafana 工作区的“概述”中,选择“终结点”URL。
转到“警报”>“联络点”。
选择“新建联络点”,或选择“编辑联络点”以更新现有联络点。
添加或更新“名称”和“联络点类型”。
在“地址”下输入目标电子邮件,然后选择“测试”。
选择“发送测试通知”以发送包含预定义的测试消息的通知,或选择“自定义”以便首先编辑消息。
此时会显示“已发送测试警报”通知,表示已成功配置电子邮件设置。 测试电子邮件已发送到提供的电子邮件地址。 如果配置错误,则会改为显示错误消息。
禁用 SMTP 设置
若要禁用 SMTP 设置,请执行以下步骤。
- 在 Azure 门户中,转到“配置”>“电子邮件设置”并将“SMTP 设置”切换为关闭状态,以显示“禁用”。
- 选择“保存”进行验证并开始更新 Azure 托管 Grafana 实例。
注意
当用户禁用 SMTP 设置时,将从后端中删除所有 SMTP 凭据。 Azure 托管 Grafana 在禁用后不会保存 SMTP 凭据。
Grafana 警报错误消息
在 Grafana 门户中,可以在“警报”>“通知”中找到出现的所有 Grafana 警报错误消息的列表。
下面是你可能会遇到的一些常见错误消息:
- “身份验证失败: 提供的授权无效、已过期或已撤销”。 Grafana 无法连接到 SMTP 服务器。 检查在 Azure 门户上的 SMTP 设置中输入的密码是否正确。
- “未能发送测试警报:未配置 SMTP”。 SMTP 已禁用。 在 Azure 门户打开 Azure 托管 Grafana 实例并启用 SMTP 设置。
后续步骤
在本操作指南中,你已了解如何配置 Grafana SMTP 设置。 若要了解如何创建报表并将其通过电子邮件发送给收件人,请参阅创建仪表板。