文档首页/ 云运维中心 COC/ 最佳实践/ 全旅程混沌工程方案
更新时间:2025-09-09 GMT+08:00
分享

全旅程混沌工程方案

实践场景

某电商企业的新应用已经部署生产环境,计划正式启动接入和引流,其传统运维模式日常运维工作以被动救火为主缺乏主动运维理念和工具能力;应用上线前无有效途径识别可用性问题,上线后可用性现状无法精确掌握,运维团队缺少故障应急能力和实践经验;希望通过混沌演练对应用在生产环境的架构韧性进行一次引流前的“排雷”和“验收”,以确保在正式引流时无重大稳定性风险。

解决方案

混沌演练驱动主动运维:从客户实际业务场景出发,按照风险分析、应急预案、演练执行、复盘改进4个维度,提供端到端混沌演练能力;

沉淀故障模式:首创基于容错视角的故障场景分析方法,沉淀华为云SRE多年的故障模式库,内置300个+典型故障模式。

图1 全旅程混沌工程
  • 风险分析:分析应用架构,找出风险点。
  • 应急预案:针对风险点,制定应急预案。
  • 故障演练:针对风险分析的结果和应急预案,制定演练方案,进行故障演练。
  • 复盘改进:演练完成后,对演练进行复盘总结,输出演练报告和改进事项。

核心优势

  • 首创基于容错视角的故障场景分析方法(FT-FMEA),逐步内置故障模式300+;
  • 支持多维度攻击场景,同时覆盖虚拟化和容器化;
  • 支持攻击流程自定义编排,配套客户个性化业务场景;

前提条件

步骤一:创建故障模式

确认演练目标主机或容器所属应用,事件级别是否正确。

  1. 登录云运维中心
  2. 在左侧菜单栏选择“韧性中心>混沌演练”,进入混沌演练页面。
  3. 在故障模式页签中,单击“创建故障模式”。
  4. 参考表1填写故障模式信息。
    本示例中仅解释必要参数,其余配置可保留默认值。
    表1 创建故障模式参数说明

    参数

    说明

    故障模式名称

    自定义故障模式名称,如演练测试。

    场景分类

    选择“节点”。节点故障包括主机的CPU、内存过载或进程故障,从而会导致业务异常,如CPU、内存过载、进程状态异常等。

    事件级别

    选择“P4”。

    严重程度默认“P1”最严重,“P5”最轻微。

    来源

    选择“主动分析”,主动对应用架构、运行环境等进行风险分析后,形成故障模式。

    攻击场景

    在下拉列表选择攻击场景,如CPU使用率加压,内存使用率加压。

    企业项目

    在下拉列表选择故障模式资源所属的企业项目,如default。

    所属应用

    在下拉列表选择演练目标所属的应用,如COC。

    是否有应急预案

    选择“否”。

    发生条件

    请填写故障可能发生的条件,如CPU使用率过大。

    限制长度最长1024个字符。

    预计故障现象

    请填写故障发生时可能的业务现象,如系统运行慢。

    限制长度最长1024个字符。

    客户影响

    请填写故障造成的客户影响,如性能降低。

    限制长度最长1024个字符。

  5. 选择是否有应急预案。如果选择是,请输入应急预案名称搜索,选择对应的应急预案,单击“保存”。

步骤二:创建应急预案

选择要注入故障的目标机器所属应用

  1. 在左侧菜单栏选择“韧性中心 > 应急预案”,进入应急预案页面。
  2. 在“自定义预案”页签中,单击“创建应急预案”。
    图2 应急预案页面
  3. 设置“基本信息”。
    本示例中仅解释必要参数,其余配置可保留默认值。
    表2 基本信息参数说明

    参数

    说明

    应急预案名称

    自定义应急预案的名称,如应急预案01。

    企业项目

    在下拉列表选择应急预案所属的企业项目,如default。

    所属应用

    在下拉列表选择应急预案所属的应用,如COC。

  4. 设置“故障处理”。
    • 应急预案类型:可选项“自动化预案”。
    • 处理方式:选择“脚本”,并在下拉列表选择脚本对应。
  5. 单击“确定”。

    完成应急预案创建。

步骤三:创建演练规划

