Install Agent on Linux
LAST UPDATED: FEB 14, 2025
Configuring and Running D3 Agent and D3 Executor
On the Proxy Agent, we will need to run both the d3executor and the d3agent containers.
Create and edit a
docker-compose.yml
file and include the following content:YAMLversion: services: d3agent: image: "d3soar.azurecr.io/d3prod/d3agent:<D3 vSOC version>" restart: always environment: - REMOTE_SERVER_URL=<D3 vSOC URL> - PROXY_IDENTITY=<D3 vSOC Agent Security Token> - PYTHON_REMOTE_URL=http://<Docker Host IP>:<Docker Host Port>/ - PYTHON_REMOTE_GUID=7e036a86dbee40d9913c3794e779eae4 - SERVICE_DISPLAY_NAME=<Proxy Agent Display Name> - DOCKER_GID=<Docker Group ID> - DOCKER_PORT=<Docker Host Port> volumes: - /var/run/docker.sock:/var/run/docker.sock d3executor: image: "d3soar.azurecr.io/d3prod/d3executor:<D3 vSOC version>" ports: - "<Docker Host Port>:9090" restart: always environment: - EXECUTOR_GUID=7e036a86dbee40d9913c3794e779eae4
D3 VSOC VERSION – Replace <D3 vSOC version>
with your vSOC version, which can be found on the D3 login page. For example, if you are using D3 vSOC release version 16.1.80.0, replace the <D3 vSOC version>
placeholders within the d3agent and d3executor services to 16.1.80.0.
D3 VSOC URL – This the the vSOC URL, starting with https or http, and ending with /VSOC.
D3 VSOC AGENT SECURITY TOKEN – The D3 vSOC Agent Security Token
can be generated by following these steps:
-20250123-203919.png?inst-v=47a0ee82-e45e-423f-99f2-32e113fdefd6)
a. Navigate to the the Configuration navigational tab.
b. Click on the Agent Management menu item on the left sidebar
c. Click on the + Generate Security Token button.
d. Select your site from the dropdown menu.
e. Click on the Generate Key button.
f. Click on the Copy button, then paste the security token into the docker-compose.yml
file.
DOCKER HOST IP – The <Docker Host IP>
refers to the private IP address of the Linux machine hosting Docker. You can find this address using the command ip addr show on Linux. Ensure that the port is accessible and not being used by any other program.
DOCKER HOST PORT – The <Docker Host Port>
specified in the PYTHON_REMOTE_URL
environment variable of the d3agent
service must match the <Docker Host Port>
specified in the ports
mapping of the d3executor
service. This ensures proper communication between the d3agent
and d3executor
services.
PROXY AGENT DISPLAY NAME – Input a descriptive name for this Agent, it displayed on vSOC.
DOCKER GROUP ID – Run the following command to obtain the <Docker Group ID>
:
getent group docker | cut -d: -f3
-20241017-035833.png?inst-v=47a0ee82-e45e-423f-99f2-32e113fdefd6)
Open a terminal and navigate to the directory where the
docker-compose.yml
file. Once there, execute the following command:BASHsudo docker compose up -d
Upon successfully bringing up the Docker Compose services, your terminal will display outputs similar to the following:
Confirm the presence of your new agent.
Navigate to the Configuration page.
Click on the Agent Management module.
Verify that the Agent Name matches the one specified in the docker-compose.yml file.
Check the agent (connection) status and version. The agent version should match your D3 vSOC version.
(Optional) Enter a description for your agent.
Click on the Save button.
(Optional) Troubleshoot via Docker Compose log commands.
DOCKER COMPOSE LOGS To view a complete list of Docker Compose service logs, both logs for the d3executor and d3agent services, run the following command:
BASHsudo docker compose logs
Ideally, only d3executor logs display—this confirms successful agent setup.
D3EXECUTOR LOGS To view a list of d3executor service logs, run the following command:BASHsudo docker compose logs d3executor
D3AGENT LOGS To view a list of d3agent service logs, run the following command:
BASHsudo docker compose logs d3agent
Automating D3 Agent and D3 Executor Deployment
The create_d3agent_file.sh Bash script automates the deployment of two necessary containers: d3agent
and d3executor
. It validates prerequisites, ensures Docker is installed and running, and authenticates with Google Cloud Container Registry using a configuration file. The script dynamically generates a Docker Compose file for the containers, prompts the user to start them, performs iterative health checks, and provides deployment success feedback or error diagnostics.
READER NOTE
Deployment automation for the D3 Agent and D3 Executor is supported beginning with D3 vSOC version 16.8.161.
Procedure
Contact us to obtain the
service_account_d3soar.json
file required for authentication with D3's container registry.
Place the
service_account_d3soar.json
file in the same directory ascreate_d3agent_file.sh
andvars.conf
.
Set up the
vars.conf
configuration file as follows:
vsoc_url=<VSOC URL>
security_token=<Agent Token Generated in the UI>
-20250103-014018.png?inst-v=47a0ee82-e45e-423f-99f2-32e113fdefd6)
-20250103-013419.png?inst-v=47a0ee82-e45e-423f-99f2-32e113fdefd6)
Execute the create_d3agent_file.sh script by running the following two commands:
BASHchmod +x create_d3agent_file.sh ./create_d3agent_file.sh