蚂蚁集团自动化混沌工程 ChaosMeta 正式开源

简介: ChaosMeta 是一款面向云原生、自动化演练而设计的混沌工程平台。它是蚂蚁集团内部混沌工程平台 XMonkey 的对外开源版本,凝聚了蚂蚁集团在公司级大规模红蓝攻防演练实践中多年积累的方法论、技术能力以及产品能力。ChaosMeta 设计上是包含了完整混沌工程生命周期的一站式演练综合解决方案,以帮忙用户快速挖掘业务应用和系统的潜在风险;除此之外,还内置了浓缩蚂蚁集团在技术风险领域多年沉淀的“风险目录”,这是一份对各技术领域的基础通用风险的汇总。

ChaosMeta 介绍

ChaosMeta 是一款面向云原生、自动化演练而设计的混沌工程平台。它是蚂蚁集团内部混沌工程平台 XMonkey 的对外开源版本,凝聚了蚂蚁集团在公司级大规模红蓝攻防演练实践中多年积累的方法论、技术能力以及产品能力。

经过公司内部多年复杂故障演练场景的驱动,XMonkey 在混沌工程领域沉淀了很多独特经验,是蚂蚁集团研发、测试、质量、SRE 等人员进行历史故障演练和挖掘系统潜在风险的重要平台。我们非常希望能将这些经验和业界进行共同探讨与共同演进,为此我们开源了 ChaosMeta。

ChaosMeta 设计上是包含了完整混沌工程生命周期的一站式演练综合解决方案,以帮忙用户快速挖掘业务应用和系统的潜在风险;除此之外,还内置了浓缩蚂蚁集团在技术风险领域多年沉淀的“风险目录”,这是一份对各技术领域的基础通用风险的汇总。

以混沌工程生命周期的平台能力为技术支撑,“风险目录”作为理论支撑,使 ChaosMeta 得以朝着自动化混沌工程演进。

核心特性

混沌工程生命周期

当前业界主流混沌工程项目主要都是只关注如何制造故障的问题,而经常做演练相关工作的工程师,应该明白每次演练还有以下工作的痛点:检测当前环境是否符合演练预设条件(演练准入)、业务流量是否满足(流量注入)、注入后判断故障效果是否符合预期(故障度量)、是否在预设时间内恢复了业务服务(恢复度量)、复盘分析总结风险点。

基于业界现状和上面的问题分析,结合蚂蚁集团在混沌工程领域的多年经验,ChaosMeta 提出了混沌工程生命周期模型,覆盖“准入检测”、“流量注入”、“故障注入”、“故障度量”、“恢复度量”、“注入恢复”等各个阶段的技术支撑,为自动化混沌工程提供技术依据。
image.png

风险目录

蚂蚁集团内部每年都会举行公司级大规模红蓝攻防演练活动,面向公司全体业务,并且也有不少业务进行7X24小时演练以及月度常态演练。

演练对象类型覆盖云产品、Kubernetes、Operator 应用、数据库(OceanBase、Etcd等)、中间件(消息队列、分布式调度、配置中心等)、业务应用(交易系统、营销系统等)等。

对于每种类型的应用,总能抽象出一些最通用的公共风险,比如消息队列,会有消息堆积、消息丢失、消息顺序混乱、依赖方网络不稳定等风险;比如交易系统,会有分布式事务、金额一致性、并发冲突等风险。

而“风险目录”正是蚂蚁集团在大型金融互联网架构环境下,多年打磨出来的一份“风险百科全书”,而我们会将和开源界通用的部分内置到 ChaosMeta 项目中,作为自动化混沌工程的理论依据。

丰富的云原生故障注入能力

大规模高频率的演练活动,也推动了各种各样的故障注入能力建设。除了业界常见的系统资源故障、内核故障、网络故障、JVM注入等,我们还提供了丰富的云原生故障注入能力。

