chaos-platform

Related tags

GUI chaosblade-box
Overview

logo

Chaosblade-box: An chaos engineering platform with rich scenes

Build Status license

Introduction

Chaosblade-box is an chaos engineering platform with rich scenes, the scenes currently included are:

  • chaosblade-exec-os: Implementation of basic resource experimental scenarios.
  • chaosblade-exec-docker: Docker container experimental scenario implementation, standardized by calling the Docker API.
  • chaosblade-operator: Kubernetes platform experimental scenario is implemented, chaos experiments are defined by Kubernetes standard CRD method, it is very convenient to use Kubernetes resource operation method To create, update, and delete experimental scenarios, including using kubectl, client-go, etc., and also using the chaosblade cli tool described above.
  • chaosblade-exec-jvm: Java application experimental scenario implementation, using Java Agent technology to mount dynamically, without any access, zero-cost use It also supports uninstallation and completely recycles various resources created by the Agent.
  • chaosblade-exec-cplus: C ++ application experimental scenario implementation, using GDB technology to implement method and code line level experimental scenario injection.
  • limus-chaos-generic: An toolset to do cloud-native chaos engineering

Compile

Go to the project root directory which you cloned and execute compile:

mvn clean package -Dmaven.test.skip=true

If you compile the chaosblade-box image, you can do:

make build_image

clean compilation:

mvn clean

helm package:

helm package deploy/chaosblade-box

Run Application

If you already have MySQL installed, you need to create a schema named chaosblade, if you don't have MySQL installed, you can run it via Docker, run method is as follows:

docker run -d -it -p 3306:3306 \
			-e MYSQL_DATABASE=chaosblade \
			-e MYSQL_ROOT_PASSWORD=DATASOURCE_PASSWORD \
			--name mysql-5.6 mysql:5.6 \
            --character-set-server=utf8mb4 \
            --collation-server=utf8mb4_unicode_ci \
            --default-time_zone='+8:00'

Notes: You must replace the follow parameters: DATASOURCE_URL, DATASOURCE_USERNAME, DATASOURCE_PASSWORD

Then run the application, run method is as follows:

nohup java -Duser.timezone=Asia/Shanghai -jar chaosblade-box-web-0.3.2.jar --spring.datasource.url=DATASOURCE_URL --spring.datasource.username=DATASOURCE_USERNAME --spring.datasource.password=DATASOURCE_PASSWORD > chaosblade-box.log 2>&1 &

You can use a browser to access the http://127.0.0.1:8080 website to use the platform.

If you're deployed on kubernetes, the usage method is as follows:

helm install chaosblade-box chaosblade-box-0.3.2.tgz --set spring.datasource.password=DATASOURCE_PASSWORD --namespace chaosblade

Bugs and Feedback

For bug report, questions and discussions please submit GitHub Issues.

You can also contact us via:

Contributing

We welcome every contribution, even if it is just punctuation. See details of CONTRIBUTING

Business Registration

The original intention of our open source project is to lower the threshold for chaos engineering to be implemented in enterprises, so we highly value the use of the project in enterprises. Welcome everyone here ISSUE. After registration, you will be invited to join the corporate mail group to discuss the problems encountered by Chaos Engineering in the landing of the company and share the landing experience.

License

Chaosblade-box is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.

