配置 SMTP 设置

本指南介绍如何配置 SMTP(简单邮件传输协议)设置,以在 Azure 托管 Grafana 中生成电子邮件警报。 当 Grafana 仪表板上出现某些给定的情况时,通知会向用户发出警报。

可以通过 Azure 门户和 Azure CLI 在现有的 Azure 托管 Grafana 实例上启用 SMTP 设置。 目前不支持在创建新实例时启用 SMTP 设置。

先决条件

若要执行本指南中的步骤,必须做好以下准备:

启用和配置 SMTP 设置

若要在 Azure 托管 Grafana 中激活 SMTP 设置、启用电子邮件通知并配置电子邮件联络点,请执行以下步骤。

  1. 在 Azure 门户中打开你的 Grafana 实例,并在“设置”下选择“配置”。

  2. 选择“电子邮件设置”选项卡。Azure 平台的屏幕截图。选择“SMTP 设置”选项卡。

  3. 将“SMTP 设置”切换为打开状态,以显示“启用”。

  4. 此时将显示 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 表示禁用加密,并以明文形式发送消息。
  5. 选择“保存”以保存 SMTP 设置。 更新操作可能需要几分钟时间。

    Azure 平台的屏幕截图。包含新数据的“电子邮件设置”选项卡。

  6. 该过程完成后,消息“正在更新选择。 更新成功”将显示在 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 联络点:

  1. 在 Azure 托管 Grafana 工作区的“概述”中,选择“终结点”URL。

  2. 转到“警报”>“联络点”。

  3. 选择“新建联络点”,或选择“编辑联络点”以更新现有联络点。

    Grafana 平台的屏幕截图。更新联络点。

  4. 添加或更新“名称”和“联络点类型”。

  5. 在“地址”下输入目标电子邮件,然后选择“测试”。

  6. 选择“发送测试通知”以发送包含预定义的测试消息的通知,或选择“自定义”以便首先编辑消息。

  7. 此时会显示“已发送测试警报”通知,表示已成功配置电子邮件设置。 测试电子邮件已发送到提供的电子邮件地址。 如果配置错误,则会改为显示错误消息。

禁用 SMTP 设置

若要禁用 SMTP 设置,请执行以下步骤。

  1. 在 Azure 门户中,转到“配置”>“电子邮件设置”并将“SMTP 设置”切换为关闭状态,以显示“禁用”。
  2. 选择“保存”进行验证并开始更新 Azure 托管 Grafana 实例。

注意

当用户禁用 SMTP 设置时,将从后端中删除所有 SMTP 凭据。 Azure 托管 Grafana 在禁用后不会保存 SMTP 凭据。

Grafana 警报错误消息

在 Grafana 门户中,可以在“警报”>“通知”中找到出现的所有 Grafana 警报错误消息的列表。

下面是你可能会遇到的一些常见错误消息:

  • “身份验证失败: 提供的授权无效、已过期或已撤销”。 Grafana 无法连接到 SMTP 服务器。 检查在 Azure 门户上的 SMTP 设置中输入的密码是否正确。
  • “未能发送测试警报:未配置 SMTP”。 SMTP 已禁用。 在 Azure 门户打开 Azure 托管 Grafana 实例并启用 SMTP 设置。

后续步骤

在本操作指南中,你已了解如何配置 Grafana SMTP 设置。 若要了解如何创建报表并将其通过电子邮件发送给收件人,请参阅创建仪表板