TL;DR: 本文档旨在指导SRE团队利用Zapier和Make平台,集成AI服务(如OpenAI API),实现自动化告警响应工作流。通过具体步骤,演示如何配置触发器、AI处理模块及响应动作,以提升告警处理效率并减少人工干预。适用于需要AI自动化工作流Zapier与Make集成的SRE工程师。
Version: V1.0
Date: 2024-12-18
1. 前置条件
在开始配置之前,请确保具备以下资源和权限:
- Zapier或Make(原Integromat)付费账户。
- OpenAI API Key (或其他AI服务API Key),确保具有足够的调用配额。
- 目标告警系统(如Prometheus Alertmanager, PagerDuty等)的Webhook或API访问权限。
- 目标响应系统(如Slack, Jira, Confluence等)的集成权限。
2. 告警信息提取与AI分析工作流 (Zapier)
本节将详细描述如何使用Zapier构建一个自动化流程,从告警信息中提取关键数据并利用AI进行初步分析。
2.1 Zapier配置:告警触发与数据捕获
目标: 当收到新的告警通知时,自动捕获其内容。
- 登录Zapier账户,创建新的Zap。
- 选择触发器 (Trigger App): 例如,选择
Webhooks by Zapier。 - 选择触发事件 (Trigger Event):
Catch Hook。
{
"trigger_app": "Webhooks by Zapier",
"trigger_event": "Catch Hook"
}
预期输出: Zapier将提供一个唯一的Webhook URL。将此URL配置到您的告警系统(如Alertmanager的receivers配置)。
# Alertmanager configuration example
receivers:
- name: 'zapier-ai-webhook'
webhook_configs:
- url: 'YOUR_ZAPIER_WEBHOOK_URL'
send_resolved: true
Note: 请替换 YOUR_ZAPIER_WEBHOOK_URL 为Zapier提供的实际URL。
2.2 Zapier配置:AI文本分析
目标: 利用OpenAI API对捕获的告警信息进行摘要或分类。
- 在Zapier中添加新的动作 (Action)。
- 选择动作应用 (Action App):
OpenAI。 - 选择动作事件 (Action Event):
Send Prompt。 - 账户连接: 连接您的OpenAI账户,输入API Key。
- 配置Prompt:
Model: gpt-3.5-turbo
Prompt: "Summarize this alert message and suggest potential root causes in 3-5 bullet points: {{webhook_data__alert_message}}"
Temperature: 0.7
Max Tokens: 250
Warning: {{webhook_data__alert_message}} 是Zapier动态映射的Webhook接收到的告警内容字段。请根据实际接收到的数据结构进行调整。
3. AI分析结果与响应动作 (Make)
Make平台在构建复杂多分支自动化流程方面具有优势。本节将演示如何将Zapier的AI分析结果发送至Make,并触发相应的响应动作。
3.1 Make配置:接收Zapier数据
目标: Make模块接收Zapier处理后的AI分析结果。
- 登录Make账户,创建新的场景 (Scenario)。
- 选择模块 (Module):
Webhooks。 - 选择触发事件 (Trigger Event):
Custom webhook。
{
"module": "Webhooks",
"event": "Custom webhook"
}
预期输出: Make将提供一个Webhook URL。将此URL配置为Zapier的下一个动作。
3.2 Zapier配置:发送AI结果至Make
目标: 将OpenAI的分析结果发送到Make的Webhook。
- 在Zapier中添加新的动作。
- 选择动作应用:
Webhooks by Zapier。 - 选择动作事件:
POST。 - 配置POST请求:
URL: 'YOUR_MAKE_WEBHOOK_URL'
Payload Type: 'json'
Data:
"alert_summary": "{{openai_response__choices__0__text}}"
"original_alert": "{{webhook_data__alert_message}}"
Note: YOUR_MAKE_WEBHOOK_URL 是Make提供的Webhook URL。{{openai_response__choices__0__text}} 是OpenAI分析结果的动态字段。
3.3 Make配置:基于AI结果的响应
目标: 根据AI分析结果,自动在Slack发布通知并创建Jira工单。
- 在Make场景中,连接Webhooks模块到下一个模块。
- 条件分支 (Router): 根据AI分析的关键词(例如,如果AI总结中包含“严重故障”),可以创建不同的分支。
- Slack通知模块:
{
"module": "Slack",
"action": "Create a Message"
"channel": "#sre-alerts"
"text": "⚠️ AI分析:发现严重告警!\n摘要:{{webhook_data.alert_summary}}\n原始告警:{{webhook_data.original_alert}}"
}
- Jira工单创建模块:
{
"module": "Jira",
"action": "Create an Issue"
"project_key": "SRE"
"issue_type": "Task"
"summary": "AI自动创建:{{webhook_data.alert_summary}}"
"description": "由AI分析生成的告警工单。\n原始告警内容:{{webhook_data.original_alert}}"
}
Warning: 确保Jira模块中的项目键(project_key)和问题类型(issue_type)与您的Jira实例配置相符。
这种AI自动化工作流Zapier与Make集成教程的实施,显著提升了SRE团队处理告警的响应速度和效率。通过AI自动化工作流搭建,可以减少误报干扰,使工程师能够专注于更复杂的故障排除任务。