npm --prefix web/frontend ci
npm --prefix web/frontend run build
make run-web
输出目录、Socket、采样间隔以及 Web 监听地址和端口均可通过 RUN_ARGS 配置,例如:
make run-web RUN_ARGS='--interval 2 --web-host 127.0.0.1 --web-port 9000'
Web 的“AI 深度分析”是可选能力。如需使用,应在启动前配置模型环境变量;未配置时不影响核心诊断和只读结果展示。
export OPENAI_API_KEY="..."
export OPENAI_BASE_URL="https://api.example.com/v1"
export OPENAI_RCA_MODEL="Deepseek-v4-Pro"
make run-web
make run 和 make run-web 会统一构建并启动进程、申请 Collector 所需权限、创建本次运行目录,并在退出时按顺序停止 Collector、刷新 Analyzer 中未关闭的 Incident。启动参数见安装部署与使用说明:便捷命令与启动参数,模型变量见参数与配置说明:LLM 深度分析。
KernelScope
KernelScope 是面向 openKylin/Linux 的本机性能异常观测与根因分析工具,支持 X86 与 aarch64 平台。系统使用 eBPF 与
/proc采集内核和进程指标,覆盖 CPU、I/O、内存、锁竞争和系统调用 五类场景,并将异常检测、根因排序、关联事件聚合和证据输出组织为一条可复现的诊断链路。KernelScope 的目标是让每个异常结论都能回到具体时间窗口、进程或资源对象,以及被规则实际使用的观测值。工具输出示例见评测报告及
docs/example/。核心亮点
本项目有如下核心亮点
一、双进程解耦架构,兼顾灵活部署与安全管控
本系统采用双进程架构,将不同职责与权限边界进行隔离。各进程可根据实际场景独立部署、升级和扩缩容,既能适配本地化、容器化等多种部署方式,也有利于实现细粒度的权限管理,降低模块耦合和安全风险。
二、RCA 规则与代码分离,构建可扩展的根因分析能力
将根因分析(RCA)规则从业务代码中抽离,通过统一的规则描述方式,组合多种计算算子、判断条件与分析公式。新增或调整分析规则时无需频繁修改核心代码,能够显著降低维护成本,并支持不同业务场景下的快速配置和能力扩展。
三、面向大模型的结构化输出,提升智能分析的准确性与可解释性
将指标、异常现象、计算结果、关联关系和分析依据组织为结构化数据,为大语言模型提供清晰、完整的分析上下文。在减少无效信息和模型理解偏差的同时,使大模型能够进一步生成更具体的根因判断、证据说明和处置建议,形成”规则计算 + 大模型推理”的协同分析模式。
系统能力
当前支持的场景
其它核心能力
rca-events.jsonl。rca_result.evidence[]回到原始采集记录核验。source_event_id,避免把一条故障链拆成互不关联的告警。系统有哪些组件
系统由两个核心进程和两个配套组件组成:
/proc采集指标,并写入 CSV 和 Unix Socket。Collector 与 Analyzer 的分离隔离了高权限采集和诊断规则。整体架构参见系统设计说明。
根因诊断原理
Detector 负责检测异常事件,而 RCA 再结合窗口历史解释为什么发生。RCA Engine 采用确定性领域规则,不依赖外部大模型。候选根因统一使用多证据评分,选出评分规则最高根因作为主因。评分规则为:
R(C)=G(C)×[i∑wiEi−λj∑pjXj]+
具体评分逻辑参考参数与配置说明:判定、状态与能力边界。
每个完成态根因必须引用同一结果中的证据。基线或异常区间不完整、窗口断档、记录丢失等情况会降低数据质量因子和置信度;降权后候选未达到阈值时,结果降级为
insufficient_evidence,不会生成伪主因。具体参见 RCA Engine 设计说明:执行流程和 RcaResult 状态定义。规则包在 Analyzer 启动时完成 schema 校验、兼容性检查和 SHA-256 摘要计算,并冻结为不可变快照。结果会保存 Engine 版本、Rule Pack 版本和摘要,因此同一输入和同一规则快照能够得到可重复核验的结果。
快速开始
1. 环境
推荐环境:
安装常用构建依赖:
运行前检查:
完整要求见安装部署与使用说明和适用范围与兼容性说明。
2. 构建与离线测试
makemake collectorbuild/bin/sys_monitormake analyzerbuild/bin/kernelscope-analyzermake workloadsbuild/workloads/*make checkmake cleanbuild/根 Makefile 通过两个独立 CMake 子工程构建 Collector 和 Analyzer。
3. 一键启动在线诊断
仅启动 Collector 与 Analyzer:
同时启动 Web 结果页:
输出目录、Socket、采样间隔以及 Web 监听地址和端口均可通过
RUN_ARGS配置,例如:Web 的“AI 深度分析”是可选能力。如需使用,应在启动前配置模型环境变量;未配置时不影响核心诊断和只读结果展示。
make run和make run-web会统一构建并启动进程、申请 Collector 所需权限、创建本次运行目录,并在退出时按顺序停止 Collector、刷新 Analyzer 中未关闭的 Incident。启动参数见安装部署与使用说明:便捷命令与启动参数,模型变量见参数与配置说明:LLM 深度分析。运行被测负载时,应保留足够的基线、注入和恢复窗口。按
Ctrl+C停止后,终端会打印本次运行目录。4. 查看结果
启动脚本默认将每次运行写入独立目录,并在终端打印实际路径:
将脚本打印的路径赋给
RUN_DIR后,可查看最近一条完整结果:查看主因与置信度:
rca-events.jsonl在异常达到触发条件且 Incident 关闭或连接结束刷新后写入;文件暂时为空不等价于部署失败。使用
make run-web时,终端还会打印 Web 地址,可直接浏览 Run、异常和报告。Web 仅是展示入口,正式评测仍以原始 Event Log、Ground Truth 和自动校验文件为准。详见Web 结果查看说明。一键复现五类场景
Evaluation 提供 24 个正例、负例和混合用例。
e2eprofile 使用真实 Collector 与 Analyzer,覆盖五类正向场景及典型负例:典型 Run 目录包含:
严格模式会校验 CSV、Window Contract、RCA Envelope、主根因、目标实体和 Evidence 引用;必要检查失败时命令返回非零。
压力用例只能在专用、可恢复环境运行。I/O 用例只操作
OSIC_IO_DIR下的普通文件,高内存和 cgroup/OOM 场景应先阅读 Evaluation 运行手册。性能影响评测
项目使用成对实验区分系统本身的异常指标与 KernelScope 带来的额外影响:
一键采集 CPU、I/O、内存和锁场景的 A/B 数据:
性能测试报告见评测报告。
平台适配
Collector 通过架构兼容层和 CMake 目标参数支持:
系统调用号和 eBPF 目标宏在 Collector 层适配;上层 Metric Record、Window 协议、Detector、RCA Rule Pack 和 Evidence 结构保持架构无关。详见多平台适配说明。
项目结构
其他必要说明
文档导航
参赛材料
参赛承诺书:承诺书。
演示 PPT:KernelScope 项目介绍 及 PDF版
设计文档、技术报告:可参考项目说明书。
演示视频网盘:阿里云盘下载链接
使用与复现
安装部署与使用说明
参数与配置说明
测试与复现说明
Evaluation 运行手册
设计与接口
评测与适用范围
组件手册