您可以指定执行人来创建演练规划,执行人通过接单来创建演练任务,演练任务关联故障模式和区域。

  1. 在左侧菜单栏选择“韧性中心 > 混沌演练”,进入混沌演练页面。
  2. 选择“演练规划”页签,单击“创建演练规划”。
  3. 选择步骤一:创建故障模式中创建的故障模式,设置执行人,区域和计划演练时间 。
    图3 创建演练规划
  4. 单击“确定”,即可完成演练规划的创建。

步骤四:创建演练任务

  1. 执行人在“韧性中心 > 混沌演练 > 演练规划”页面,选择步骤三:创建演练规划中创建的演练规划,单击操作列“接单”,进入创建演练任务页面。
  2. 填写演练任务基本信息。
    表3 基础信息参数说明

    参数

    说明

    演练任务名称

    自定义演练任务的名称,本示例使用默认名称

    期望恢复时长(分钟)

    从故障发生到故障恢复的预期时间,单位为分钟,如3分钟。

    在故障注入之后,应用自恢复或在执行应急预案时恢复到正常状态的期望时间,该时间不会对演练任务产生影响。

    图4 演练任务基本信息
  3. 演练任务中默认有1个攻击任务组,单击“添加新的攻击任务”,弹出“添加新的攻击任务”界面。
    图5 添加攻击任务
  4. 参考表4设置攻击任务。
    表4 添加新的攻击任务参数说明

    参数

    说明

    云厂商

    请选择云厂商类型,如华为云。

    攻击目标来源

    请选择目标实例的来源,如弹性云服务器(ECS),

    攻击任务名称

    系统自动成为默认名称。

    攻击目标

    请选择目标实例。

  5. 单击“下一步”,设置“选择攻击场景”。
    表5 选择攻击场景参数说明

    参数

    说明

    攻击类型

    根据攻击场景的类型区分,如主机类型。

    攻击场景

    选择对应的攻击场景,如CPU使用率加压。

    攻击参数

    根据不同的攻击场景,配置相应的攻击参数。

    • CPU使用率(百分比):80
    • 故障持续时长(秒):60
  6. 单击“下一步”,进入监控任务配置
  7. 设置监控任务。
    图6 设置监控任务
    • 稳态指标选择CPU使用率,阈值区间为1~96。
    • 监控指标选择CPU使用率,阈值区间为0~60。
  8. 单击“完成”,完成攻击任务添加。
  9. 单击“确定”,完成演练任务创建。

步骤五:启动演练任务

对已创建的演练任务,启动演练。

  1. 选择步骤四:创建演练任务中创建的演练任务,单击操作列“启动演练”。
  2. 在弹框中,单击“确定”,启动演练任务。

    启动演练后,自动跳转至演练详情页面,混沌演练平台将按照演练任务设置自动进行故障注入。

步骤六:创建演练报告

演练结束后可以创建演练报告

  1. 等待演练任务执行完成,在演练详情页面右上角单击“演练报告”。
  2. 单击“编辑时长”,修改实际恢复时长。
    图7 修改实际恢复时长
    表6 修改实际恢复时长参数说明

    参数

    说明

    故障发现时长(分钟)

    请填写故障发现时长。

    从故障注入完成到收到故障告警的时间。

    故障定界时长(分钟)

    请填写故障定界时长。

    从收到告警到完成故障定界的时间。

    故障恢复时长(分钟)

    请填写故障恢复时长。

    从完成故障定界到故障恢复的时间。

  3. 单击“确定”,完成实际恢复时长修改。

    修改实际恢复时长后,系统将自动生成恢复能力评分。

  4. 在改进事项模块中,单击“创建改进事项”,在弹框中设置改进单信息。
    表7 创建改进单参数说明

    参数

    说明

    改进名称

    自定义改进单的名称,如演练测试改进。

    自定义改进单的名称。名称由中文、字母、数学、中划线、下划线和空格组成,且不能以空格开头或结尾,最大长度支持64个字符。

    所属应用

    在下拉列表选择改进单涉及的应用,如COC。

    改进类型

    在下拉列表选择改进类型,如运维改进。

    改进责任人

    在下拉列表选择责任用户。

    改进验收人

    在下拉列表选择验收用户。

    期望完成时间

    请填写期望完成时间(精确到日),所选日期不得早于今日。

    问题现象

    请填写事件相关的问题现象。

    限制长度最长1000个字符。

    改进闭环标准

    请填写改进闭环标准。

    限制长度最长1000个字符。

  5. 单击“确定”,完成改进单创建。

    创建完成后,改进事项列表会默认展开详情内容,包含处理信息和验证信息。

相关文档