add docs
一个基于云原生技术的分布式系统根因分析算法评测平台,专为微服务架构下的故障诊断算法提供标准化评估环境。
RCABench 是一个完整的根因分析算法评测平台,集成了混沌工程、数据采集、算法执行和结果评估等功能模块。平台通过向 TrainTicket 微服务应用注入预定义故障,收集系统可观测性数据,并为各类根因分析算法提供统一的评测环境。
kubectl create secret generic kube-config \ --from-file=kubeconfig=/home/nn/.kube/config \ -n experiment
本地开发
# 启动本地调试环境 make debug
生产部署
devbox shell # 部署到 Kubernetes 集群 make build
rcabench/ ├── algorithms/ # 算法实现 │ └── gat/ # GAT 图注意力网络算法 ├── experiments_controller/ # 实验控制器 │ ├── client/ # 外部服务客户端 │ ├── executor/ # 执行引擎 │ ├── handlers/ # HTTP 处理器 │ └── repository/ # 数据访问层 ├── benchmarks/ # 基准数据集 ├── experiments/ # 实验配置 ├── reports/ # 实验报告 ├── helm/ # Helm Charts ├── sdk/ # SDK 工具包 │ └── python/ # Python SDK ├── docker-compose.yaml # 本地开发环境 └── skaffold.yaml # 部署配置
系统模块
核心服务端口
启动服务后,访问 Swagger API 文档:
http://localhost:8081/swagger/index.html
chaos-experiment 仓库中支持 31 种异常注入,罗列在 handler.go 中的 ChaosHandlers。下面列举 2 个常见异常类型。
CPU 压力测试混沌实验规格配置,用于定义 CPU 压力测试的各项参数。
{ "children": { "4": { "children": { "0": { "value": 1 }, "1": { "value": 0 }, "2": { "value": 42 }, "3": { "value": 35 }, "4": { "value": 2 } } } }, "value": 4 }
PodKill 定义 Pod 终止混沌实验的配置参数,通过杀死指定的 Pod 来测试系统的容错能力和恢复机制。
{ "children": { "0": { "children": { "0": { "value": 1 }, "1": { "value": 0 }, "2": { "value": 42 } } } }, "value": 0 }
当前支持的根因分析算法:
添加新算法
算法数据集存于 data.zip
基于 TrainTicket 微服务系统的评测结果:
{ "threshold": 5.698366328327373e16, "precision": 1.0, "recall": 0.9264705882352942, "f1_score": 0.9618320610687023, "specificity": 1.0, "accuracy": 0.9632352941176471, "auc_score": 0.9578287197231834, "confusion_matrix": { "tn": 68, "fp": 0, "fn": 5, "tp": 63 }, "classification_report": { "0": { "precision": 0.9315068493150684, "recall": 1.0, "f1-score": 0.96453900709219 85, "support": 68.0 }, "1": { "precision": 1.0, "recall": 0.9264705882352942, "f1-score": 0.9618320610687023, "support": 68.0 }, "accuracy": 0.9632352941176471, "macro avg": { "precision": 0.9657534246575342, "recall": 0.9632352941176471, "f1-score": 0.9631855340804505, "support": 136.0 }, "weighted avg": { "precision": 0.9657534246575342, "recall": 0.9632352941176471, "f1-score": 0.9631855340804504, "support": 136.0 } } }
©Copyright 2023 CCF 开源发展委员会 Powered by Trustie& IntelliDE 京ICP备13000930号
RCABench - 根因分析算法评测平台
一个基于云原生技术的分布式系统根因分析算法评测平台,专为微服务架构下的故障诊断算法提供标准化评估环境。
🚀 项目简介
RCABench 是一个完整的根因分析算法评测平台,集成了混沌工程、数据采集、算法执行和结果评估等功能模块。平台通过向 TrainTicket 微服务应用注入预定义故障,收集系统可观测性数据,并为各类根因分析算法提供统一的评测环境。
核心特性
📋 系统要求
🛠️ 技术栈
后端核心
基础设施
环境准备
本地开发
生产部署
📁 系统架构图
📁 项目结构
🔧 系统说明
系统模块
核心服务端口
⚙️ 系统流程
📚 API 文档
启动服务后,访问 Swagger API 文档:
🐛 异常类型
chaos-experiment 仓库中支持 31 种异常注入,罗列在 handler.go 中的 ChaosHandlers。下面列举 2 个常见异常类型。
CPUStress
CPU 压力测试混沌实验规格配置,用于定义 CPU 压力测试的各项参数。
Injection api 注入 spec
PodKill
PodKill 定义 Pod 终止混沌实验的配置参数,通过杀死指定的 Pod 来测试系统的容错能力和恢复机制。
Injection api 注入 spec
📈 算法支持与运行结果
当前支持的根因分析算法:
添加新算法
GAT 算法性能表现
算法运行结果
算法数据集存于 data.zip
基于 TrainTicket 微服务系统的评测结果:
结果数据格式
性能可视化图表
混淆矩阵
PR 曲线
ROC 曲线