️⚙️ Adding/Removing Engines
This guide covers how to add and remove engines to and from Anteon Self-Hosted.
🔧 Adding a New Engine
The Anteon Engine is responsible for generating load to the target URL. You can add multiple engines to scale your load testing capabilities.
The Anteon Self Hosted includes a default engine out of the box. To integrate additional engines, simply run a Docker container for each new engine. These engine containers will automatically register with the service and become available for use. Before adding new engines, ensure that you have enabled the distributed mode by clicking the Unlock the Distributed Mode
button in the dashboard.
In case you have modified the default values like InfluxDB password in the .env
file, utilize the --env
flag in the docker run command to establish the necessary environment variables.
Make sure the new engine server can access the service server. Use the SERVICE_ADDRESS
environment variable to specify the service server address where the install.sh
script was executed.
The engine server must connect to the following ports on the SERVICE_ADDRESS
:
9901
: Hammer Manager service. The service server utilizes this port to register the engine.6672
: RabbitMQ server. The engine server connects to this port to send and receive messages to and from the service server.9086
: InfluxDB server. The engine server accesses this port to transmit metrics to the backend.8333
: Object storage server. The engine server uses this port to retrieve the object files like CSV and multipart files.
The NAME
environment variable is used to specify the name of the engine container. You can change this value to whatever you want. It is also used in the Remove New Engine section for removing the engine container.
Example 1: Adding the engine to the same server
NAME=anteon_hammer_1
docker run --name $NAME -dit \
--network anteon \
--restart always \
ddosify/selfhosted_hammer:1.4.3
Example 2: Adding the engine to a different server
Set SERVICE_ADDRESS
to the IP address of the service server. Set IP_ADDRESS
to the IP address of the engine server.
# Make sure to set the following environment variables
SERVICE_ADDRESS=SERVICE_IP
IP_ADDRESS=ENGINE_IP
NAME=anteon_hammer_1
docker run --name $NAME -dit \
--env SERVICE_ADDRESS=$SERVICE_ADDRESS \
--env IP_ADDRESS=$IP_ADDRESS \
--restart always \
ddosify/selfhosted_hammer:1.4.3
You should see mq_waiting_new_job
log in the engine container logs. This means that the engine is waiting for a job from the service server. After the engine is added, you can see it in the Engines page in the dashboard.
Example 3: Adding the engine to Kubernetes
You can deploy the engine on Kubernetes using the Helm chart. Please check the Helm chart documentation for more information.
🧹 Remove New Engine
If you added new engines, you can remove them by running the following command. Change the docker container name anteon_hammer_1
to the name of the engine you added.
docker rm -f anteon_hammer_1