Comments
  • 内网自动和手动安装agent失败

    内网自动和手动安装agent失败

    内网搭建了一个http服务器,上面放了需要下载的文件,修改了代码和配置文件相关url,结果无论是手动还是自动安装都失败,手动安装命令如下: wget http://xxxxxx/chaosagentctl.sh -O chaosagentctl.sh && chmod +x chaosagentctl.sh && ./chaosagentctl.sh install -r http://xxxxxx/chaosagent -t 127.0.0.1:8080 报错如下: 2021-04-01 17:11:04 [INFO] [-rm f] /var/run/chaosagent.pid 2021-04-01 17:11:04 [INFO] [+stop] chaosagent is stopped. 2021-04-01 17:11:04 [INFO] [+downloading] chaosagent to [/opt/chaos/chaosagent] 2021-04-01 17:11:04 [INFO] [+saved] chaosagent to [/opt/chaos/chaosagent] 2021-04-01 17:11:04 [INFO] [+starting] chaosagent is starting... 2021-04-01 17:11:05 [WARN] start failed ./chaosagentctl.sh: line 69: exit: 2021-04-01 17:11:05 [WARN] [start] failed:time="2021-04-01T17:06:43+08:00" level=info msg="Init config completed" time="2021-04-01T17:06:43+08:00" level=warning msg="Connection to server failed, err: connect server failed, " time="2021-04-01T17:06:43+08:00" level=warning msg="start chaos failed because of connect server failed, " time="2021-04-01T17:06:43+08:00" level=error msg="chaos agent will exit" time="2021-04-01T17:09:36+08:00" level=info msg="Init config completed" time="2021-04-01T17:09:36+08:00" level=warning msg="Connection to server failed, err: connect server failed, " time="2021-04-01T17:09:36+08:00" level=warning msg="start chaos failed because of connect server failed, " time="2021-04-01T17:09:36+08:00" level=error msg="chaos agent will exit" time="2021-04-01T17:11:04+08:00" level=info msg="Init config completed" time="2021-04-01T17:11:04+08:00" level=warning msg="Connection to server failed, err: connect server failed, " time="2021-04-01T17:11:04+08:00" level=warning msg="start chaos failed because of connect server failed, " time="2021-04-01T17:11:04+08:00" level=error msg="chaos agent will exit"

    opened by zxh19920616 6
  • com.alibaba.chaosblade.box.common.infrastructure.exception.PermissionDeniedException: null

    com.alibaba.chaosblade.box.common.infrastructure.exception.PermissionDeniedException: null

    2022-06-17 09:45:19.217 ERROR 18511 --- [nio-7001-exec-2] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is com.alibaba.chaosblade.box.common.infrastructure.exception.PermissionDeniedException] with root cause

    com.alibaba.chaosblade.box.common.infrastructure.exception.PermissionDeniedException: null at com.alibaba.chaosblade.box.auth.CloudLoginUserResolver.resolve(CloudLoginUserResolver.java:56) ~[classes!/:na] at com.alibaba.chaosblade.box.auth.UserWebArgumentResolver.resolveArgument(UserWebArgumentResolver.java:48) ~[classes!/:na] at org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:121) ~[spring-web-4.3.13.RELEASE.jar!/:4.3.13.RELEASE] at org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:158) ~[spring-web-4.3.13.RELEASE.jar!/:4.3.13.RELEASE] at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:128) ~[spring-web-4.3.13.RELEASE.jar!/:4.3.13.RELEASE] at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:97) ~[spring-webmvc-4.3.13.RELEASE.jar!/:4.3.13.RELEASE] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827) ~[spring-webmvc-4.3.13.RELEASE.jar!/:4.3.13.RELEASE] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738) ~[spring-webmvc-4.3.13.RELEASE.jar!/:4.3.13.RELEASE] at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85) ~[spring-webmvc-4.3.13.RELEASE.jar!/:4.3.13.RELEASE]

    chaosblade-box登陆的时候报这个错误是什么意思?

    opened by dolphin17 5
  • 数据库sql执行报错

    数据库sql执行报错

    2022-06-22 14:02:51.319 ERROR 130073 --- [nio-7001-exec-7] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.jdbc.BadSqlGrammarException:

    Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'chaosblade.t_chaos_scene_authorized.authorized_id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

    The error may exist in com/alibaba/chaosblade/box/dao/mapper/SceneAuthorizedMapper.java (best guess)

    The error may involve defaultParameterMap

    The error occurred while setting parameters

    SQL: SELECT authorized_id,function_id,function_name,function_code,grant_from,grant_to,permission,enabled,phase,source,function_create_time,support_host,support_k8s,is_public,is_delete,id,gmt_create,gmt_modified FROM t_chaos_scene_authorized WHERE function_id IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) AND ( enabled = ? ) AND (permission & 4) = 4 AND (phase & 2) > 0 AND support_host = ? AND is_delete = ? AND ( ( grant_to = ? AND is_public = ? ) OR ( is_public = ? ) ) GROUP BY function_id ORDER BY function_create_time DESC

    Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'chaosblade.t_chaos_scene_authorized.authorized_id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

    ; bad SQL grammar []; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'chaosblade.t_chaos_scene_authorized.authorized_id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by] with root cause

    com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'chaosblade.t_chaos_scene_authorized.authorized_id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

    type/bug 
    opened by kakamylove 4
  • feat: support both field and label selector in Kubernetes collector

    feat: support both field and label selector in Kubernetes collector

    Issue: If the amount of pods reach about 1k in target Kubernetes cluster, the current method to fetch all of pods will be potential to cause CPU SPIKE in API Server. Enhancement: 2 additional configuration items provided in application.yaml, can be used to limit the search being limited to only one Namespace, to low down the pressure. Test: already test in local & UAT env in my company

    opened by kelvinguo0210 4
  • com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'chaosblade.t_chaos_m_quartz_simple_triggers' doesn't exist

    com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'chaosblade.t_chaos_m_quartz_simple_triggers' doesn't exist

    chaosblade-box-1.0.1.jar启动报错,表不存在,在chaosblade-box-ddl.sql里也没找到chaosblade.t_chaos_m_quartz_simple_triggers建表语句

    2022-06-07 15:58:36.233 ERROR 31603 --- [ main] c.a.c.b.d.s.BaseSchedulerService : add scheduler failed,jobId:1534079843653369857

    org.quartz.JobPersistenceException: Couldn't remove trigger: Table 'chaosblade.t_chaos_m_quartz_simple_triggers' doesn't exist at org.quartz.impl.jdbcjobstore.JobStoreSupport.removeTrigger(JobStoreSupport.java:1462) ~[quartz-2.3.0.jar!/:na] at org.quartz.impl.jdbcjobstore.JobStoreSupport$10.execute(JobStoreSupport.java:1432) ~[quartz-2.3.0.jar!/:na] at org.quartz.impl.jdbcjobstore.JobStoreCMT.executeInLock(JobStoreCMT.java:245) ~[quartz-2.3.0.jar!/:na] at org.quartz.impl.jdbcjobstore.JobStoreSupport.removeTrigger(JobStoreSupport.java:1428) ~[quartz-2.3.0.jar!/:na] at org.quartz.core.QuartzScheduler.unscheduleJob(QuartzScheduler.java:1059) ~[quartz-2.3.0.jar!/:na] at org.quartz.core.QuartzScheduler.deleteJob(QuartzScheduler.java:960) ~[quartz-2.3.0.jar!/:na] at org.quartz.impl.StdScheduler.deleteJob(StdScheduler.java:301) ~[quartz-2.3.0.jar!/:na] at com.alibaba.chaosblade.box.dao.scheduler.quartz.QuartzSchedulerService.rescheduleCronJob(QuartzSchedulerService.java:81) ~[chaosblade-box-dao-1.0.1.jar!/:na] at com.alibaba.chaosblade.box.dao.scheduler.BaseSchedulerService.addSchedulerJob(BaseSchedulerService.java:41) ~[chaosblade-box-dao-1.0.1.jar!/:na] at com.alibaba.chaosblade.box.dao.scheduler.job.ActivityAsyncCheckSchedulerJob.afterPropertiesSet(ActivityAsyncCheckSchedulerJob.java:62) [chaosblade-box-dao-1.0.1.jar!/:na] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1687) [spring-beans-4.3.13.RELEASE.jar!/:4.3.13.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1624) [spring-beans-4.3.13.RELEASE.jar!/:4.3. at org.quartz.impl.jdbcjobstore.JobStoreSupport$10.execute(JobStoreSupport.java:1432) ~[quartz-2.3.0.jar!/:na] at org.quartz.impl.jdbcjobstore.JobStoreCMT.executeInLock(JobStoreCMT.java:245) ~[quartz-2.3.0.jar!/:na] at org.quartz.impl.jdbcjobstore.JobStoreSupport.removeTrigger(JobStoreSupport.java:1428) ~[quartz-2.3.0.jar!/:na] at org.quartz.core.QuartzScheduler.unscheduleJob(QuartzScheduler.java:1059) ~[quartz-2.3.0.jar!/:na] at org.quartz.core.QuartzScheduler.deleteJob(QuartzScheduler.java:960) ~[quartz-2.3.0.jar!/:na] at org.quartz.impl.StdScheduler.deleteJob(StdScheduler.java:301) ~[quartz-2.3.0.jar!/:na] at com.alibaba.chaosblade.box.dao.scheduler.quartz.QuartzSchedulerService.rescheduleCronJob(QuartzSchedulerService.java:81) ~[chaosblade-box-dao-1.0.1.jar!/:na] at com.alibaba.chaosblade.box.dao.scheduler.BaseSchedulerService.addSchedulerJob(BaseSchedulerService.java:41) ~[chaosblade-box-dao-1.0.1.jar!/:na] at com.alibaba.chaosblade.box.dao.scheduler.job.ActivityAsyncCheckSchedulerJob.afterPropertiesSet(ActivityAsyncCheckSchedulerJob.java:62) [chaosblade-box-dao-1.0.1.jar!/:na] at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) [spring-beans-4.3.13.RELEASE.jar!/:4.3.13.RELEASE] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) [spring-beans-4.3.13.RELEASE.jar!/:4.3.13.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) [spring-beans-4.3.13.RELEASE.jar!/:4.3.13.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) [spring-beans-4.3.13.RELEASE.jar!/:4.3.13.RELEASE] at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeUpdate(HikariProxyPreparedStatement.java) ~[HikariCP-2.5.1.jar!/:na] at org.quartz.impl.jdbcjobstore.SimpleTriggerPersistenceDelegate.deleteExtendedTriggerProperties(SimpleTriggerPersistenceDelegate.java:58) ~[quartz-2.3.0.jar!/:na] at org.quartz.impl.jdbcjobstore.StdJDBCDelegate.deleteTriggerExtension(StdJDBCDelegate.java:1577) ~[quartz-2.3.0.jar!/:na] at org.quartz.impl.jdbcjobstore.StdJDBCDelegate.deleteTrigger(StdJDBCDelegate.java:1561) ~[quartz-2.3.0.jar!/:na] 2022-06-07 15:58:36.233 ERROR 31603 --- [ main] c.a.c.b.d.s.BaseSchedulerService : add scheduler failed,jobId:1534079843653369857

    org.quartz.JobPersistenceException: Couldn't remove trigger: Table 'chaosblade.t_chaos_m_quartz_simple_triggers' doesn't exist at org.quartz.impl.jdbcjobstore.JobStoreSupport.removeTrigger(JobStoreSupport.java:1462) ~[quartz-2.3.0.jar!/:na] at org.quartz.impl.jdbcjobstore.JobStoreSupport$10.execute(JobStoreSupport.java:1432) ~[quartz-2.3.0.jar!/:na] at org.quartz.impl.jdbcjobstore.JobStoreCMT.executeInLock(JobStoreCMT.java:245) ~[quartz-2.3.0.jar!/:na] at org.quartz.impl.jdbcjobstore.JobStoreSupport.removeTrigger(JobStoreSupport.java:1428) ~[quartz-2.3.0.jar!/:na] at org.quartz.core.QuartzScheduler.unscheduleJob(QuartzScheduler.java:1059) ~[quartz-2.3.0.jar!/:na] at org.quartz.core.QuartzScheduler.deleteJob(QuartzScheduler.java:960) ~[quartz-2.3.0.jar!/:na] at org.quartz.impl.StdScheduler.deleteJob(StdScheduler.java:301) ~[quartz-2.3.0.jar!/:na] at com.alibaba.chaosblade.box.dao.scheduler.quartz.QuartzSchedulerService.rescheduleCronJob(QuartzSchedulerService.java:81) ~[chaosblade-box-dao-1.0.1.jar!/:na] at com.alibaba.chaosblade.box.dao.scheduler.BaseSchedulerService.addSchedulerJob(BaseSchedulerService.java:41) ~[chaosblade-box-dao-1.0.1.jar!/:na] at com.alibaba.chaosblade.box.dao.scheduler.job.ActivityAsyncCheckSchedulerJob.afterPropertiesSet(ActivityAsyncCheckSchedulerJob.java:62) [chaosblade-box-dao-1.0.1.jar!/:na] at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) [spring-beans-4.3.13.RELEASE.jar!/:4.3.13.RELEASE] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) [spring-beans-4.3.13.RELEASE.jar!/:4.3.13.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) [spring-beans-4.3.13.RELEASE.jar!/:4.3.13.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) [spring-beans-4.3.13.RELEASE.jar!/:4.3.13.RELEASE] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:543) [spring-context-4.3.13.RELEASE.jar!/:4.3.13.RELEASE] at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122) [spring-boot-1.5.9.RELEASE.jar!/:1.5.9.RELEASE] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:693) [spring-boot-1.5.9.RELEASE.jar!/:1.5.9.RELEASE] at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:360) [spring-boot-1.5.9.RELEASE.jar!/:1.5.9.RELEASE] at org.springframework.boot.SpringApplication.run(SpringApplication.java:303) [spring-boot-1.5.9.RELEASE.jar!/:1.5.9.RELEASE] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1118) [spring-boot-1.5.9.RELEASE.jar!/:1.5.9.RELEASE] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1107) [spring-boot-1.5.9.RELEASE.jar!/:1.5.9.RELEASE] at com.alibaba.chaosblade.box.Application.main(Application.java:12) [classes!/:na] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_161] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_161] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_161] at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_161] at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:49) [chaosblade-box-1.0.1.jar:na] at com.zaxxer.hikari.pool.ProxyPreparedStatement.executeUpdate(ProxyPreparedStatement.java:61) ~[HikariCP-2.5.1.jar!/:na] at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeUpdate(HikariProxyPreparedStatement.java) ~[HikariCP-2.5.1.jar!/:na] at org.quartz.impl.jdbcjobstore.SimpleTriggerPersistenceDelegate.deleteExtendedTriggerProperties(SimpleTriggerPersistenceDelegate.java:58) ~[quartz-2.3.0.jar!/:na] at org.quartz.impl.jdbcjobstore.StdJDBCDelegate.deleteTriggerExtension(StdJDBCDelegate.java:1577) ~[quartz-2.3.0.jar!/:na] at org.quartz.impl.jdbcjobstore.StdJDBCDelegate.deleteTrigger(StdJDBCDelegate.java:1561) ~[quartz-2.3.0.jar!/:na] at org.quartz.impl.jdbcjobstore.JobStoreSupport.deleteTriggerAndChildren(JobStoreSupport.java:1367) ~[quartz-2.3.0.jar!/:na] at org.quartz.impl.jdbcjobstore.JobStoreSupport.removeTrigger(JobStoreSupport.java:1446) ~[quartz-2.3.0.jar!/:na] ... 35 common frames omitted

    type/bug difficulty/easy 
    opened by tytyty123 3
  • chaosblade-box 1.0.0 前端问题

    chaosblade-box 1.0.0 前端问题

    1、创建完演练后,点击演练,前端发出的POST /chaos/QueryExperimentAmount请求,对应的url在后端java代码中不存在,报错; 2、自己在ExperimentController里加上QueryExperimentAmount请求后,能成功触发演练,但是前端提示有问题, (S9)DVU{LXJBNV{SXN~HN}A 3、能不能开源chaosblade-box 1.0.0对应的1.0.0前端,目前github只有0.4.x的,前面两个问题,目前看都是前端代码有问题,如果开源了,可以自己修改,谢谢!

    type/bug 
    opened by Christophernt 3
  • 执行实验报chaosblade file not found

    执行实验报chaosblade file not found

    报错现象 目标机器上已经安装并启动了chaosagent: root 23505 1 0 Apr06 ? 00:00:11 /opt/chaos/chaosagent --namespace default --appInstance chaos-default-app --appGroup chaos-default-app-group --port 19527 --transport.endpoint xxx.xxx.xxx.xxx:8080 执行实验的时候,报错:chaosblade file not found

    有个疑问 com.alibaba.chaosblade.box.service.task.stateless.DefaultActivityTaskPhaseHandler#handle 方法里: L159:requestCommand.setPort(chaosAgentPort); 这里port为什么是设的chaosagent的端口,而不是blade server start时绑定的端口?难道说chaosagent也具有执行实验的能力?

    ps:内网对上传图片有限制,就只能文字描述了,还请见谅。

    opened by mCapricorn 3
  • 演练工具安装失败:/bin/sh: ansible: command not found

    演练工具安装失败:/bin/sh: ansible: command not found

    http://xxxx:8080/api/DeployChaostoolsToHost

    Request: { machineId: "1365143675318001665" name: "chaosblade" url: "https://chaosblade.oss-cn-hangzhou.aliyuncs.com/agent/github/0.9.0/chaosblade-0.9.0-linux-amd64.tar.gz" version: "0.9.0" }

    Response: { "code": 6602, "message": "演练工具安装失败:/bin/sh: ansible: command not found\n", "success": false, "data": "/bin/sh: ansible: command not found\n", "requestId": "81e400a9b2fb480984c315d4772f4eff" }

    opened by Li-Vincent 3
  • 在minikube中安装agent,界面能看到minikube集群信息,但异常注入实验失败

    在minikube中安装agent,界面能看到minikube集群信息,但异常注入实验失败

    为模拟chaosblade-box对K8s集群的实验,通过使用两台同子网下的虚机1和虚机2,虚机1部署了chaosblade-box平台,虚机2部署了minikube集群,并在minikube中根据安装探针的步骤安装了探针。 至此,box平台能够看到minikube集群信息,此时通过进行实验报出如下错误 图片_lanxin_20220720154211 此时通过查看minikube中pod信息发现chaos-agent的EXTERNAL-IP为pending,通过输入minikube tunnel后,出现了EXTERNAL-IP:

    图片_lanxin_20220720154800

    上述问题解决后,进行实验仍报连接超时: 图片_lanxin_20220720155024

    当前box平台上探针管理中minikube信息如下: 截图20220720155615895 截图20220720155824517 故,当前问题个人分析为:minikube集群信息能够在box平台上呈现,相当于该方向的链路是通的;而从box平台通过agent向minikube进行实验的链路是不通的。 chaosblade-box版本为v1.0.1,是否支持这种集群管理方式的呢,上述流程是否存在问题呢

    opened by ddd1123 2
  • AgentPingScheduleJob似乎存在线程泄露导致内存溢出

    AgentPingScheduleJob似乎存在线程泄露导致内存溢出

    拉的最新分支代码,打包box后,启动运行一段时间,报内存溢出,加了一些jvm参数,输出了一些详细信息

    平台只部署了3-5个探针,且只创建了3-5个实验任务(均已停止任务了)

    增加的jvm参数如下: -Xms1024m -Xmx4096m -Xss256k -XX:PermSize=128m -XX:MaxPermSize=512m -XX:SurvivorRatio=8 -XX:NewRatio=4 -XX:+HeapDumpOnOutOfMemoryError -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintTenuringDistribution -XX:+PrintHeapAtGC -XX:+PrintReferenceGC -XX:+PrintGCApplicationStoppedTime -XX:+PrintSafepointStatistics -Xloggc:/app/chaosblade/gc-%t.log -XX:NumberOfGCLogFiles=20 -XX:GCLogFileSize=50M

    2022-07-09 14:43:30.142 ERROR 89512 --- [duler_Worker-39] org.quartz.core.ErrorLogger : Job (DEFAULT.AgentPingScheduleJob threw an exception.

    org.quartz.SchedulerException: Job threw an unhandled exception. at org.quartz.core.JobRunShell.run(JobRunShell.java:213) ~[quartz-2.3.0.jar!/:na] at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) [quartz-2.3.0.jar!/:na] Caused by: java.lang.OutOfMemoryError: unable to create new native thread at java.lang.Thread.start0(Native Method) ~[na:1.8.0_161] at java.lang.Thread.start(Thread.java:717) ~[na:1.8.0_161] at java.util.concurrent.ThreadPoolExecutor.addWorker(ThreadPoolExecutor.java:957) ~[na:1.8.0_161] at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1367) ~[na:1.8.0_161] at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134) ~[na:1.8.0_161] at com.alibaba.chaosblade.box.scheduler.AgentPingScheduleJob.lambda$execute$1(AgentPingScheduleJob.java:86) ~[classes!/:na] at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) ~[na:1.8.0_161] at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1382) ~[na:1.8.0_161] at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481) ~[na:1.8.0_161] at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471) ~[na:1.8.0_161] at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708) ~[na:1.8.0_161] at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[na:1.8.0_161] at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499) ~[na:1.8.0_161] at com.alibaba.chaosblade.box.scheduler.AgentPingScheduleJob.execute(AgentPingScheduleJob.java:87) ~[classes!/:na] at org.quartz.core.JobRunShell.run(JobRunShell.java:202) ~[quartz-2.3.0.jar!/:na] ... 1 common frames omitted

    观察了一会,线程一直在涨,没有被回收, 1E67EC45-CFD2-4a7b-A3BA-9CF259F78334

    线程池一直在创建 "pool-1029-thread-1" #3727 prio=5 os_prio=0 tid=0x00007fe84016f560 nid=0x454a waiting on condition [0x00007fe81228a000] java.lang.Thread.State: WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x0000000796958ef8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039) at java.util.concurrent.ArrayBlockingQueue.take(ArrayBlockingQueue.java:403) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748)

    Locked ownable synchronizers: - None

    opened by tytyty123 2
  • 部署完毕后前端报500的错误,后端如下

    部署完毕后前端报500的错误,后端如下

    2022-07-01 22:29:31.323 ERROR 17386 --- [_ClusterManager] c.a.c.b.d.s.quartz.ChaosJobStoreTX : ClusterManager: Error managing cluster: Failure identifying failed instances when checking-in: Table 'chaosblade.t_chaos_m_quartz_SCHEDULER_STATE' doesn't exist

    org.quartz.JobPersistenceException: Failure identifying failed instances when checking-in: Table 'chaosblade.t_chaos_m_quartz_SCHEDULER_STATE' doesn't exist at org.quartz.impl.jdbcjobstore.JobStoreSupport.findFailedInstances(JobStoreSupport.java:3405) ~[quartz-2.3.0.jar!/:na] at org.quartz.impl.jdbcjobstore.JobStoreSupport.clusterCheckIn(JobStoreSupport.java:3455) ~[quartz-2.3.0.jar!/:na] at org.quartz.impl.jdbcjobstore.JobStoreSupport.doCheckin(JobStoreSupport.java:3325) ~[quartz-2.3.0.jar!/:na] at org.quartz.impl.jdbcjobstore.JobStoreSupport$ClusterManager.manage(JobStoreSupport.java:3920) [quartz-2.3.0.jar!/:na] at org.quartz.impl.jdbcjobstore.JobStoreSupport$ClusterManager.run(JobStoreSupport.java:3957) [quartz-2.3.0.jar!/:na] Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'chaosblade.t_chaos_m_quartz_SCHEDULER_STATE' doesn't exist at sun.reflect.GeneratedConstructorAccessor88.newInstance(Unknown Source) ~[na:na] at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:1.8.0_332] at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[na:1.8.0_332] at com.mysql.jdbc.Util.handleNewInstance(Util.java:425) ~[mysql-connector-java-5.1.44.jar!/:5.1.44] at com.mysql.jdbc.Util.getInstance(Util.java:408) ~[mysql-connector-java-5.1.44.jar!/:5.1.44] at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:943) ~[mysql-connector-java-5.1.44.jar!/:5.1.44] at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3973) ~[mysql-connector-java-5.1.44.jar!/:5.1.44] at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3909) ~[mysql-connector-java-5.1.44.jar!/:5.1.44] at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2527) ~[mysql-connector-java-5.1.44.jar!/:5.1.44] at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2680) ~[mysql-connector-java-5.1.44.jar!/:5.1.44] at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2487) ~[mysql-connector-java-5.1.44.jar!/:5.1.44] at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1858) ~[mysql-connector-java-5.1.44.jar!/:5.1.44] at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1966) ~[mysql-connector-java-5.1.44.jar!/:5.1.44] at com.zaxxer.hikari.pool.ProxyPreparedStatement.executeQuery(ProxyPreparedStatement.java:52) ~[HikariCP-2.5.1.jar!/:na] at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeQuery(HikariProxyPreparedStatement.java) ~[HikariCP-2.5.1.jar!/:na] at org.quartz.impl.jdbcjobstore.StdJDBCDelegate.selectSchedulerStateRecords(StdJDBCDelegate.java:2994) ~[quartz-2.3.0.jar!/:na] at org.quartz.impl.jdbcjobstore.JobStoreSupport.findFailedInstances(JobStoreSupport.java:3369) ~[quartz-2.3.0.jar!/:na] ... 4 common frames omitted

    opened by vss80p585 2
  • how  to    debug    chaosblade-box-agent

    how to debug chaosblade-box-agent

    we don't use chaosblade-box, but I want to use chaosblade-box-agent . otherwise how to debug chaosblade-box-agent and use chaosblade-box-agent ,please make a introduce meeting about chaosblade-box-agent. thanks!

    opened by caofujiang 0
  • chaosblade-box产生的日志量非常大,建议优化

    chaosblade-box产生的日志量非常大,建议优化

    1. chaosblade-box产生日志量非常大,运行了大概1个礼拜,日志有9G多,发现: 大部分是对数据表t_chaos_scheduler_trigger_log的insert,update操作日志,但实际操作中并没有设定定时任务。
    2. 目前log文件只有一个,文件太大的话,直接打开困难,建议能够增加log的控制配置文件,控制某些log信息的输出,或者增加log的切割功能
    opened by xuyang3232 0
  • sql无法兼容mysql8.0

    sql无法兼容mysql8.0

    背景

    由于我们环境的mysql版本是8.0,所以在一些包含group by关键字的查询sql中,会报如下错误

    2022-12-05 10:51:25.593 ERROR 30622 --- [nio-7001-exec-6] o.a.c.c.C.[.[.[/].[dispatcherServlet]    : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.jdbc.BadSqlGrammarException: 
    ### Error querying database.  Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'chaosblade.t_chaos_application_device.id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
    ### The error may exist in com/alibaba/chaosblade/box/dao/mapper/ApplicationDeviceMapper.java (best guess)
    ### The error may involve defaultParameterMap
    ### The error occurred while setting parameters
    ### SQL: SELECT  id,app_name,namespace,group_name,device_name,private_ip,public_ip,pid,device_type,connect_time,last_health_ping_time,host_configuration_id,configuration_id,user_id,cluster_id,app_id,status,is_deleted,dimension,kub_namespace,os_type,gmt_create,gmt_modified  FROM t_chaos_application_device     WHERE status = ? AND is_deleted = ? AND user_id = ? GROUP BY app_id
    ### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'chaosblade.t_chaos_application_device.id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
    ; bad SQL grammar []; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'chaosblade.t_chaos_application_device.id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by] with root cause
    

    这是由于5.7.5以后默认sql_mode包含ONLY_FULL_GROUP_BY导致的,由于严格模式开启对我们有利,所以我只能选择对代码中的sql进行兼容。 image

    修改思路

    对使用group by关键字查询的sql,先查出相应数据的id,根据id查询相应数据

    tips

    由于贡献文档的缺失,我不知该如何贡献自己修改的代码 image

    opened by wuou-learn 1
  • 登录页面提示Whitelabel Error Page

    登录页面提示Whitelabel Error Page

    登录box控制台页面,报如下错误:

    image

    页面控制台信息如下: image

    其他信息 1.k8s部署的 chaosblade-box 1.0.3版本。pod均启动正常 项目原生部署命令: helm install chaosblade-box chaosblade-box-1.0.3.tgz --namespace chaosblade --set spring.datasource.password=DATASOURCE_PASSWORD

    2.chaosblade-box pod日志如下

    2022-10-31 17:17:40.077  INFO 1 --- [duler_Worker-41] c.a.c.b.scheduler.AgentPingScheduleJob   : [AgentPingScheduleJob] start
    2022-10-31 17:17:40.113  INFO 1 --- [duler_Worker-41] c.a.c.b.scheduler.AgentPingScheduleJob   : [AgentPingScheduleJob] page:1, totalPage: 0, total: 0
    2022-10-31 17:17:40.113  INFO 1 --- [duler_Worker-41] c.a.c.b.scheduler.AgentPingScheduleJob   : [AgentPingScheduleJob] time: 36 
    2022-10-31 17:17:46.896  WARN 1 --- [nio-7001-exec-7] o.s.web.servlet.PageNotFound             : No mapping found for HTTP request with URI [/login] in DispatcherServlet with name 'dispatcherServlet'
    2022-10-31 17:17:48.112  WARN 1 --- [nio-7001-exec-5] o.s.web.servlet.PageNotFound             : No mapping found for HTTP request with URI [/login] in DispatcherServlet with name 'dispatcherServlet'
    2022-10-31 17:17:49.014  WARN 1 --- [nio-7001-exec-2] o.s.web.servlet.PageNotFound             : No mapping found for HTTP request with URI [/login] in DispatcherServlet with name 'dispatcherServlet'
    2022-10-31 17:17:49.681  WARN 1 --- [nio-7001-exec-4] o.s.web.servlet.PageNotFound             : No mapping found for HTTP request with URI [/login] in DispatcherServlet with name 'dispatcherServlet'
    
    opened by openstack-test 1
Releases(v1.0.3)
  • v1.0.3(Oct 27, 2022)

    What's Changed

    • 1.0.2 bug fix by @MandssS in https://github.com/chaosblade-io/chaosblade-box/pull/111
    • fix delete namespace error by @Christophernt in https://github.com/chaosblade-io/chaosblade-box/pull/116
    • 1.0.2 bug fix by @MandssS in https://github.com/chaosblade-io/chaosblade-box/pull/129
    • feature: support prometheus metrics by @tiny-x in https://github.com/chaosblade-io/chaosblade-box/pull/130
    • delete need not point #112
    • fix bug: can not find application if ns changed #126

    Full Changelog: https://github.com/chaosblade-io/chaosblade-box/compare/v1.0.2...v1.0.3

    Host

    If you're deployed on host, the usage method is as follows:

    Create Database

    There are two ways: The first is to execute command CREATE DATABASE IF NOT EXISTS chaosblade , and the second way is to start the docker database image locally.

    Notes: You must replace the follow parameters: DATASOURCE_HOST, DATASOURCE_USERNAME, DATASOURCE_PASSWORD, BOX-HOST(localHostIP:port, eg: ip:7001)

    Commands of The second way:

    docker run -d -it -p 3306:3306 \
                -e MYSQL_DATABASE=chaosblade \
                -e MYSQL_ROOT_PASSWORD=[DATASOURCE_PASSWORD] \
                --name mysql-5.6 mysql:5.6 \
                --character-set-server=utf8mb4 \
                --collation-server=utf8mb4_unicode_ci \
                --default-time_zone='+8:00' \
                --lower_case_table_names=1
    

    Run Application

    Download the chaosblade-box-1.0.3.jar and run the following command to start:

    nohup java -Duser.timezone=Asia/Shanghai -jar chaosblade-box-1.0.3.jar --spring.datasource.url="jdbc:mysql://DATASOURCE_HOST:3306/chaosblade?characterEncoding=utf8&useSSL=false" --spring.datasource.username=DATASOURCE_USERNAME --spring.datasource.password=DATASOURCE_PASSWORD --chaos.server.domain=BOX-HOST --chaos.prometheus.api=PROMETHEUS_API> chaosblade-box.log 2>&1 &
    

    For example:

    nohup java -Duser.timezone=Asia/Shanghai -jar chaosblade-box-1.0.3.jar --spring.datasource.url="jdbc:mysql://XXXX:3306/chaosblade?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai" --spring.datasource.username=XXXX --spring.datasource.password=XXXX --chaos.server.domain=XXXX:7001 --chaos.prometheus.api=http://127.0.0.1:9090/api/v1/query_range > chaosblade-box.log 2>&1 &
    

    If jdk17, start command need add --add-opens java.base/java.lang=ALL-UNNAMED

    Access Platform

    You can use a browser to access the http://XXXX:7001 website to use the platform.

    kubernetes

    If you're deployed on kubernetes, the usage method is as follows:

    Install chaosblade-operator

    Download chaosblade-operator-1.5.0-v3.tgz package to install.

    helm install chaosblade-operator chaosblade-operator-1.5.0-v3.tgz --namespace chaosblade
    

    see more

    Run Application

    Notes: You must replace the follow parameters: DATASOURCE_PASSWORD

    helm install chaosblade-box chaosblade-box-1.0.3.tgz --namespace chaosblade --set spring.datasource.password=DATASOURCE_PASSWORD
    

    Aliyun OSS download

    chaosblade-box-1.0.3.jar chaosblade-box-1.0.3.tgz

    Source code(tar.gz)
    Source code(zip)
    chaosblade-box-1.0.3.jar(77.71 MB)
    chaosblade-box-1.0.3.tgz(2.33 KB)
  • v1.0.2(Jul 31, 2022)

    This version fixes known bugs and improves stability, welcome to use.

    Bug Fixes

    • Pop-ups falut of drill (#95 #87 )
    • Fix table doesn't exist (#85 #91 )
    • Memory overflo(#102 #103 )
    • pod delete scene not found (#104 #105 )
    • Agent ping not update status(#106 )
    • Add use external ip or not flag (chaosblade-io/chaosblade-box-agent#3)

    Host

    If you're deployed on host, the usage method is as follows:

    Create Database

    There are two ways: The first is to execute command CREATE DATABASE IF NOT EXISTS chaosblade , and the second way is to start the docker database image locally.

    Notes: You must replace the follow parameters: DATASOURCE_HOST, DATASOURCE_USERNAME, DATASOURCE_PASSWORD, BOX-HOST(localHostIP:port, eg: ip:7001)

    Commands of The second way:

    docker run -d -it -p 3306:3306 \
                -e MYSQL_DATABASE=chaosblade \
                -e MYSQL_ROOT_PASSWORD=[DATASOURCE_PASSWORD] \
                --name mysql-5.6 mysql:5.6 \
                --character-set-server=utf8mb4 \
                --collation-server=utf8mb4_unicode_ci \
                --default-time_zone='+8:00' \
                --lower_case_table_names=1
    

    Run Application

    Download the chaosblade-box-1.0.2.jar and run the following command to start:

    nohup java -Duser.timezone=Asia/Shanghai -jar chaosblade-box-1.0.2.jar --spring.datasource.url="jdbc:mysql://DATASOURCE_HOST:3306/chaosblade?characterEncoding=utf8&useSSL=false" --spring.datasource.username=DATASOURCE_USERNAME --spring.datasource.password=DATASOURCE_PASSWORD --chaos.server.domain=BOX-HOST> chaosblade-box.log 2>&1 &
    

    For example:

    nohup java -Duser.timezone=Asia/Shanghai -jar chaosblade-box-1.0.2.jar --spring.datasource.url="jdbc:mysql://XXXX:3306/chaosblade?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai" --spring.datasource.username=XXXX --spring.datasource.password=XXXX --chaos.server.domain=XXXX:7001 > chaosblade-box.log 2>&1 &
    

    If jdk17, start command need add --add-opens java.base/java.lang=ALL-UNNAMED

    Access Platform

    You can use a browser to access the http://XXXX:7001 website to use the platform.

    kubernetes

    If you're deployed on kubernetes, the usage method is as follows:

    Install chaosblade-operator

    Download chaosblade-operator-1.5.0-v3.tgz package to install.

    helm install chaosblade-operator chaosblade-operator-1.5.0-v3.tgz --namespace chaosblade
    

    see more

    Run Application

    Notes: You must replace the follow parameters: DATASOURCE_PASSWORD

    helm install chaosblade-box chaosblade-box-1.0.2.tgz --namespace chaosblade --set spring.datasource.password=DATASOURCE_PASSWORD
    

    Aliyun OSS download

    chaosblade-box-1.0.2.jar chaosblade-box-1.0.2.tgz

    Source code(tar.gz)
    Source code(zip)
    chaosblade-box-1.0.2.jar(77.70 MB)
    chaosblade-box-1.0.2.tgz(2.30 KB)
  • v1.0.1(May 30, 2022)

    This version supports internationalized Chinese and English switching, welcome to use.

    Features

    • Support internationalized, Chinese and English switching
    • Complete initialization data

    Host

    If you're deployed on host, the usage method is as follows:

    Create Database

    There are two ways: The first is to execute command CREATE DATABASE IF NOT EXISTS chaosblade , and the second way is to start the docker database image locally.

    Notes: You must replace the follow parameters: DATASOURCE_HOST, DATASOURCE_USERNAME, DATASOURCE_PASSWORD, BOX-HOST(localHostIP:port, eg: ip:7001)

    Commands of The second way:

    docker run -d -it -p 3306:3306 \
                -e MYSQL_DATABASE=chaosblade \
                -e MYSQL_ROOT_PASSWORD=[DATASOURCE_PASSWORD] \
                --name mysql-5.6 mysql:5.6 \
                --character-set-server=utf8mb4 \
                --collation-server=utf8mb4_unicode_ci \
                --default-time_zone='+8:00' \
                --lower_case_table_names=1
    

    Run Application

    Download the chaosblade-box-1.0.1.jar and run the following command to start:

    nohup java -Duser.timezone=Asia/Shanghai -jar chaosblade-box-1.0.1.jar --spring.datasource.url="jdbc:mysql://DATASOURCE_HOST:3306/chaosblade?characterEncoding=utf8&useSSL=false" --spring.datasource.username=DATASOURCE_USERNAME --spring.datasource.password=DATASOURCE_PASSWORD --chaos.server.domain=BOX-HOST> chaosblade-box.log 2>&1 &
    

    For example:

    nohup java -Duser.timezone=Asia/Shanghai -jar chaosblade-box-1.0.1.jar --spring.datasource.url="jdbc:mysql://XXXX:3306/chaosblade?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai" --spring.datasource.username=XXXX --spring.datasource.password=XXXX --chaos.server.domain=XXXX:7001 > chaosblade-box.log 2>&1 &
    

    If jdk17, start command need add --add-opens java.base/java.lang=ALL-UNNAMED

    Access Platform

    You can use a browser to access the http://XXXX:7001 website to use the platform.

    kubernetes

    If you're deployed on kubernetes, the usage method is as follows:

    Install chaosblade-operator

    Download chaosblade-operator-1.5.0-v3.tgz package to install.

    helm install chaosblade-operator chaosblade-operator-1.5.0-v3.tgz --namespace chaosblade
    

    see more

    Run Application

    Notes: You must replace the follow parameters: DATASOURCE_PASSWORD

    helm install chaosblade-box chaosblade-box-1.0.1.tgz --namespace chaosblade --set spring.datasource.password=DATASOURCE_PASSWORD
    

    Aliyun OSS download

    chaosblade-box-1.0.1.jar chaosblade-box-1.0.1.tgz

    Source code(tar.gz)
    Source code(zip)
    chaosblade-box-1.0.1.jar(77.26 MB)
    chaosblade-box-1.0.1.tgz(2.30 KB)
  • v1.0.0(Apr 21, 2022)

    This version is a brand new platform incubated from Alibaba's commercial products, welcome to use.

    Features

    • A whole new frontend
    • Create chaos experiment;
    • Support automatic installation and uninstallation of probes;
    • Support manual install probe;
    • Support host experiment;
    • Support k8s cluster ;
    • Category management of scenarios
    • Support LitmusChaos.
    • One-click migration of data and probes to public cloud

    Host

    If you're deployed on host, the usage method is as follows:

    Create Database

    There are two ways: The first is to execute command CREATE DATABASE IF NOT EXISTS chaosblade , and the second way is to start the docker database image locally.

    Notes: You must replace the follow parameters: DATASOURCE_HOST, DATASOURCE_USERNAME, DATASOURCE_PASSWORD, BOX-HOST(localHostIP:port, eg: ip:7001)

    Commands of The second way:

    docker run -d -it -p 3306:3306 \
                -e MYSQL_DATABASE=chaosblade \
                -e MYSQL_ROOT_PASSWORD=[DATASOURCE_PASSWORD] \
                --name mysql-5.6 mysql:5.6 \
                --character-set-server=utf8mb4 \
                --collation-server=utf8mb4_unicode_ci \
                --default-time_zone='+8:00' \
                --lower_case_table_names=1
    

    Run Application

    Download the chaosblade-box-1.0.0.jar and run the following command to start:

    nohup java -Duser.timezone=Asia/Shanghai -jar chaosblade-box-1.0.0.jar --spring.datasource.url="jdbc:mysql://DATASOURCE_HOST:3306/chaosblade?characterEncoding=utf8&useSSL=false" --spring.datasource.username=DATASOURCE_USERNAME --spring.datasource.password=DATASOURCE_PASSWORD --chaos.server.domain=BOX-HOST> chaosblade-box.log 2>&1 &
    

    For example:

    nohup java -Duser.timezone=Asia/Shanghai -jar chaosblade-box-web-0.4.2.jar --spring.datasource.url="jdbc:mysql://XXXX:3306/chaosblade?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai" --spring.datasource.username=XXXX --spring.datasource.password=XXXX --chaos.server.domain=XXXX:7001 > chaosblade-box.log 2>&1 &
    

    If jdk17, start command need add --add-opens java.base/java.lang=ALL-UNNAMED

    Access Platform

    You can use a browser to access the http://XXXX:7001 website to use the platform.

    kubernetes

    If you're deployed on kubernetes, the usage method is as follows:

    Install chaosblade-operator

    Download chaosblade-operator-1.5.0-v3.tgz package to install.

    helm install chaosblade-operator chaosblade-operator-1.5.0-v3.tgz --namespace chaosblade
    

    see more

    Run Application

    Notes: You must replace the follow parameters: DATASOURCE_PASSWORD

    helm install chaosblade-box chaosblade-box-1.0.0.tgz --namespace chaosblade --set spring.datasource.password=DATASOURCE_PASSWORD
    

    Access Platform

    • Ingress
    • NodePort ...

    Historical Version Code Archived:https://github.com/chaosblade-io/chaosblade-box/releases/tag/0.4.x-main

    Aliyun OSS download

    chaosblade-box-1.0.0.jar chaosblade-box-1.0.0.tgz

    Source code(tar.gz)
    Source code(zip)
    chaosblade-box-1.0.0.jar(76.33 MB)
    chaosblade-box-1.0.0.tgz(2.30 KB)
  • v0.4.2(Sep 9, 2021)

    This version fixes known bugs and improves stability, welcome to use.

    Bug Fixes

    • Scenario list query. (#66 #68 )
    • I18n switch invalid. (chaosblade-io/chaosblade-box-fe-0.4.x#1 )
    • Home page charts.
    • Container experiment. (#70 )
    • Create a K8S experiment and initialize the namespace. (#64 )

    Host

    If you're deployed on host, the usage method is as follows:

    Create Database

    There are two ways: The first is to execute command CREATE DATABASE IF NOT EXISTS chaosblade , and the second way is to start the docker database image locally.

    Notes: You must replace the follow parameters: DATASOURCE_URL, DATASOURCE_USERNAME, DATASOURCE_PASSWORD

    Commands of The second way:

    docker run --rm -d -it \
    			-p 3306:3306 \
    			-e MYSQL_DATABASE=chaosblade \
    			-e MYSQL_ROOT_PASSWORD=DATASOURCE_PASSWORD \
    			--name mysql-5.6 mysql:5.6 \
                            --character-set-server=utf8mb4 \
                            --collation-server=utf8mb4_unicode_ci \
                            --default-time_zone='+8:00'
    

    Run Application

    Download the chaosblade-box-web-0.4.2.jar and run the following command to start:

    nohup java -Duser.timezone=Asia/Shanghai -jar chaosblade-box-web-0.4.2.jar --spring.datasource.url=DATASOURCE_URL --spring.datasource.username=DATASOURCE_USERNAME --spring.datasource.password=DATASOURCE_PASSWORD > chaosblade-box.log 2>&1 &
    

    For example:

    nohup java -Duser.timezone=Asia/Shanghai -jar chaosblade-box-web-0.4.2.jar --spring.datasource.url="jdbc:mysql://XXXX:3306/chaosblade?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai" --spring.datasource.username=XXXX --spring.datasource.password=XXXX > chaosblade-box.log 2>&1 &
    

    Access Platform

    You can use a browser to access the http://XXXX:8080 website to use the platform.

    kubernetes

    If you're deployed on kubernetes, the usage method is as follows:

    Install chaosblade-operator

    Download chaosblade-operator-0.9.0-v3.tgz package to install.

    helm install chaosblade-operator chaosblade-operator-0.9.0-v3.tgz --namespace chaosblade
    

    see more

    Run Application

    Notes: You must replace the follow parameters: DATASOURCE_PASSWORD

    helm install chaosblade-box chaosblade-box-0.4.2.tgz --set spring.datasource.password=DATASOURCE_PASSWORD --namespace chaosblade
    

    Access Platform

    • Ingress
    • NodePort ...

    Aliyun OSS download

    chaosblade-box-web-0.4.2.jar chaosblade-box-0.4.2.tgz

    Source code(tar.gz)
    Source code(zip)
    chaosblade-box-0.4.2.tgz(2.43 KB)
    chaosblade-box-web-0.4.2.jar(76.07 MB)
  • v0.4.1(May 10, 2021)

    This version is a stable version of 0.4.0, with a very simple operation experience, support for custom parameter components, walk-through retry, probe unload and other functions, welcome to use.

    Features

    • A new frontend stable version.
    • Enhanced stability.
    • Scenario parameters custom components.
    • Retry experiment.
    • Support uninstall probe.

    Bug Fixes

    • Kubernetes experiment fail.
    • Compatible with mysql 5.7+.

    Host

    If you're deployed on host, the usage method is as follows:

    Create Database

    There are two ways: The first is to execute command CREATE DATABASE IF NOT EXISTS chaosblade , and the second way is to start the docker database image locally.

    Notes: You must replace the follow parameters: DATASOURCE_URL, DATASOURCE_USERNAME, DATASOURCE_PASSWORD

    Commands of The second way:

    docker run --rm -d -it \
    			-p 3306:3306 \
    			-e MYSQL_DATABASE=chaosblade \
    			-e MYSQL_ROOT_PASSWORD=DATASOURCE_PASSWORD \
    			--name mysql-5.6 mysql:5.6 \
                            --character-set-server=utf8mb4 \
                            --collation-server=utf8mb4_unicode_ci \
                            --default-time_zone='+8:00'
    

    Run Application

    Download the chaosblade-box-web-0.4.1.jar and run the following command to start:

    nohup java -Duser.timezone=Asia/Shanghai -jar chaosblade-box-web-0.4.1.jar --spring.datasource.url=DATASOURCE_URL --spring.datasource.username=DATASOURCE_USERNAME --spring.datasource.password=DATASOURCE_PASSWORD > chaosblade-box.log 2>&1 &
    

    For example:

    nohup java -Duser.timezone=Asia/Shanghai -jar chaosblade-box-web-0.4.1.jar --spring.datasource.url="jdbc:mysql://XXXX:3306/chaosblade?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai" --spring.datasource.username=XXXX --spring.datasource.password=XXXX > chaosblade-box.log 2>&1 &
    

    Access Platform

    You can use a browser to access the http://XXXX:8080 website to use the platform.

    kubernetes

    If you're deployed on kubernetes, the usage method is as follows:

    Install chaosblade-operator

    Download chaosblade-operator-0.9.0-v3.tgz package to install.

    helm install chaosblade-operator chaosblade-operator-0.9.0-v3.tgz --namespace chaosblade
    

    see more

    Run Application

    Notes: You must replace the follow parameters: DATASOURCE_PASSWORD

    helm install chaosblade-box chaosblade-box-0.4.1.tgz --set spring.datasource.password=DATASOURCE_PASSWORD --namespace chaosblade
    

    Access Platform

    • Ingress
    • NodePort ...

    Aliyun OSS download

    chaosblade-box-web-0.4.1.jar chaosblade-box-0.4.1.tgz

    Source code(tar.gz)
    Source code(zip)
  • v0.4.0-alpha(Apr 26, 2021)

    This version provides a new UI interface, support for multiple clusters and improvement experimental details, welcome to use.

    Features

    • A new frontend.
    • Multi k8s cluster support.
    • Support SSH channel installation probe.

    Bug Fixes

    • Reinstall probe error.

    Others

    • Improvement experimental details.

    Host

    If you're deployed on host, the usage method is as follows:

    Create Database

    There are two ways: The first is to execute command CREATE DATABASE IF NOT EXISTS chaosblade , and the second way is to start the docker database image locally.

    Notes: You must replace the follow parameters: DATASOURCE_URL, DATASOURCE_USERNAME, DATASOURCE_PASSWORD

    Commands of The second way:

    docker run --rm -d -it \
    			-p 3306:3306 \
    			-e MYSQL_DATABASE=chaosblade \
    			-e MYSQL_ROOT_PASSWORD=DATASOURCE_PASSWORD \
    			--name mysql-5.6 mysql:5.6 \
                            --character-set-server=utf8mb4 \
                            --collation-server=utf8mb4_unicode_ci \
                            --default-time_zone='+8:00'
    

    Run Application

    Download the chaosblade-box-web-0.4.0.jar and run the following command to start:

    nohup java -Duser.timezone=Asia/Shanghai -jar chaosblade-box-web-0.4.0.jar --spring.datasource.url=DATASOURCE_URL --spring.datasource.username=DATASOURCE_USERNAME --spring.datasource.password=DATASOURCE_PASSWORD > chaosblade-box.log 2>&1 &
    

    For example:

    nohup java -Duser.timezone=Asia/Shanghai -jar chaosblade-box-web-0.4.0.jar --spring.datasource.url="jdbc:mysql://XXXX:3306/chaosblade?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai" --spring.datasource.username=XXXX --spring.datasource.password=XXXX > chaosblade-box.log 2>&1 &
    

    Access Platform

    You can use a browser to access the http://XXXX:8080 website to use the platform.

    kubernetes

    If you're deployed on kubernetes, the usage method is as follows:

    Install chaosblade-operator

    Download chaosblade-operator-0.9.0-v3.tgz package to install.

    helm install chaosblade-operator chaosblade-operator-0.9.0-v3.tgz --namespace chaosblade
    

    see more

    Run Application

    Notes: You must replace the follow parameters: DATASOURCE_PASSWORD

    helm install chaosblade-box chaosblade-box-0.4.0.tgz --set spring.datasource.password=DATASOURCE_PASSWORD --namespace chaosblade
    

    Access Platform

    • Ingress
    • NodePort ...

    Aliyun OSS download

    chaosblade-box-web-0.4.0.jar chaosblade-box-0.4.0.tgz

    Source code(tar.gz)
    Source code(zip)
  • v0.3.2(Mar 19, 2021)

    This version enhanced stability.

    Bug Fixes

    • Recover k8s experiment fail use zh env.

    Others

    • Enhanced stability.

    Host

    If you're deployed on host, the usage method is as follows:

    Create Database

    There are two ways: The first is to execute command CREATE DATABASE IF NOT EXISTS chaosblade , and the second way is to start the docker database image locally.

    Notes: You must replace the follow parameters: DATASOURCE_URL, DATASOURCE_USERNAME, DATASOURCE_PASSWORD

    Commands of The second way:

    docker run --rm -d -it \
    			-p 3306:3306 \
    			-e MYSQL_DATABASE=chaosblade \
    			-e MYSQL_ROOT_PASSWORD=DATASOURCE_PASSWORD \
    			--name mysql-5.6 mysql:5.6 \
                            --character-set-server=utf8mb4 \
                            --collation-server=utf8mb4_unicode_ci \
                            --default-time_zone='+8:00'
    

    Run Application

    Download the chaosblade-box-web-0.3.2.jar and run the following command to start:

    nohup java -Duser.timezone=Asia/Shanghai -jar chaosblade-box-web-0.3.2.jar --spring.datasource.url=DATASOURCE_URL --spring.datasource.username=DATASOURCE_USERNAME --spring.datasource.password=DATASOURCE_PASSWORD > chaosblade-box.log 2>&1 &
    

    For example:

    nohup java -Duser.timezone=Asia/Shanghai -jar chaosblade-box-web-0.3.2.jar --spring.datasource.url="jdbc:mysql://XXXX:3306/chaosblade?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai" --spring.datasource.username=XXXX --spring.datasource.password=XXXX > chaosblade-box.log 2>&1 &
    

    Access Platform

    You can use a browser to access the http://XXXX:8080 website to use the platform.

    kubernetes

    If you're deployed on kubernetes, the usage method is as follows:

    Install chaosblade-operator

    Download chaosblade-operator-0.9.0-v3.tgz package to install.

    helm install chaosblade-operator chaosblade-operator-0.9.0-v3.tgz --namespace chaosblade
    

    see more

    Run Application

    Notes: You must replace the follow parameters: DATASOURCE_PASSWORD

    helm install chaosblade-box chaosblade-box-0.3.2.tgz --set spring.datasource.password=DATASOURCE_PASSWORD --namespace chaosblade
    

    Access Platform

    • Ingress
    • NodePort ...

    Aliyun OSS download

    chaosblade-box-web-0.3.2.jar chaosblade-box-0.3.2.tgz

    Source code(tar.gz)
    Source code(zip)
    chaosblade-box-0.3.2.tgz(2.40 KB)
    chaosblade-box-web-0.3.2.jar(78.58 MB)
  • v0.3.1(Mar 15, 2021)

    This version enhanced stability.

    Features

    • Automatically import the litmuschaos scene.

    Bug Fixes

    • Recover k8s experiment fail.

    Others

    • Enhanced stability.
    • Change project name from chaosblade-box to chaosblade-box.

    Host

    If you're deployed on host, the usage method is as follows:

    Create Database

    There are two ways: The first is to execute command CREATE DATABASE IF NOT EXISTS chaosblade , and the second way is to start the docker database image locally.

    Notes: You must replace the follow parameters: DATASOURCE_URL, DATASOURCE_USERNAME, DATASOURCE_PASSWORD

    Commands of The second way:

    docker run --rm -d -it \
    			-p 3306:3306 \
    			-e MYSQL_DATABASE=chaosblade \
    			-e MYSQL_ROOT_PASSWORD=DATASOURCE_PASSWORD \
    			--name mysql-5.6 mysql:5.6 \
                            --character-set-server=utf8mb4 \
                            --collation-server=utf8mb4_unicode_ci \
                            --default-time_zone='+8:00'
    

    Run Application

    Download the chaosblade-box-web-0.3.1.jar and run the following command to start:

    nohup java -Duser.timezone=Asia/Shanghai -jar chaosblade-box-web-0.3.1.jar --spring.datasource.url=DATASOURCE_URL --spring.datasource.username=DATASOURCE_USERNAME --spring.datasource.password=DATASOURCE_PASSWORD > chaosblade-box.log 2>&1 &
    

    For example:

    nohup java -Duser.timezone=Asia/Shanghai -jar chaosblade-box-web-0.3.1.jar --spring.datasource.url="jdbc:mysql://XXXX:3306/chaosblade?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai" --spring.datasource.username=XXXX --spring.datasource.password=XXXX > chaosblade-box.log 2>&1 &
    

    Access Platform

    You can use a browser to access the http://XXXX:8080 website to use the platform.

    kubernetes

    If you're deployed on kubernetes, the usage method is as follows:

    Install chaosblade-operator

    Download chaosblade-operator-0.9.0-v3.tgz package to install.

    helm install chaosblade-operator chaosblade-operator-0.9.0-v3.tgz --namespace chaosblade
    

    see more

    Run Application

    Notes: You must replace the follow parameters: DATASOURCE_PASSWORD

    helm install chaosblade-box chaosblade-box-0.3.1.tgz --set spring.datasource.password=DATASOURCE_PASSWORD --namespace chaosblade
    

    Access Platform

    • Ingress
    • NodePort ...

    Aliyun OSS download

    chaosblade-box-web-0.3.1.jar chaosblade-box-0.3.1.tgz

    Source code(tar.gz)
    Source code(zip)
    chaosblade-box-0.3.1.tgz(2.41 KB)
    chaosblade-box-web-0.3.1.jar(78.57 MB)
  • v0.3.0(Mar 9, 2021)

    This version supports LitmusChaos and enhanced stability.

    Features

    • Enhanced stability.
    • Support LitmusChaos.
    • Support helm deploy.
    • Initialize the database script.

    Host

    If you're deployed on host, the usage method is as follows:

    Create Database

    There are two ways: The first is to execute command CREATE DATABASE IF NOT EXISTS chaosblade , and the second way is to start the docker database image locally.

    Notes: You must replace the follow parameters: DATASOURCE_URL, DATASOURCE_USERNAME, DATASOURCE_PASSWORD

    Commands of The second way:

    docker run --rm -d -it \
    			-p 3306:3306 \
    			-e MYSQL_DATABASE=chaosblade \
    			-e MYSQL_ROOT_PASSWORD=DATASOURCE_PASSWORD \
    			--name mysql-5.6 mysql:5.6 \
                            --character-set-server=utf8mb4 \
                            --collation-server=utf8mb4_unicode_ci \
                            --default-time_zone='+8:00'
    

    Run Application

    Download the chaosbox-web-0.3.0.jar and run the following command to start:

    nohup java -Duser.timezone=Asia/Shanghai -jar chaosbox-web-0.3.0.jar --spring.datasource.url=DATASOURCE_URL --spring.datasource.username=DATASOURCE_USERNAME --spring.datasource.password=DATASOURCE_PASSWORD > chaosbox.log 2>&1 &
    

    For example:

    nohup java -Duser.timezone=Asia/Shanghai -jar chaosbox-web-0.3.0.jar --spring.datasource.url="jdbc:mysql://XXXX:3306/chaosblade?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai" --spring.datasource.username=XXXX --spring.datasource.password=XXXX > chaosbox.log 2>&1 &
    

    Access Platform

    You can use a browser to access the http://XXXX:8080 website to use the platform.

    kubernetes

    If you're deployed on kubernetes, the usage method is as follows:

    Install chaosblade-operator

    Download chaosblade-operator-0.9.0-v3.tgz package to install.

    helm install chaosblade-operator chaosblade-operator-0.9.0-v3.tgz --namespace chaosblade
    

    see more

    Run Application

    Notes: You must replace the follow parameters: DATASOURCE_PASSWORD

    helm install chaosbox chaosbox-0.3.0.tgz --set spring.datasource.password=DATASOURCE_PASSWORD --namespace chaosblade
    

    Access Platform

    • Ingress
    • NodePort ...

    Aliyun OSS download

    chaosbox-web-0.3.0.jar chaosbox-0.3.0.tgz

    Source code(tar.gz)
    Source code(zip)
    chaosbox-0.3.0.tgz(2.39 KB)
    chaosbox-web-0.3.0.jar(78.56 MB)
  • v0.2.0(Mar 2, 2021)

    The long-awaited Kubernetes support version is here.

    Features

    • Enhanced stability;
    • Support kubernetes.

    Host

    If you're deployed on host, the usage method is as follows:

    Create Database

    There are two ways: The first is to execute the chaos-platform.sql file, and the second way is to start the docker database image locally.

    Notes: You must replace the follow parameters: DATASOURCE_URL, DATASOURCE_USERNAME, DATASOURCE_PASSWORD

    Commands of The second way:

    git clone https://github.com/chaosblade-io/chaos-platform.git
    cd chaos-platform
    make mysql mysql.password=DATASOURCE_PASSWORD
    

    Run Application

    Download the chaos-platform-web-0.2.0.jar and run the following command to start:

    nohup java -Duser.timezone=Asia/Shanghai -jar chaos-platform-web-0.2.0.jar --spring.datasource.url=DATASOURCE_URL --spring.datasource.username=DATASOURCE_USERNAME --spring.datasource.password=DATASOURCE_PASSWORD > chaos-platform.log 2>&1 &
    

    For example:

    nohup java -Duser.timezone=Asia/Shanghai -jar chaos-platform-web-0.2.0.jar --spring.datasource.url="jdbc:mysql://XXXX:3306/chaosblade?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai" --spring.datasource.username=XXXX --spring.datasource.password=XXXX > chaos-platform.log 2>&1 &
    

    Access Platform

    You can use a browser to access the http://XXXX:8080 website to use the platform.

    kubernetes

    If you're deployed on kubernetes, the usage method is as follows:

    Install chaosblade-operator

    Download chaosblade-operator-0.9.0-v3.tgz package to install.

    helm install chaosblade-operator chaosblade-operator-0.9.0-v3.tgz --namespace chaosblade
    

    see more

    Create Database

    kubectl apply -f https://chaosblade.oss-cn-hangzhou.aliyuncs.com/platform/release/0.2.0/chaos_mysql_deployment.yaml
    git clone https://github.com/chaosblade-io/chaos-platform.git
    kubectl exec -i chaos-mysql-XXXXXX-XXXX -- mysql -uroot -pXXXXXX < chaos-platform/sql/chaos-platform.sql
    

    Run Application

    kubectl apply -f https://chaosblade.oss-cn-hangzhou.aliyuncs.com/platform/release/0.2.0/chaos_platform_deployment.yaml

    Aliyun OSS download

    chaos-platform-web-0.2.0.jar chaos-platform.sql

    Source code(tar.gz)
    Source code(zip)
    chaos-platform-web-0.2.0.jar(78.48 MB)
    chaos-platform.sql(24.28 KB)
  • v0.1.0(Feb 24, 2021)

    chaos-platform a chaos engineering platform with rich scenes, ChaosBlade is currently supported to perform chaos experiments, other tools will be added in future releases.

    Features

    • Create chaos experiment;
    • Support Ansible channel install probe;
    • Support manual install probe;
    • Support host experiment;
    • Support prometheus metric;
    • Import the drill scenario through the tool marketplace;
    • Category management of scenarios

    The usage method is as follows:

    Create Database

    There are two ways: The first is to execute the chaos-platform.sql file, and the second way is to start the docker database image locally.

    Notes: You must replace the follow parameters: DATASOURCE_URL, DATASOURCE_USERNAME, DATASOURCE_PASSWORD

    Commands of The second way:

    git clone https://github.com/chaosblade-io/chaos-platform.git
    cd chaos-platform
    make mysql mysql.password=DATASOURCE_PASSWORD
    

    Run Application

    Download the chaos-platform-web-0.1.0.jar and run the following command to start:

    nohup java -Duser.timezone=Asia/Shanghai -jar chaos-platform-web-0.1.0.jar --spring.datasource.url=DATASOURCE_URL --spring.datasource.username=DATASOURCE_USERNAME --spring.datasource.password=DATASOURCE_PASSWORD > chaos-platform.log 2>&1 &
    

    For example:

    nohup java -Duser.timezone=Asia/Shanghai -jar chaos-platform-web-0.1.0.jar --spring.datasource.url="jdbc:mysql://XXXX:3306/chaosblade?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai" --spring.datasource.username=XXXX --spring.datasource.password=XXXX > chaos-platform.log 2>&1 &
    

    Access Platform

    You can use a browser to access the http://XXXX:8080 website to use the platform.

    Aliyun OSS download

    chaos-platform-web-0.1.0.jar chaos-platform.sql

    Source code(tar.gz)
    Source code(zip)
    chaos-platform-web-0.1.0.jar(78.40 MB)
    chaos-platform.sql(24.28 KB)
  • v0.0.1-alpha(Feb 9, 2021)

    The usage method is as follows:

    Create Database

    There are two ways: The first is to execute the chaos-platform.sql file, and the second way is to start the docker database image locally.

    Notes: You must replace the follow parameters: DATASOURCE_URL, DATASOURCE_USERNAME, DATASOURCE_PASSWORD

    Commands of The second way:

    git clone https://github.com/chaosblade-io/chaos-platform.git
    cd chaos-platform
    make mysql mysql.password=DATASOURCE_PASSWORD
    

    Run Application

    Download the chaos-platform-web-0.0.1-alpha.jar and run the following command to start:

    nohup java -Duser.timezone=Asia/Shanghai -jar chaos-platform-web-0.0.1-alpha.jar --spring.datasource.url=DATASOURCE_URL --spring.datasource.username=DATASOURCE_USERNAME --spring.datasource.password=DATASOURCE_PASSWORD > chaos-platform.log 2>&1 &
    

    For example:

    nohup java -Duser.timezone=Asia/Shanghai -jar chaos-platform-web-0.0.1-alpha.jar --spring.datasource.url="jdbc:mysql://XXXX:3306/chaosblade?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai" --spring.datasource.username=XXXX --spring.datasource.password=XXXX > chaos-platform.log 2>&1 &
    

    Access Platform

    You can use a browser to access the http://XXXX:8080 website to use the platform.

    Aliyun OSS download

    chaos-platform-web-0.0.1-alpha.jar chaos-platform.sql

    Source code(tar.gz)
    Source code(zip)
    chaos-platform-web-0.0.1-alpha.jar(41.79 MB)
    chaos-platform.sql(25.09 KB)
Owner
null
Docking framework for JavaFX platform

Docking framework for JavaFX platform AnchorFX is a gratis and open source library for JavaFX to create graphical interfaces with docking features Anc

Alessio Vinerbi 197 Oct 15, 2022
This repository contains all java related sources of the Dolphin Platform.

Dolphin Platform This repository contains all Java related sources of the Dolphin Platform. Clients for other languages can be found in seperate repos

IMTF 74 Sep 5, 2022
A collection of tools and libraries for easier development on the JavaFX platform!

This project is archived I do not realistically have the time to take care of this project, unfortunately. It originally was built along a Twitter cli

Tristan Deloche 100 Dec 13, 2022
The backend service for user management module of EdgeGallery platform.

User Management 用户管理 User Management 用户管理模块,为EdgeGallery提供了基本的用户增删改查功能,定义了用户的角色与权限,并且包含了两个关键特性:手机验证和单点登录(Single Sign On)能力。 角色定义 租户 系统内的普通用户,可以创建项目/上传

EdgeGallery 23 Dec 25, 2021
The backend service for appstore module of EdgeGallery platform

AppStore-be AppStore是开发者发布和上线App应用的市场,上传App包后首先要通过测试,只有检测通过的应用才能够正式上线。AppStore分为前后台两个部分,AppStore-be是后台部分,提供接口调用, AppStore-fe是前台部分,提供界面展示。有关AppStore架构的

EdgeGallery 24 Oct 21, 2022
The backend service for developer module of EdgeGallery platform

Developer-be 开发者平台 开发者平台是为App开发者提供开发工具/测试环境/上线部署的平台,分为前后台两个部分,developer-be是后台部分,提供接口调用,developer-fe是前台部分,提供界面展示。有关开发者平台的架构的详细介绍请访问我们的wiki社区 特性介绍 为了方便开

EdgeGallery 24 Jan 11, 2022
In the Developer - Platform of EdgeGallery, we have provided a lot of useful APIs, in this project, try to simulates APIs of the competence center to help develoers test API request and response online.

api-emulator api-emulator模块,为EdgeGallery提供了基本能力的模拟api,开发者可以调用该模拟器提供的api,不需要真实部署就可以查看平台已有的能力。目前该api-emulator集成了两种平台能力:位置服务和人脸识别能力。 平台能力简介 位置服务 提供用户位置,E

EdgeGallery 21 Dec 25, 2021
EdgeGallery test platform

edgeT Edge Gallery Test Platform Introduction A micro-services to manage, execute, run test cases (developed in different run-time like java, python,

EdgeGallery 23 Sep 14, 2021
A cross-platform interface for FutureRestore, written in Java with Swing

Futurerestore GUI A GUI implementation for FutureRestore written in Java. Installation Download from releases. No Java download required (it's bundled

null 428 Dec 30, 2022
Dashjoin Platform

Dashjoin Open Source & Cloud Native Low Code Development Platform For anyone who is planning a development project, faces a tight schedule, needs to p

null 45 Dec 21, 2022
An image annotation desktop-application written in Java using the JavaFX application platform.

This is an image annotation desktop-application written in Java using the JavaFX application platform. It allows you to create bounding box annotations using rectangular and polygonal shapes. Annotations can be imported and saved from/to JSON files, Pascal VOC format XML-files or YOLO format TXT-files.

Markus Fleischhacker 31 Dec 4, 2022
Chaos engineering tool for simulating real-world distributed system failures

Proxy for simulating real-world distributed system failures to improve resilience in your applications. Introduction Muxy is a proxy that mucks with y

Matt Fellows 811 Dec 25, 2022
Tools for keeping your cloud operating in top form. Chaos Monkey is a resiliency tool that helps applications tolerate random instance failures.

PROJECT STATUS: RETIRED The Simian Army project is no longer actively maintained. Some of the Simian Army functionality has been moved to other Netfli

Netflix, Inc. 7.9k Jan 6, 2023
Pandaemonium-Fabric - Unleash the chaos.

Pandaemonium Unleash the chaos. Pandaemonium is a Fabric-based mod for Minecraft. I am creating this primarily to learn Fabric modding and Java. Cavea

Chris Shoeman 1 Jan 6, 2022
Sniffy - interactive profiler, testing and chaos engineering tool for Java

Sniffy Sniffy is a Java profiler which shows the results directly in your browser. It also brings profiling to your unit (or rather component) tests a

Sniffy 139 Dec 23, 2022
To quickly integrate your applications into the EdgeGallery platform, we provide the toolchain project to help developers quickly modify code and migrate applications to the platform.

Toolchain 工具链 工具链是MEC Developer开发者平台中的一个重要特性,当x86平台的App想要上车ARM平台时,底层的代码不可避免的需要进行修改或重写。 App提供者可以通过MEC Developer开发者平台中集成的工具链进行源代码分析,定位需要修改的源代码并根据指导意见进行修

EdgeGallery 19 Jan 7, 2022
Business Application Platform - no-code/low-code platform to build business applications

Orienteer What is Orienteer Orienteer is Business Application Platform: Easy creation of business applications Extendable to fit your needs Dynamic da

Orienteer 189 Dec 6, 2022
Infinispan is an open source data grid platform and highly scalable NoSQL cloud data store.

The Infinispan project Infinispan is an open source (under the Apache License, v2.0) data grid platform. For more information on Infinispan, including

Infinispan 1k Dec 31, 2022
JHipster is a development platform to quickly generate, develop, & deploy modern web applications & microservice architectures.

Greetings, Java Hipster! Full documentation and information is available on our website at https://www.jhipster.tech/ Please read our guidelines befor

JHipster 20.2k Jan 5, 2023