关于 incident-response
incident-response 是供 OpenClaw 在 DevOps 环境中管理安全事件全流程的技能,适用于 SRE 和运维团队。它涵盖事件检测、分析、遏制与恢复,并提供 CLI、API 及监控集成示例。
主要功能
- 01检测日志和指标中的威胁
- 02关联事件并分析影响
- 03隔离受影响资源
- 04执行回滚或备份恢复
- 05连接 Prometheus 等监控工具
适用场景
- 01排查 Kubernetes 异常流量
- 02遏制 staging 环境中的网络事件
- 03分析应用漏洞并回滚恢复
- 04在 CI/CD 流水线中检测事件
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ alphaonedev/ openclaw-graph --skill incident-response安装后在 Claude Code 中输入/incident-response确认已加载。
详细介绍
用途
此技能使 OpenClaw 能够在 DevOps 环境中管理完整的事件响应生命周期,包括使用自动化工具和集成来检测、分析、遏制和恢复安全事件。
使用时机
当监控系统在 DevOps 流水线中检测到异常(例如,Kubernetes 集群中的流量异常)、发生正在进行的安全漏洞(例如,未经授权的访问)或执行定期演练时,请使用此技能。在 SRE 工作流中应用它,以最大限度减少停机时间,例如与 CI/CD 工具集成以接收实时警报。
主要功能
- 检测:通过 API 端点
/api/incident/detect扫描日志和指标,使用类似{"source": "k8s-logs", "threshold": 0.8}的 JSON 负载,根据预定义规则识别威胁。 - 分析:使用 CLI 标志
--analyze-depth 2解析事件数据并关联事件,例如将 IP 地址关联到用户会话。 - 遏制:隔离受影响的资源,例如使用命令
openclaw incident contain --resource pod-123 --action pause暂停 Kubernetes 中的 pod。 - 恢复:自动回滚或从备份恢复,例如通过向
/api/incident/recover发起 API 调用并传入负载{"backup_id": "snapshot-456"}。 - 支持与 Prometheus 等工具集成以进行监控,并融入 SRE 事件跟踪最佳实践。
使用模式
要使用此技能,请先设置用于身份验证的环境变量:export OPENCLAW_API_KEY=your_api_key。然后,按以下模式操作:
- 身份验证并初始化:运行
openclaw auth --key $OPENCLAW_API_KEY以设置会话。 - 检测事件:执行
openclaw incident detect --env prod --type network以扫描问题。 - 分析结果:将输出传递给分析命令,例如
openclaw incident analyze --id 123 --format json。 - 按需遏制:使用
openclaw incident contain --id 123 --scope cluster进行隔离。 - 恢复:调用
openclaw incident recover --id 123 --backup latest以恢复。 对于自动化工作流,可将其嵌入脚本中:编写一段 Bash 代码,例如:
export OPENCLAW_API_KEY=your_key
openclaw incident detect --env staging
if [ $? -ne 0 ]; then openclaw incident contain --id $(echo $output | jq .id); fi
始终验证输入以避免误报,例如,检查 JSON 配置是否包含 "threshold" 等必填字段。
常用命令/API
- CLI 命令:
- 检测:
openclaw incident detect --env dev --type app-vuln --threshold 0.7(标志:--env用于指定环境,--type用于指定事件类型,--threshold用于指定灵敏度)。 - 分析:
openclaw incident analyze --id 456 --depth 1(标志:--depth用于指定递归层级,输出包含"affected_resources"等字段的 JSON)。 - 遏制:
openclaw incident contain --id 789 --action isolate --resource k8s-pod(标志:--action用于指定 isolate 或 block 等操作)。 - 恢复:
openclaw incident recover --id 789 --method rollback(标志:--method用于指定 rollback 或 restore 等策略)。
- 检测:
- API 端点(均需在 Authorization 标头中提供
$OPENCLAW_API_KEY):- POST
/api/incident/detect:请求正文{ "env": "prod", "type": "network" },用于触发检测。 - GET
/api/incident/analyze/{id}:查询参数depth=2,用于执行详细分析。 - PUT
/api/incident/contain/{id}:请求正文{ "action": "isolate", "resource": "pod-123" }。 - POST
/api/incident/recover/{id}:请求正文{ "method": "rollback", "backup_id": "snapshot-abc" }。 配置格式:输入请使用 JSON 文件,例如在通过--config path/to/config.json传入的文件中使用{"env": "staging", "types": ["app-vuln", "network"]}。
- POST
集成说明
通过将数据导出到 ELK Stack 或 Prometheus 等监控系统,与 DevOps 工具集成。对于 Kubernetes,请使用 Webhook:配置 OpenClaw,通过 openclaw incident hook --url https://your-k8s-webhook.com --event detect 发送告警。在 CI/CD 中,可在 Jenkins 流水线中添加如下步骤:
stage('Incident Check') {
sh 'openclaw incident detect --env prod > incident.log'
if (readFile('incident.log').contains('alert')) { error 'Incident detected' }
}
对于 SRE,可通过设置环境变量与 PagerDuty 等工具集成:export PAGERSERVICE_KEY=your_key,并使用 openclaw incident notify --service pagerduty。确保配置符合相应格式,例如,Hook 使用 YAML:hooks: - url: https://pagerduty.com events: [detect, analyze]。
错误处理
检查 CLI 退出码:0 表示成功,1 表示检测错误(例如,标志无效),2 表示 API 调用失败。对于 API,请解析 HTTP 响应:400 表示请求错误(例如,JSON 中缺少字段),401 表示身份验证问题(请验证 $OPENCLAW_API_KEY)。在脚本中按如下方式处理:
response=$(openclaw incident detect --env invalid)
if [ $? -eq 1 ]; then echo "Error: Invalid environment"; exit 1; fi
使用 --verbose 标志记录错误以便调试,并在代码中通过循环重试暂时性错误(例如,网络问题)。继续操作前,务必验证 JSON 响应中是否包含 "error_code" 等字段。
具体使用示例
-
检测并遏制预发布环境中的网络事件:在 DevOps 流水线中,检测预发布环境的异常:运行
openclaw incident detect --env staging --type network。如果返回了事件 ID(例如,123),则使用openclaw incident contain --id 123 --action isolate遏制事件。这可以防止事件在部署测试期间扩散。 -
分析并恢复应用程序漏洞:对于检测到的应用漏洞,先分析日志:使用
openclaw incident analyze --id 456 --depth 1获取详情,然后使用openclaw incident recover --id 456 --method rollback --backup latest进行恢复。这可以在生产环境的 SRE 场景中从快照恢复应用。
图关系
- 关联到:devops-sre 集群(例如,关联用于日志摄取的监控技能,以及用于自动回滚的部署技能)。
- 标记为:incident-response(与安全技能共享边)、security(关联到访问控制技能)、devops(与 CI/CD 技能集成)。