有奖:语音产品征文挑战赛等你来> HOT
文档中心 > 混沌演练平台 > 故障动作库 > 自定义动作 > 自定义动作实现 CPU 积累型故障

背景

混沌演练平台支持用户自定义故障动作进行混沌演练,用户可以依据场景需要自行配置动作参数以及执行脚本命令。

实践示例

下面将介绍如何配置混沌平台自定义动作,进行 CVM CPU 积累型故障混沌演练。

步骤一:演练准备

一台可供故障注入的CVM实例(示例实例采用 TencentOS Server 2.6 (Final)系统)。
故障动作脚本文件。

步骤二:创建自定义动作

1. 登录混沌演练控制台,进入动作库管理页面,选择创建自定义动作。


2. 进行自定义动作配置。配置命令内容以及命令参数。配置完成后,单击保存


示例命令内容如下,其中 percentage、timeout 以及 step 参数可以通过配置在执行过程中传入。
#!/bin/bash
user=$(whoami)
if [ !$user == 'root' ]
then
sudo -i
fi
echo -e "["`date +"%Y-%m-%d %H:%M:%S"`"] \\c"
echo "installing stress-ng..."
yum install stress-ng -y

percentage={{percentage}}
timeout={{timeout}}
step={{step}}

for (( i = $step; i < ${timeout} + $step; i=(i+step) )); do
val=`expr $percentage \\* $i / $timeout`
echo "Pre = $val"
stress-ng -c 0 -l $val --timeout $step
done

if [[ !$? -eq 0 ]]
then
echo -e "["`date +"%Y-%m-%d %H:%M:%S"`"] \\c"
echo "Failed"
exit 1
else
echo -e "["`date +"%Y-%m-%d %H:%M:%S"`"] \\c"
echo "Completed"
exit 0
fi

步骤三:演练编排

1. 单击新建演练,填写演练信息,选择演练 CVM 目标实例。


2. 单击左下角添加演练动作后,选择 shell脚本,选中创建的自定义动作,并单击下一步


3. 该动作的动作参数保持默认,单击确定即可。


4. 动作参数配置完成后,单击下一步。确定所有配置后,为方便观察动作效果,添加一个监控指标,单击提交


5. 单击提交,完成演练创建。



步骤四:执行演练

1. 执行演练,观察执行结果。


2. 在执行过程中,用户可以通过监控指标观察 CPU 数据的变化。等待90s之后,动作执行完成,可以从监控指标看出,演练结果符合预期。