如何在Azure端将Application Insights与Zendesk对接实现自动工单创建?
可行,可通过Azure原生服务实现自动化流程
以下是几种主流实现方案:
方案一:Azure Monitor 警报规则 + 动作组
- 创建针对Application Insights的警报规则:筛选特定HTTP错误日志(比如
requests | where success == false and resultCode startswith "5"),设置触发阈值(比如5分钟内出现1次及以上) - 配置动作组,添加Webhook动作:
- 目标URL填写Zendesk创建工单的API端点:
https://{你的Zendesk域名}.zendesk.com/api/v2/tickets.json - 请求头添加
Content-Type: application/json,以及Basic Auth认证头(值为{Zendesk邮箱}/token:{API令牌}的Base64编码) - 自定义请求体,按照Zendesk API要求构造工单内容,示例:
{ "ticket": { "subject": "Web应用出现HTTP 5xx错误", "comment": { "body": "错误详情:\n错误代码:{{alertContext.resultCode}}\n请求URL:{{alertContext.url}}\n发生时间:{{alertContext.timestamp}}\nApplication Insights查询链接:{{alertContext.portalLink}}" }, "priority": "normal" } }
- 目标URL填写Zendesk创建工单的API端点:
方案二:Azure Logic Apps(低代码自定义流程)
- 创建Logic App,选择「Azure Monitor - 当警报触发时」作为触发器,关联已配置的Application Insights警报规则
- 添加「HTTP」动作,配置Zendesk API的调用参数(认证方式、请求头、请求体),可可视化调整工单内容格式
- 可选添加额外步骤:比如错误重试逻辑、向指定团队发送Teams通知、根据错误类型设置工单优先级等
方案三:Azure Functions(自定义代码逻辑)
- 创建Azure Function,选择「Azure Monitor 警报」作为触发器
- 在Function代码中处理警报传递的错误数据,调用Zendesk API完成工单创建,适合需要复杂数据处理的场景
- 配置Function的触发条件,确保仅在特定HTTP错误发生时执行
注意事项
- 确保Zendesk API令牌拥有创建工单的权限,无需IP白名单(API Token认证模式)
- 测试警报规则的触发逻辑,避免因误报产生无效工单
- 工单内容需包含关键诊断信息,方便业务团队快速定位问题
内容的提问来源于stack exchange,提问作者ivddev
相关产品推荐
相关产品推荐

