You need to enable JavaScript to run this app.
导航

故障类型

最近更新时间2024.01.25 15:13:42

首次发布时间2024.01.25 15:13:42

不同的故障注入所支持的故障类型有所不同,本文按照故障场景介绍所支持的故障类型。

说明

各故障场景中的故障配置说明参见 故障配置参数

自有集群、VKE 集群中 Pod

注意

仅兼容 GCC 8.3.0 和 GDB 8.2.1 C++ 版本的集群支持 C++ 故障

故障对象故障类型故障名称说明
网络网络故障Delay网络包延迟。
Reject拒绝网络服务。
Loss网络包丢失。
Duplicate网络包重复。
Reorder网络包乱序。
Corrupt网络包错误。
DNS 故障DropDNS 访问超时。
容器Pod 故障Pod Kill仅故障目标为 Kubernetes 中 Pod 时支持。终止指定的 Pod。
Container Hang将指定进程挂起。
系统组件系统故障CPU设置 CPU 使用百分比和内核数量,模拟 CPU 满载故障。
Memory设置内存使用百分比,最高支持 100%,模拟 Memory 满载故障。
磁盘故障IOPS 限制设置磁盘某分区的 IO 次数限制,模拟多线任务受限的故障。
读写速度限制设置磁盘某分区的读写速度限制,模拟读写慢的故障。
服务接口服务接口故障HTTP仅故障目标为 Kubernetes 中 Pod 时支持。支持通过自定义 HTTP 请求设置故障。
服务代码Java 故障调用延迟被调用的方法返回时间延长。
抛出自定义异常在方法执行过程中抛出异常。填入异常名即可,例如 RuntimeExcepition。
内存溢出JVM 堆(Heap)溢出或栈(Stack)溢出。
指定类返回值自定义方法的返回值。目前支持 Int 或者 Strin,其中 String 类型参数值需要加双引号。
进程 CPU 使用率满载使指定的 CPU 核数被 Java 进程满载。
Kill JVM终止 Java 虚拟机进程。
垃圾回收Java 虚拟机执行垃圾回收。
C++ 故障修改变量修改指定的变量值。目前支持 Int、Float、Double、Bool、Char、Char* 类型的变量。
修改返回值或提前返回修改被调用的方法的返回值或使被调用的方法提前返回.目前支持 Int、Float、Double、Bool、Char、Char* 类型的返回值。
调用延迟被调用的方法返回时间延长。

自有集群、VKE 集群中 Node

故障对象故障类型故障名称说明
网络网络故障Delay网络包延迟。
Reject拒绝网络服务。
Loss网络包丢失。
Duplicate网络包重复。
Reorder网络包乱序。
Corrupt网络包错误。
DNS 故障DropDNS 访问超时。
系统组件系统故障CPU设置 CPU 使用百分比和内核数量。
Memory设置内存使用百分比,最高支持 100%。
磁盘故障Storage Full磁盘空间满载。
磁盘 IO 繁忙磁盘的读写繁忙。
文件新增新建文件。
文件重命名更新文件的名称。
文档删除删除文件。
文件权限修改更新文件的权限。
文件元数据修改更新文件的元数据。
文档内容追加更新文件的内容。
主机异常主机异常故障重启重新启动主机。
杀进程终止主机中的进程。
宕机关闭主机。
自定义指令执行用户自定义指令。

自有主机和 ECS 主机

故障对象故障类型故障名称说明
网络网络故障Delay网络包延迟。
Reject拒绝网络服务。
Loss网络包丢失。
Duplicate网络包重复。
Reorder网络包乱序。
Corrupt网络包错误。
DNS 故障DropDNS 访问超时。
系统组件系统故障CPU支持设置 CPU 使用百分比和内核数量。
Memory支持设置内存使用百分比,最高支持 100%。
磁盘故障Storage Full磁盘空间满载。
磁盘 IO 繁忙磁盘的读写繁忙。
文件新增新建文件。
文件重命名更新文件的名称。
文档删除删除文件。
文件权限修改更新文件的权限。
文件元数据修改更新文件的元数据。
文档内容追加更新文件的内容。
主机异常主机异常故障重启重新启动主机
杀进程终止主机中的进程。
宕机关闭主机。
自定义指令执行用户自定义指令。

自有主机、ECS 主机中进程、容器

