SuperAPI AI 工具集

umodel-rca

部署与运维

查看项目

更新于 10-15 16:47

技能介绍

用途:在 UModel 对象图上完成从现象到根因的故障排查,适合服务退化、SLO 违规等场景。它是方法而非脚本:由证据决定下一步查询,保留多个竞争假设,每个结论都要引用对象图、指标或日志来源。

前置:先加载 umodel-query,它提供 .entity、.topo、.umodel、.entity_set | entity-call get_metrics 和 get_logs 等读取面。需确保 umctl 在 PATH 中: command -v umctl || go install github.com/alibaba/UnifiedModel/cmd/umctl@latest # needs Go 1.22+ 无 Go 工具链时可从仓库 Releases 下载预编译二进制,或克隆后 make build-cli 得到 ./bin/umctl,用 umctl version 验证。随后设置服务地址与工作区: export UMCTL_ADDR=http://<host>:8080 umctl workspace list -o json umctl query run <workspace> "<SPL>" -o json

RCA 循环:1) 定位,搜索事件 ID、服务名或退化实体,读取名称、环境、负责人、层级/SLO、状态、错误及关联数据集与 runbook;2) 特征化,用指标与日志确认症状,拉取延迟、错误率、超时率、QPS、重试、饱和度等,图会自动填充 service_id 等存储选择器;3) 提出假设,候选包括近期部署、配置变更(重试/超时/熔断/池/限流/开关)、上游流量压力、下游依赖饱和、运行容量问题,但不要把时间接近当作因果;4) 收集跨域证据,沿拓扑双向遍历调用方与依赖,结合变更图、业务图和运行图,runbook 仅作脚手架,每个观察仍需图/指标/日志验证;5) 关联与区分,建立时间线,明确症状起始与候选变更生效时间,用排除测试显式排除不支持项;6) 结论,输出症状、时间线、根因、因果链、已排除项、只读建议与置信度,每行均需标注证据类型。

限制:全程只读,只可建议缓解措施,未经用户明确确认不得执行回滚、限流、扩缩容或重启。开源版 get_metrics/get_logs 返回可执行的 Prometheus/Elasticsearch 计划,需按 umodel-query/references/metrics-logs.md 运行。验证技能时应使用新子智能体并避免把真值放进提示。其他收费、平台或部署细节暂未提供。