全旅程混沌工程方案
实践场景
某电商企业的新应用已经部署生产环境,计划正式启动接入和引流,其传统运维模式日常运维工作以被动救火为主,缺乏主动运维理念和工具能力;应用上线前无有效途径识别可用性问题,上线后可用性现状无法精确掌握,运维团队缺少故障应急能力和实践经验;希望通过混沌演练对应用在生产环境的架构韧性进行一次引流前的“排雷”和“验收”,以确保在正式引流时无重大稳定性风险。
解决方案
混沌演练驱动主动运维:从客户实际业务场景出发,按照风险分析、应急预案、演练执行、复盘改进4个维度,提供端到端混沌演练能力;
沉淀故障模式:首创基于容错视角的故障场景分析方法,沉淀华为云SRE多年的故障模式库,内置300个+典型故障模式。

- 风险分析:分析应用架构,找出风险点。
- 应急预案:针对风险点,制定应急预案。
- 故障演练:针对风险分析的结果和应急预案,制定演练方案,进行故障演练。
- 复盘改进:演练完成后,对演练进行复盘总结,输出演练报告和改进事项。
核心优势
- 首创基于容错视角的故障场景分析方法(FT-FMEA),逐步内置故障模式300+;
- 支持多维度攻击场景,同时覆盖虚拟化和容器化;
- 支持攻击流程自定义编排,配套客户个性化业务场景;
前提条件
- 已在应用管理中创建应用分组;
- 进行混沌演练的资源已安装UniAgent。
步骤一:创建故障模式
确认演练目标主机或容器所属应用,事件级别是否正确。
- 登录云运维中心。
- 在左侧菜单栏选择“韧性中心>混沌演练”,进入混沌演练页面。
- 在故障模式页签中,单击“创建故障模式”。
- 参考表1填写故障模式信息。
本示例中仅解释必要参数,其余配置可保留默认值。
表1 创建故障模式参数说明 参数
说明
故障模式名称
自定义故障模式名称,如演练测试。
场景分类
选择“节点”。节点故障包括主机的CPU、内存过载或进程故障,从而会导致业务异常,如CPU、内存过载、进程状态异常等。
事件级别
选择“P4”。
严重程度默认“P1”最严重,“P5”最轻微。
来源
选择“主动分析”,主动对应用架构、运行环境等进行风险分析后,形成故障模式。
攻击场景
在下拉列表选择攻击场景,如CPU使用率加压,内存使用率加压。
企业项目
在下拉列表选择故障模式资源所属的企业项目,如default。
所属应用
在下拉列表选择演练目标所属的应用,如COC。
是否有应急预案
选择“否”。
发生条件
请填写故障可能发生的条件,如CPU使用率过大。
限制长度最长1024个字符。
预计故障现象
请填写故障发生时可能的业务现象,如系统运行慢。
限制长度最长1024个字符。
客户影响
请填写故障造成的客户影响,如性能降低。
限制长度最长1024个字符。
- 选择是否有应急预案。如果选择是,请输入应急预案名称搜索,选择对应的应急预案,单击“保存”。
步骤二:创建应急预案
选择要注入故障的目标机器所属应用
步骤三:创建演练规划
您可以指定执行人来创建演练规划,执行人通过接单来创建演练任务,演练任务关联故障模式和区域。
- 在左侧菜单栏选择“韧性中心 > 混沌演练”,进入混沌演练页面。
- 选择“演练规划”页签,单击“创建演练规划”。
- 选择步骤一:创建故障模式中创建的故障模式,设置执行人,区域和计划演练时间 。
图3 创建演练规划
- 单击“确定”,即可完成演练规划的创建。
步骤四:创建演练任务
- 执行人在“韧性中心 > 混沌演练 > 演练规划”页面,选择步骤三:创建演练规划中创建的演练规划,单击操作列“接单”,进入创建演练任务页面。
- 填写演练任务基本信息。
表3 基础信息参数说明 参数
说明
演练任务名称
自定义演练任务的名称,本示例使用默认名称。
期望恢复时长(分钟)
从故障发生到故障恢复的预期时间,单位为分钟,如3分钟。
在故障注入之后,应用自恢复或在执行应急预案时恢复到正常状态的期望时间,该时间不会对演练任务产生影响。
图4 演练任务基本信息 - 演练任务中默认有1个攻击任务组,单击“添加新的攻击任务”,弹出“添加新的攻击任务”界面。
图5 添加攻击任务
- 参考表4设置攻击任务。
表4 添加新的攻击任务参数说明 参数
说明
云厂商
请选择云厂商类型,如华为云。
攻击目标来源
请选择目标实例的来源,如弹性云服务器(ECS),
攻击任务名称
系统自动成为默认名称。
攻击目标
请选择目标实例。
- 单击“下一步”,设置“选择攻击场景”。
表5 选择攻击场景参数说明 参数
说明
攻击类型
根据攻击场景的类型区分,如主机类型。
攻击场景
选择对应的攻击场景,如CPU使用率加压。
攻击参数
根据不同的攻击场景,配置相应的攻击参数。
- CPU使用率(百分比):80
- 故障持续时长(秒):60
- 单击“下一步”,进入监控任务配置。
- 设置监控任务。
图6 设置监控任务
- 稳态指标选择CPU使用率,阈值区间为1~96。
- 监控指标选择CPU使用率,阈值区间为0~60。
- 单击“完成”,完成攻击任务添加。
- 单击“确定”,完成演练任务创建。
步骤六:创建演练报告
演练结束后可以创建演练报告
- 等待演练任务执行完成,在演练详情页面右上角单击“演练报告”。
- 单击“编辑时长”,修改实际恢复时长。
图7 修改实际恢复时长
表6 修改实际恢复时长参数说明 参数
说明
故障发现时长(分钟)
请填写故障发现时长。
从故障注入完成到收到故障告警的时间。
故障定界时长(分钟)
请填写故障定界时长。
从收到告警到完成故障定界的时间。
故障恢复时长(分钟)
请填写故障恢复时长。
从完成故障定界到故障恢复的时间。
- 单击“确定”,完成实际恢复时长修改。
- 在改进事项模块中,单击“创建改进事项”,在弹框中设置改进单信息。
表7 创建改进单参数说明 参数
说明
改进名称
自定义改进单的名称,如演练测试改进。
自定义改进单的名称。名称由中文、字母、数学、中划线、下划线和空格组成,且不能以空格开头或结尾,最大长度支持64个字符。
所属应用
在下拉列表选择改进单涉及的应用,如COC。
改进类型
在下拉列表选择改进类型,如运维改进。
改进责任人
在下拉列表选择责任用户。
改进验收人
在下拉列表选择验收用户。
期望完成时间
请填写期望完成时间(精确到日),所选日期不得早于今日。
问题现象
请填写事件相关的问题现象。
限制长度最长1000个字符。
改进闭环标准
请填写改进闭环标准。
限制长度最长1000个字符。
- 单击“确定”,完成改进单创建。