故障对象故障类型故障名称说明
网络网络故障Delay网络包延迟。
Reject拒绝网络服务。
Loss网络包丢失。
Duplicate网络包重复。
Reorder网络包乱序。
Corrupt网络包错误。
进程进程故障进程挂起将指定进程挂起一定时间。
系统组件系统故障物理机时钟漂移指定虚拟机和实际时间的偏移时长。
磁盘故障IOPS 限制设置磁盘某分区的 IO 次数限制,模拟多线任务受限的故障。
读写速度限制设置磁盘某分区的读写速度限制,模拟读写慢的故障。
服务代码Java 故障调用延迟被调用的方法返回时间延长。
抛出自定义异常在方法执行过程中抛出异常。填入异常名即可,例如 RuntimeExcepition。
内存溢出JVM 堆(Heap)溢出或栈(Stack)溢出。
指定类返回值自定义方法的返回值。目前支持 Int 或者 Strin,其中 String 类型参数值需要加双引号。
进程 CPU 使用率满载使指定的 CPU 核数被 Java 进程满载。
Kill JVM终止 Java 虚拟机进程。
垃圾回收Java 虚拟机执行垃圾回收。
C++ 故障修改变量修改指定的变量值。目前支持 Int、Float、Double、Bool、Char、Char* 类型的变量。
修改返回值或提前返回修改被调用的方法的返回值或使被调用的方法提前返回.目前支持 Int、Float、Double、Bool、Char、Char* 类型的返回值。
调用延迟被调用的方法返回时间延长。

自有集群、VKE 集群节点和自有主机、ECS 主机中的中间件

说明

选择演练对象时,需要在 故障目标类型 中选择 中间件,然后在二级选项中选择目标集群或主机。

故障对象故障类型故障名称说明
数据库MySQL 故障连接数模拟数据库连接数达到上限。实际模拟的连接数将不超过客户端可发起的连接数的上限。例如客户端连接数上限为 600,设置的连接数为 1000,那么实际模拟的连接数为 600。
数据库压力模拟数据库服务端访问量突增,造成数据库 CPU、内存、磁盘等指标突增。
数据库锁故障模拟数据库数据表锁死无法查询或写入的故障。
自定义 SQL根据业务场景通过 SQL 构建自定义故障。
PostgreSQL 故障连接数模拟数据库连接数达到上限。实际模拟的连接数将不超过客户端可发起的连接数的上限。例如客户端连接数上限为 600,设置的连接数为 1000,那么实际模拟的连接数为 600。
数据库压力模拟数据库服务端访问量突增,造成数据库 CPU、内存、磁盘等指标突增。
数据库锁故障模拟数据库数据表锁死无法查询或写入的故障。
自定义 SQL根据业务场景通过 SQL 构建自定义故障。
SQL Server 故障连接数模拟数据库连接数达到上限。实际模拟的连接数将不超过客户端可发起的连接数的上限。例如客户端连接数上限为 600,设置的连接数为 1000,那么实际模拟的连接数为 600。
数据库压力模拟数据库服务端访问量突增,造成数据库 CPU、内存、磁盘等指标突增。
数据库锁故障模拟数据库数据表锁死无法查询或写入的故障。
自定义 SQL根据业务场景通过 SQL 构建自定义故障。
Oracle 故障连接数模拟数据库连接数达到上限。实际模拟的连接数将不超过客户端可发起的连接数的上限。例如客户端连接数上限为 600,设置的连接数为 1000,那么实际模拟的连接数为 600。
数据库压力模拟数据库服务端访问量突增,造成数据库 CPU、内存、磁盘等指标突增。
数据库锁故障模拟数据库数据表锁死无法查询或写入的故障。
自定义 SQL根据业务场景通过 SQL 构建自定义故障。
MongoDB 故障数据库锁故障通过 Mongodb fsynclock 命令,为整个数据库实例加锁。加锁后所有的 Write 操作不能执行。
终止读写操作通过定时执行 Mongodb KillOp 指令杀死读写操作,使客户端的读写操作失效。
缓存Redis 故障缓存击穿模拟单个缓存 Key 失效,被击穿的场景。
连接池满模拟 Redis 服务端达到最大连接上限的场景。
消息队列Kafka 故障脏数据Kafka 中插入脏数据。
重复数据Kafka 中插入一定数目的重复数据。
RocketMQ 故障脏数据RocketMQ 中插入脏数据。
重复数据RocketMQ 中插入一定数目的重复数据。
RabbitMQ 故障脏数据RabbitMQ 中插入脏数据。
重复数据RabbitMQ 中插入一定数目的重复数据。
分布式存储ES 故障Index 关闭ES 数据库库名不可读写。
Index 别名删除删除 ES 数据库别名。
网络TCP 故障TCP 连接数压力TCP 层的连接数压力故障。