背景
混沌演练平台支持用户自定义故障动作进行混沌演练,用户可以依据场景需要自行配置动作参数以及执行脚本命令。
实践示例
下面将介绍如何配置混沌平台自定义动作,进行 CVM CPU 积累型故障混沌演练。
步骤一:演练准备
一台可供故障注入的CVM实例(示例实例采用 TencentOS Server 2.6 (Final)系统)。
故障动作脚本文件。
步骤二:创建自定义动作
1. 登录混沌演练控制台,进入动作库管理页面,选择创建自定义动作。![](https://qcloudimg.tencent-cloud.cn/image/document/771ba201580a62a3e2b8539d75f10b9b.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/771ba201580a62a3e2b8539d75f10b9b.png)
2. 进行自定义动作配置。配置命令内容以及命令参数。配置完成后,单击保存。![](https://qcloudimg.tencent-cloud.cn/image/document/5316564bca1a30cb6e8fd2a3c2b241af.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/5316564bca1a30cb6e8fd2a3c2b241af.png)
示例命令内容如下,其中 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. 单击新建演练,填写演练信息,选择演练 CVM 目标实例。![](https://qcloudimg.tencent-cloud.cn/image/document/d4e3e13e178993d7e5614e0f785c90a5.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/d4e3e13e178993d7e5614e0f785c90a5.png)
2. 单击左下角添加演练动作后,选择 shell脚本,选中创建的自定义动作,并单击下一步。![](https://qcloudimg.tencent-cloud.cn/image/document/f2e337de5a9bd94d49e2c5663832e4f9.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/f2e337de5a9bd94d49e2c5663832e4f9.png)
3. 该动作的动作参数保持默认,单击确定即可。![](https://qcloudimg.tencent-cloud.cn/image/document/94d0f9e14a3cef76db5ea18c7fe8a4a2.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/94d0f9e14a3cef76db5ea18c7fe8a4a2.png)
4. 动作参数配置完成后,单击下一步。确定所有配置后,为方便观察动作效果,添加一个监控指标,单击提交。![](https://qcloudimg.tencent-cloud.cn/image/document/935c927ba358b68aaa4ac6e45c6a4543.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/935c927ba358b68aaa4ac6e45c6a4543.png)
5. 单击提交,完成演练创建。![](https://qcloudimg.tencent-cloud.cn/image/document/5acb7742813367274a4d487cad81f557.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/5acb7742813367274a4d487cad81f557.png)
步骤四:执行演练
1. 执行演练,观察执行结果。![](https://qcloudimg.tencent-cloud.cn/image/document/5b917b7644fcaa4bd308fd26c72aeec1.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/5b917b7644fcaa4bd308fd26c72aeec1.png)
2. 在执行过程中,用户可以通过监控指标观察 CPU 数据的变化。等待90s之后,动作执行完成,可以从监控指标看出,演练结果符合预期。![](https://qcloudimg.tencent-cloud.cn/image/document/8cc238760f100ddb540da2325c0c2dcf.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/8cc238760f100ddb540da2325c0c2dcf.png)