使用 Webhook 通过 PagerDuty 发送 Azure 服务运行状况警报

本文演示如何使用 Webhook 通过 PagerDuty 设置 Azure 服务运行状况通知。 使用 PagerDuty 的自定义 Azure 集成类型,可以轻松地将服务运行状况警报添加到新的或现有的 PagerDuty 服务。

在 PagerDuty 中创建服务运行状况集成 URL

  1. 请确保已注册并登录到 PagerDuty 帐户。

  2. 在 PagerDuty 中导航到“服务” 部分。

    PagerDuty 中的“服务”部分

  3. 选择“添加新服务” 或打开已设置的现有服务。

  4. 在“集成设置” 中,选择以下项:

    a. 集成类型:Azure

    b. 集成名称:<名称>

    PagerDuty 中的“集成设置”

  5. 填写任何其他必填字段,然后选择“添加” 。

  6. 打开此新集成,复制并保存“集成 URL” 。

    PagerDuty 中的“集成 URL”

在 Azure 门户中使用 PagerDuty 创建警报

对于新操作组:

  1. 执行使用 Azure 门户为新操作组创建有关服务运行状况通知的警报中的步骤 1 到步骤 8。

  2. 在“操作” 列表中定义:

    a. 操作类型:Webhook

    b. 详细信息: 前面保存的 PagerDuty 集成 URL

    c. 名称: Webhook 的名称、别名或标识符。

  3. 警报创建完成后,选择“保存” 。

对于现有操作组:

  1. Azure 门户中,选择“监视” 。

  2. 在“设置” 部分中,选择“操作组” 。

  3. 找到要编辑的操作组并选择它。

  4. 添加到“操作” 列表:

    a. 操作类型:Webhook

    b. 详细信息: 前面保存的 PagerDuty 集成 URL

    c. 名称: Webhook 的名称、别名或标识符。

  5. 操作组更新完成后,选择“保存” 。

通过 HTTP POST 请求测试 Webhook 集成

  1. 创建要发送的服务运行状况有效负载。 可以在 Azure 活动日志警报的 Webhook 中找到示例服务运行状况 Webhook 有效负载。

  2. 按如下所示创建 HTTP POST 请求:

    POST        https://events.pagerduty.com/integration/<IntegrationKey>/enqueue
    
    HEADERS     Content-Type: application/json
    
    BODY        <service health payload>
    
  3. 应会收到 202 Accepted 并显示包含“事件 ID”的消息。

  4. 转到 PagerDuty,确认集成已设置成功。

后续步骤