比如:给 Kubernetes 集群堆积大量 pending 状态的 pod,拖垮调度系统;给某个资源对象的创建流程注入动态校验 Webhook,延长校验时间,影响创建效率;注入动态变更 Webhook 使特定字段变异;建立大量 Watch&List 链接,加重 APIServer 回调 Operator 的负担等。

云原生架构

ChaosMeta 的核心平台能力是基于 Operator 开发模式实现的,因此天然支持云原生。ChaosMeta 分为三层设计,详见官方文档:

  1. 用户层由 chaosmeta-platform 组件构成,其主要任务是降低用户使用的门槛,提供可视化界面,方便用户使用计划、编排、实验配置、实验记录详情等平台功能;

  2. 引擎层包含了 ChaosMeta 的远程注入、编排、度量等核心平台能力以及部分云原生故障能力的实现;

  3. 内核层主要包含了单机故障注入能力的实现,主要包含了 chaosmetad 组件,提供了常驻 HTTP 服务的方式以及命令行执行的方式,还封装了对应的 daemonset 组件(chaosmeta-daemonset),可灵活搭配不同需求的演练平台。

image.png

规划

ChaosMeta 的规划分为平台能力和故障注入能力两个主体路线,当前主要任务是把架构图中的主体能力都完成对外版改造进行开放。

▌平台能力

ChaosMeta 平台能力的未来演进分为三大阶段。

第一阶段-人工配置

此阶段的目标是将架构图中的组件都完成对外开放,此时,即可支撑完整的混沌工程生命周期,进入初级自动化混沌工程领域,以“风险目录”作为理论参考,一次人工配置,多次自动执行。

第二阶段-自动化

此阶段下,“风险目录”会发挥更大的价值,它不仅仅给出一类应用会有什么风险,还有对应的预防以及应急建议,并且每一项的评分是多少,而 ChaosMeta 会将“风险目录”集成为通用组件的风险体检套餐,实现一键“体检”能力,输入目标应用信息,直接输出一个风险评分以及风险分析报告。

第三阶段-智能化

探索结合人工智能的方向,自动生成更多未知的风险场景。

▌故障注入能力

以下仅为故障能力分类,具体提供的原子故障能力详见官方文档(欢迎提交issue,提出新能力需求,需求较高的优先提供):
image.png

加入 ChaosMeta 社区

作为一个开放的项目,我们认可开源的研发模式,并致力于将 ChaosMeta 社区打造成一个开放和有创造力的社区。后续,所有的研发、讨论等相关工都会在社区透明运行。

我们欢迎任何形式的参与,包括且不限于提问、代码贡献、技术讨论、需求建议等。期待收到社区想法和反馈,以推动项目往前进一步发展。

项目 GitHub 地址:

https://github.com/traas-stack/chaosmeta

官方文档:

https://chaosmeta.gitbook.io/chaosmeta-cn

微信群:添加负责人(微信号:KingsonKai)好友邀请入群

钉钉群:21765030887

官方公众号:ChaosMeta混沌工程

