混沌工程工具包

chaostoolkit的Python项目详细描述


混沌工具包-混沌工程的开放式api

versionlicense

生成状态codecov

downloadsDocker拉动python versions需求状态has wheel

混沌工具包是一个项目,其任务是为社区所需的各种形式的混沌工程工具提供免费、开放和社区驱动的工具包和api。

为什么是混沌工具箱?

混沌工具包有两个主要目的:

  • 提供一个完整的混沌工程实现,通过为应用该学科提供一个简单的起点,简化混沌工程的采用。
  • 与社区一起定义一个开放的api,以便任何混沌实验都可以通过与正在出现的许多商业、私有和开源混沌实现的集成来一致地执行。

混沌工具包

简化混沌工程的采用

首先,混沌工具箱的目的是使运行变得简单明了 对你的实时系统进行实验,以建立对其行为的信心并了解 潜在的弱点。

跟随 混沌工程的原理,混沌工具箱旨在成为将这些原理应用于你自己复杂的,甚至有时是混沌的系统的最简单的方法。

面向混沌工程的开放式api

其次,混沌工具包通过其json/yaml格式的实验定义,定义了一个到混沌工程的开放api。该工具包可以通过探测(在实验前后测量稳态)和操作(在实验期间改变真实世界的事件)扩展到与任意数量的商业、私有和开源混沌实现集成。

安装或升级

从软件包安装

一般来说,您可以如下安装:

$ pip install -U chaostoolkit

建议您创建一个python虚拟环境来运行您的混沌实验。有关安装chaostoolkit及其要求的完整说明,请参见安装文档

下载并运行捆绑包

在通过包安装时,您可以最大程度地控制要部署的内容, 您可能还对简单地向下加载一个独立的二进制文件感兴趣,该二进制文件可以 按原样运行。

从这里下载一份副本

无论何时发布新版本,只需再次下载其副本即可。

开始

一旦安装了chaos工具包,就可以通过它的简单命令行工具使用它。这个工具的主要工作是运行你的实验,然后 生成实验结果的报告,然后与您的团队共享讨论。

运行实验非常简单:

$ chaos run experiment.json

chaos工具包采用json格式的描述文件中定义的实验,用json编码(也支持yaml),并按顺序运行其步骤。这个实验描述文件的完整说明可以在主要项目文档中找到

混沌工具箱运行示例

扩展混沌工具箱

混沌工具箱播放您提供给它的实验描述。 实验由探针和动作组成(在实验过程中改变真实世界的事件)。我们一直在寻找社区的贡献和想法 当您通过Chaos工具箱将混沌实验集成到您自己独特的上下文和环境中时,您可能需要什么样的探测和操作。

如果您有一套新的调查和行动的想法,您想与大家分享,请首先考虑提出一张罚单,甚至加入我们的社区Slack来建议您的想法。

在实现方面,chaos工具包目前支持作为python函数、独立进程甚至远程http调用实现的探测和操作。只要您的扩展符合混沌工具包api,就可以在实验定义中指定自己的唯一扩展。

混沌工具包api的核心实现可以在chaostolkit lib项目中找到。

当前已知扩展名

以下免费开放源扩展可用于探测 和/或操作:

基础设施/平台故障注入:

应用程序故障注入:

可观测性:

参与进来!

混沌工具箱的任务是为混沌工程提供一个开放的api。因此,我们鼓励并欢迎您加入我们的开放社区Slack团队,与社区讨论和分享您的实验和需求。 您也可以使用stackoverflow询问有关使用 混沌工具箱或混沌工程。

如果您不想使用slack,那么我们欢迎在此repo上提出github问题,以解决有关chaos工具包的任何问题、请求或讨论。

最后,您还可以通过电子邮件联系@chaostolkit.org询问任何问题。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
在Java中从本地文件系统导入文件   spring boot如何在Java SpringBoot项目中集成Olingo(Odata)   java查找连续数组中缺少的第k个元素(超过时间限制)   java为什么在mySql中插入1/2行时会得到2/4行   java不能在静态上下文中使用它   File Observer方法的java My onEvent()部分不起作用   java Netty NioSocketChannel在多线程写入时收到中断消息   java将文件夹与父文件夹一起复制   java我的TictaToe代码出了什么问题?如何检查已采取的措施?   java Swing JTable更新   java如何将cordinates查找为int   如何使用selenium和java在firefox中打开新的空选项卡   java Gradle构建输出Jar未运行   java没有GET/WEBINF/jsp/login的映射。jsp