Zendesk 集成 Grafana OnCall
此集成在 OSS 版本中不可用
Zendesk 集成 Grafana OnCall 处理从 Zendesk Webhook 发送的票证事件。该集成通过可定制的警报模板提供分组、自动确认和自动解决逻辑。
配置 Grafana OnCall 接收来自 Zendesk 的警报
- 在 集成 选项卡中,点击 + 新集成。
- 从可用集成列表中选择 Zendesk。
- 为集成输入名称和描述,点击 创建
- 将打开一个新页面,显示集成详细信息。从 HTTP 端点 部分复制 OnCall 集成 URL。
配置 Zendesk 以向 Grafana OnCall 发送警报
在 Zendesk 中创建一个新的“触发器或自动化”Webhook 连接,使用上面的集成 URL 将事件发送到 Grafana OnCall。
有关如何创建和管理 Webhook 的更多信息,请参阅 Zendesk 文档。
在 Zendesk 中设置 Webhook 后,创建一个新的触发器,其条件如下: 满足以下任一条件:“票证已创建”,“票证状态已更改”
将 通知 Webhook
设置为触发器操作,并选择您之前创建的 Webhook。在 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使用的相关信息。
先决条件
- 为Grafana OnCall创建一个新的用户。 获取用户的API令牌,这些凭据将用于与Zendesk API通信。
- 确保用户有权在Zendesk中创建和更新工单。
在Zendesk中创建工单
以下步骤描述了如何在Grafana OnCall中创建一个出站Webhook,允许从Grafana OnCall警报组自动创建Zendesk中的工单。
在Grafana OnCall中创建一个新的出站Webhook,并按以下方式配置:
触发类型:
警报组创建
集成:选择将触发Webhook的集成
HTTP方法:
POST
Webhook URL
https://<INSTANCE>.zendesk.com/api/v2/tickets
将<INSTANCE>
替换为您自己的Zendesk实例。
用户名:Zendesk用户的用户名,后跟
/token
(例如[email protected]/token
)密码:Zendesk用户的API令牌
使用以下JSON模板作为Webhook数据
{
"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
https://<INSTANCE>.zendesk.com/api/v2/tickets/{{responses.<WEBHOOK_ID>.ticket.id}}
将<INSTANCE>
替换为您自己的Zendesk实例,并将<WEBHOOK_ID>
替换为用于创建工单的Webhook的ID。
用户名:Zendesk用户的用户名,后跟
/token
(例如[email protected]/token
)密码:Zendesk用户的API令牌
使用以下JSON模板作为Webhook数据
{
"ticket": {
"status": "solved",
"comment": {
"body": "Resolved by Grafana OnCall.",
"public": false
}
}
}
高级用法
上述示例描述了如何在Grafana OnCall中创建出站Webhook,允许自动创建和解决Zendesk中的工单。
考虑修改示例模板以适应您的用例(例如,包含更多关于警报组的信息)。有关可用的模板变量和Webhook配置的更多信息,请参阅出站Webhook文档。
有关Zendesk API的更多信息,请参阅Zendesk API文档。