<dependency>
<groupId>com.netflix.simianarmy</groupId>
<artifactId>chaosmonkey-core</artifactId>
<version>0.11.0</version>
</dependency>
implementation 'com.netflix.simianarmy:chaosmonkey-core:0.11.0'
chaos.enabled=true
chaos.scheduler.frequency=1 hour
chaos.scheduler.lead.time=10 minutes
import com.netflix.simianarmy.chaos.ChaosMonkey;
import com.netflix.simianarmy.chaos.ChaosType;
import com.netflix.simianarmy.chaos.ChaosContainer;
import com.netflix.simianarmy.chaos.ChaosResult;
import com.netflix.simianarmy.client.gcloud.GoogleComputeEngineClient;
import com.netflix.simianarmy.chaos.ChaosInstanceSelector;
public class MyChaosMonkey implements ChaosMonkey {
private final ChaosType chaosType;
private final ChaosContainer chaosContainer;
private final GoogleComputeEngineClient computeClient;
private final ChaosInstanceSelector instanceSelector;
public MyChaosMonkey(ChaosType chaosType, ChaosContainer chaosContainer,
GoogleComputeEngineClient computeClient, ChaosInstanceSelector instanceSelector) {
this.chaosType = chaosType;
this.chaosContainer = chaosContainer;
this.computeClient = computeClient;
this.instanceSelector = instanceSelector;
}
@Override
public ChaosResult apply() {
// ...
}
}
import com.netflix.simianarmy.MonkeyRunner;
public class MyApp {
public static void main(String[] args) {
ChaosMonkey chaosMonkey = new MyChaosMonkey(...);
MonkeyRunner runner = MonkeyRunner.getInstance();
runner.register(chaosMonkey);
runner.start();
}
}