背景
云顾问 - 混沌演练支持用户自定义故障动作进行混沌演练,用户可以依据场景需要自行配置动作参数以及执行脚本命令。
实践示例
下面将介绍如何配置自定义动作,进行 CVM CPU 积累型故障混沌演练。
步骤一:演练准备
一台可供故障注入的 CVM 实例(示例实例采用 TencentOS Server 2.6 (Final)系统)。
故障动作脚本文件。
步骤二:创建自定义动作
1. 登录 云顾问 > 混沌演练,进入动作库管理页面,选择创建自定义动作。
2. 进行自定义动作配置。配置命令内容以及命令参数。配置完成后,单击保存。
示例命令内容如下,其中 percentage、timeout 以及 step 参数可以通过配置在执行过程中传入。
#!/bin/bashuser=$(whoami)if [ !$user == 'root' ]thensudo -ifiecho -e "["`date +"%Y-%m-%d %H:%M:%S"`"] \\c"echo "installing stress-ng..."yum install stress-ng -ypercentage={{percentage}}timeout={{timeout}}step={{step}}for (( i = $step; i < ${timeout} + $step; i=(i+step) )); doval=`expr $percentage \\* $i / $timeout`echo "Pre = $val"stress-ng -c 0 -l $val --timeout $stepdoneif [[ !$? -eq 0 ]]thenecho -e "["`date +"%Y-%m-%d %H:%M:%S"`"] \\c"echo "Failed"exit 1elseecho -e "["`date +"%Y-%m-%d %H:%M:%S"`"] \\c"echo "Completed"exit 0fi
步骤三:演练编排
1. 进入演练管理页面,单击新建演练。
2. 单击跳过,新建空白演练,填写演练信息,选择演练 CVM 目标实例。
3. 添加演练动作。单击立即添加,选择 shell脚本,选中创建的自定义动作,并单击下一步。
4. 该动作的动作参数保持默认,单击确定即可。
5. 动作参数配置完成后,单击下一步。确定所有配置后,为方便观察动作效果,添加一个监控指标,单击提交。
6. 单击提交,完成演练创建。
步骤四:执行演练
1. 执行演练,观察执行结果。
2. 在执行过程中,用户可以通过监控指标观察 CPU 数据的变化。等待90s之后,动作执行完成,可以从监控指标看出,演练结果符合预期。