天天看点

注意事项-固定的路径

注意1:blade的部署路径,包含的文件

[email protected]:/opt/chaosblade# pwd

/opt/chaosblade

[email protected]:/opt/chaosblade# tree

.

├── bin

│ ├── chaos_addfile

│ ├── chaos_appendfile

│ ├── chaos_burncpu

│ ├── chaos_burnio

│ ├── chaos_burnmem

│ ├── chaos_changedns

│ ├── chaos_chmodfile

│ ├── chaos_deletefile

│ ├── chaos_dropnetwork

│ ├── chaos_filldisk

│ ├── chaos_fuse

│ ├── chaos_killprocess

│ ├── chaos_movefile

│ ├── chaos_occupynetwork

│ ├── chaos_os

│ ├── chaos_stopprocess

│ ├── chaos_stracedelay

│ ├── chaos_straceerror

│ ├── chaos_tcnetwork

│ └── strace

├── blade

├── chaosblade.dat

├── lib

│ ├── cplus

│ │ ├── chaosblade-exec-cplus

│ │ └── script

│ │ ├── shell_break_and_return_attach.sh

│ │ ├── shell_break_and_return.sh

│ │ ├── shell_check_process_duplicate.sh

│ │ ├── shell_check_process_id.sh

│ │ ├── shell_initialization.sh

│ │ ├── shell_modify_variable_attach.sh

│ │ ├── shell_modify_variable.sh

│ │ ├── shell_remove_process.sh

│ │ ├── shell_response_delay_attach.sh

│ │ └── shell_response_delay.sh

│ └── sandbox

│ ├── bin

│ │ └── sandbox.sh

│ ├── cfg

│ │ ├── sandbox-logback.xml

│ │ ├── sandbox.properties

│ │ └── version

│ ├── example

│ │ └── sandbox-debug-module.jar

│ ├── install-local.sh

│ ├── lib

│ │ ├── sandbox-agent.jar

│ │ ├── sandbox-core.jar

│ │ └── sandbox-spy.jar

│ ├── module

│ │ ├── chaosblade-java-agent-1.2.0.jar

│ │ └── sandbox-mgr-module.jar

│ ├── provider

│ │ └── sandbox-mgr-provider.jar

│ ├── sandbox-module

│ └── tools.jar

├── logs

│ ├── chaosblade.log

│ └── chaos_burnio.log

└── yaml

├── chaosblade-check-spec-1.2.0.yaml

├── chaosblade-cplus-spec.yaml

├── chaosblade-docker-spec-1.2.0.yaml

├── chaosblade-jvm-spec-1.2.0.yaml

├── chaosblade-k8s-spec-1.2.0.yaml

└── chaosblade-os-spec-1.2.0.yaml

14 directories, 54 files

注意2:源码chaosblade-exec-jvm里的插件

plugins/插件.jar,具体的打包路径请参照"(2)MySQL案例-结合应用"这篇文章。

注意3:源码blade里写了module的路径 DefaultUri

在blade和jvm-sandbox,chaosblade-exec-jvm 必须放在同一台机器上,并且按固定目录来放。在代码里写死了路径。

blade/jvm/executor.go里的

const DefaultUri = “sandbox/default/module/http/chaosblade”

func (e *Executor) sandboxUrl(port, requestPath string) string {

return fmt.Sprintf(“http://%s:%s/%s/%s”, “127.0.0.1”, port, DefaultUri, requestPath)

}

//也就是说,所有的插件都只能是写在chaosblade-exec-jvm的plugins里,因为这里的模块id是固定的chaosblade。

继续阅读