Simple chaos monkey tests with http api .
Basic useful feature list:
- Command Line interface
- HTTP API Interface to launch monkeys remote inside container.
- Use supervisord to control monkey execution.
- Send Logs to remote logstash server.
Monkeys avaliable:
- Loss - Generate packet loss
- Latency - Generate network delay.
- Corrupt - Corrupt network packets.
- Kill - kill process by name.
docker run -i -d --cap-add=NET_ADMIN \
--name ape-cage-v2 \
-p 6666:8081 \
-p 8080:8080 \
-e LOGSTASH_SERVER='<LOGSTASH-IP-ADDR>' \
-e LOGSTASH_PORT='6666' \
-e LOGSTASH_PROTO='tcp' \
-e APE_AUTH=<BASE64 user:pass> \
carlozleite/ape-cage
curl -H "Authorization: Basic <Base64-Basic-Auth>" http://127.0.0.1:6666/chaos/loss
curl -H "Authorization: Basic <Base64-Basic-Auth>" http://127.0.0.1:6666/chaos/loss?ape_config=JOB_ID:TEST_19282752,TMOUT:20,LMIN:30,LMAX:50
Monkey test ID.
Timeout in seconds
Network Interface name - Default eth0
Minimum percentage of packet loss
Maximum percentage of packet loss
curl -H "Authorization: Basic <Base64-Basic-Auth>" http://127.0.0.1:6666/chaos/latency
curl -H "Authorization: Basic <Base64-Basic-Auth>" http://127.0.0.1:6666/chaos/latency?ape_config=JOB_ID:TEST_19282752,TMOUT:20,DMIN:30,DMAX:50,IFACE:eth0
Monkey test ID.
Timeout in seconds
Network Interface name - Default eth0
Minimum delay in milliseconds
Maximum delay in milliseconds
curl -H "Authorization: Basic <Base64-Basic-Auth>" http://127.0.0.1:6666/chaos/corrupt
curl -H "Authorization: Basic <Base64-Basic-Auth>" http://127.0.0.1:6666/chaos/corrupt?ape_config=JOB_ID:TEST_19282752,TMOUT:20,CPERC:50,IFACE:eth0
Monkey test ID.
Timeout in seconds
Network Interface name - Default eth0
Percentage of network corruption.
curl -H "Authorization: Basic <Base64-Basic-Auth>" http://127.0.0.1:6666/chaos/kill
curl -H "Authorization: Basic <Base64-Basic-Auth>" http://127.0.0.1:6666/chaos/kill?ape_config=JOB_ID:TEST_19282752,PROC:java
Monkey test ID.
Process name to kill.
docker exec -it <container> /ape-cage/apectl
- Set HTTP authentication. - OK
- Improve background process control - OK
- Add mora monkeys