目录
相关文章
|
13天前
|
数据采集 人工智能 API
推荐一款Python开源的AI自动化工具:Browser Use
Browser Use 是一款基于 Python 的开源 AI 自动化工具,融合大型语言模型与浏览器自动化技术,支持网页导航、数据抓取、智能决策等操作,适用于测试、爬虫、信息提取等多种场景。
185 2
推荐一款Python开源的AI自动化工具:Browser Use
|
9天前
|
Web App开发 人工智能 数据可视化
猫头虎 推荐:国产开源AI工具 爱派(AiPy)|支持本地部署、自动化操作本地文件的AI办公神器
爱派(AiPy)是一款国产开源AI工具,支持本地部署与自动化操作,助力数据处理与办公效率提升。基于Python Use理念,AiPy让AI直接控制本地文件,简化繁琐任务,提供高效智能的解决方案,适用于数据工程师、分析师及日常办公用户。
124 0
|
3月前
|
人工智能 API 开发工具
GitHub官方开源MCP服务!GitHub MCP Server:无缝集成GitHub API,实现Git流程完全自动化
GitHub MCP Server是基于Model Context Protocol的服务器工具,提供与GitHub API的无缝集成,支持自动化处理问题、Pull Request和仓库管理等功能。
782 2
GitHub官方开源MCP服务!GitHub MCP Server:无缝集成GitHub API,实现Git流程完全自动化
|
4月前
|
存储 人工智能 API
OWL:告别繁琐任务!开源多智能体系统实现自动化协作,效率提升10倍
OWL 是基于 CAMEL-AI 框架开发的多智能体协作系统,通过智能体之间的动态交互实现高效的任务自动化,支持角色分配、任务分解和记忆功能,适用于代码生成、文档撰写、数据分析等多种场景。
1159 13
OWL:告别繁琐任务!开源多智能体系统实现自动化协作,效率提升10倍
|
4月前
|
人工智能 自然语言处理 API
Proxy Lite:仅3B参数的开源视觉模型!快速实现网页自动化,支持在消费级GPU上运行
Proxy Lite 是一款开源的轻量级视觉语言模型,支持自动化网页任务,能够像人类一样操作浏览器,完成网页交互、数据抓取、表单填写等重复性工作,显著降低自动化成本。
389 11
Proxy Lite:仅3B参数的开源视觉模型!快速实现网页自动化,支持在消费级GPU上运行
|
6月前
|
人工智能 自然语言处理 API
UI-TARS:字节跳动开源专注于多平台 GUI 自动化交互的视觉语言模型
UI-TARS 是字节跳动推出的新一代原生图形用户界面(GUI)代理模型,支持跨平台自动化交互,具备强大的感知、推理、行动和记忆能力,能够通过自然语言指令完成复杂任务。
1877 16
UI-TARS:字节跳动开源专注于多平台 GUI 自动化交互的视觉语言模型
|
6月前
|
人工智能 运维 Prometheus
AIOpsLab:云服务自动化运维 AI,微软开源云服务 AI 框架,覆盖整个生命周期
AIOpsLab 是微软等机构推出的开源框架,支持云服务自动化运维,涵盖故障检测、根本原因分析等完整生命周期。
345 13
AIOpsLab:云服务自动化运维 AI,微软开源云服务 AI 框架,覆盖整个生命周期
|
7月前
|
机器学习/深度学习 人工智能 自然语言处理
CogAgent-9B:智谱 AI 开源 GLM-PC 的基座模型,专注于预测和执行 GUI 操作,可应用于自动化交互任务
CogAgent-9B 是智谱AI基于 GLM-4V-9B 训练的专用Agent任务模型,支持高分辨率图像处理和双语交互,能够预测并执行GUI操作,广泛应用于自动化任务。
249 12
CogAgent-9B:智谱 AI 开源 GLM-PC 的基座模型,专注于预测和执行 GUI 操作,可应用于自动化交互任务
|
7月前
|
人工智能 Linux API
PromptWizard:微软开源 AI 提示词自动化优化框架,能够迭代优化提示指令和上下文示例,提升 LLMs 特定任务的表现
PromptWizard 是微软开源的 AI 提示词自动化优化框架,通过自我演变和自我适应机制,迭代优化提示指令和上下文示例,提升大型语言模型(LLMs)在特定任务中的表现。本文详细介绍了 PromptWizard 的主要功能、技术原理以及如何运行该框架。
575 8
PromptWizard:微软开源 AI 提示词自动化优化框架,能够迭代优化提示指令和上下文示例,提升 LLMs 特定任务的表现
|
7月前
|
存储 人工智能 人机交互
PC Agent:开源 AI 电脑智能体,自动收集人机交互数据,模拟认知过程实现办公自动化
PC Agent 是上海交通大学与 GAIR 实验室联合推出的智能 AI 系统,能够模拟人类认知过程,自动化执行复杂的数字任务,如组织研究材料、起草报告等,展现了卓越的数据效率和实际应用潜力。
758 1
PC Agent:开源 AI 电脑智能体,自动收集人机交互数据,模拟认知过程实现办公自动化

热门文章

最新文章