菜单
Grafana Cloud

Zendesk 集成 Grafana OnCall

此集成在 OSS 版本中不可用

Zendesk 集成 Grafana OnCall 处理从 Zendesk Webhook 发送的票证事件。该集成通过可定制的警报模板提供分组、自动确认和自动解决逻辑。

配置 Grafana OnCall 接收来自 Zendesk 的警报

  1. 集成 选项卡中,点击 + 新集成
  2. 从可用集成列表中选择 Zendesk
  3. 为集成输入名称和描述,点击 创建
  4. 将打开一个新页面,显示集成详细信息。从 HTTP 端点 部分复制 OnCall 集成 URL

配置 Zendesk 以向 Grafana OnCall 发送警报

在 Zendesk 中创建一个新的“触发器或自动化”Webhook 连接,使用上面的集成 URL 将事件发送到 Grafana OnCall。

有关如何创建和管理 Webhook 的更多信息,请参阅 Zendesk 文档

在 Zendesk 中设置 Webhook 后,创建一个新的触发器,其条件如下: 满足以下任一条件:“票证已创建”,“票证状态已更改”

通知 Webhook 设置为触发器操作,并选择您之前创建的 Webhook。在 JSON 主体字段中,使用以下 JSON 模板

json
{
  "ticket": {
    "id": "{{ticket.id}}",
    "url": "{{ticket.url}}",
    "status": "{{ticket.status}}",
    "title": "{{ticket.title}}",
    "description": "{{ticket.description}}"
  }
}

设置连接后,您可以在Zendesk中创建一个新工单进行测试。您应该在Grafana OnCall中看到一个新警报组。

分组、自动确认和自动解决

Grafana OnCall为Zendesk集成提供分组、自动确认和自动解决逻辑。

  • 从工单事件创建的警报按工单ID分组。
  • 当工单状态设置为“待处理”时,自动确认警报组。
  • 当工单状态设置为“已解决”时,自动解决警报组。

要自定义此行为,请考虑修改集成设置中的警报模板。

配置Grafana OnCall以向Zendesk发送数据

Grafana OnCall可以通过出站Webhook自动创建和解决Zendesk中的工单。本指南提供了常见用例的示例Webhook配置以及如何设置Zendesk中的用户以便Grafana OnCall使用的相关信息。

先决条件

  1. 为Grafana OnCall创建一个新的用户。 获取用户的API令牌,这些凭据将用于与Zendesk API通信。
  2. 确保用户有权在Zendesk中创建和更新工单。

在Zendesk中创建工单

以下步骤描述了如何在Grafana OnCall中创建一个出站Webhook,允许从Grafana OnCall警报组自动创建Zendesk中的工单。

在Grafana OnCall中创建一个新的出站Webhook,并按以下方式配置:

  • 触发类型:警报组创建

  • 集成:选择将触发Webhook的集成

  • HTTP方法:POST

  • Webhook URL

text
https://<INSTANCE>.zendesk.com/api/v2/tickets

<INSTANCE>替换为您自己的Zendesk实例。

使用以下JSON模板作为Webhook数据

json
{
  "ticket": {
    "type": "incident",
    "subject": "{{alert_group.title}}",
    "comment": {
      "body": "This ticket is created automatically by Grafana OnCall. Alert group {{alert_group.id}}: {{alert_group.permalinks.web}}"
    }
  }
}

在Zendesk中解决工单

以下步骤描述了如何在Grafana OnCall中创建一个出站Webhook,允许在Grafana OnCall中解决警报组时自动解决Zendesk中的工单。

  • 触发类型:已解决

  • 集成:选择将触发Webhook的集成

  • HTTP方法:PUT

  • Webhook URL

text
https://<INSTANCE>.zendesk.com/api/v2/tickets/{{responses.<WEBHOOK_ID>.ticket.id}}

<INSTANCE>替换为您自己的Zendesk实例,并将<WEBHOOK_ID>替换为用于创建工单的Webhook的ID。

使用以下JSON模板作为Webhook数据

json
{
  "ticket": {
    "status": "solved",
    "comment": {
      "body": "Resolved by Grafana OnCall.",
      "public": false
    }
  }
}

高级用法

上述示例描述了如何在Grafana OnCall中创建出站Webhook,允许自动创建和解决Zendesk中的工单。

考虑修改示例模板以适应您的用例(例如,包含更多关于警报组的信息)。有关可用的模板变量和Webhook配置的更多信息,请参阅出站Webhook文档

有关Zendesk API的更多信息,请参阅Zendesk API文档