Skip to main content

Datadog

ToolJet supports OpenTelemetry (OTel) based observability. When using Datadog, ToolJet does not ship a Datadog Agent by default. You must run a Datadog Agent alongside ToolJet and configure ToolJet to export telemetry to it. This guide walks through setting up observability using Datadog.

ToolJet doesn't automatically send telemetry to Datadog, instead we need a Datadog agent as a middleman to forward the data to datadog. It is a 3 step process:

  • ToolJet emits traces and metrics using OpenTelemetry
  • The Datadog Agent receives OTLP data locally
  • The agent forwards data securely to Datadog
Datadog observability setup

Setting Up Obervability Using Datadog

Step 1: Run a Datadog Agent

info

For an in-depth guide on running the Datadog Agent, refer to the official Datadog documentation.

ToolJet exports observability data using OpenTelemetry and requires a Datadog Agent to be running and accessible.

  • If you are not using Docker Compose to run ToolJet, run the Datadog Agent using any supported method (Docker, systemd, Kubernetes) as described in the Datadog documentation.
  • If you are running ToolJet using Docker Compose, you can add the Datadog Agent as a service in your docker-compose.yml.
dd-agent:
image: gcr.io/datadoghq/agent:7
container_name: dd-agent
restart: unless-stopped

ports:
- "4317:4317" # OTLP gRPC
- "4318:4318" # OTLP HTTP
- "8126:8126" # Datadog APM (optional)

environment:
DD_SITE: us5.datadoghq.com
DD_API_KEY: <your-datadog-api-key>

# Enable OTLP receivers
DD_OTLP_CONFIG_RECEIVER_PROTOCOLS_HTTP_ENDPOINT: 0.0.0.0:4318
DD_OTLP_CONFIG_RECEIVER_PROTOCOLS_GRPC_ENDPOINT: 0.0.0.0:4317

# Recommended
DD_APM_ENABLED: "true"
DD_LOG_LEVEL: info

volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- /proc:/host/proc:ro
- /sys/fs/cgroup:/host/sys/fs/cgroup:ro

Step 2: Set Up Environment Variables in ToolJet

Set up the following environment variables in the .env file while running ToolJet:

# Enable OpenTelemetry in ToolJet
ENABLE_OTEL=true

# Service name as it appears in Datadog APM
OTEL_SERVICE_NAME=tooljet

# Datadog Agent OTLP endpoints
# Use the Datadog Agent hostname reachable from ToolJet
OTEL_EXPORTER_OTLP_TRACES=http://dd-agent:4318/v1/traces
OTEL_EXPORTER_OTLP_METRICS=http://dd-agent:4318/v1/metrics

# Optional: enable verbose OpenTelemetry logs for troubleshooting
OTEL_LOG_LEVEL=debug

Datadog Agent Hostname

Deployment SetupAgent Hostname to Use
ToolJet and Datadog Agent via Docker Composedd-agent
Datadog Agent running on the same hostlocalhost
Datadog Agent running on a remote machine<agent-hostname-or-ip>
note

Only the Datadog Agent hostname changes based on your deployment. All other environment variables remain the same.

Your ToolJet instance will now begin streaming traces and metrics to Datadog, which can be viewed in Datadog APM.