Quickstart - Docker - Hosted
🐳 Docker
🗄️ Elastic Cloud Hosted
Learn how to set up the EDOT Collector and EDOT SDKs in a Docker environment with Elastic Cloud Hosted to collect host metrics, logs and application traces.
Prerequisites
Make sure the following requirements are present:
- Docker installed and running.
- An Elastic Cloud deployment.
Instructions
Follow these steps to deploy the EDOT Collector and EDOT OTel SDKs in Docker with ECH.
-
Create the
otel-collector-config.yml
file with your EDOT Collector configuration. Refer to the configuration reference. -
Retrieve the Elasticsearch Endpoint and the Elastic API Key for your Elastic Cloud deployment by following these instructions.
-
Create an
.env
file with the following content. Replace the placeholder values with your Elastic Cloud credentials:HOST_FILESYSTEM=/ DOCKER_SOCK=/var/run/docker.sock ELASTIC_AGENT_OTEL=true COLLECTOR_CONTRIB_IMAGE=elastic/elastic-agent:9.0.0 ELASTIC_API_KEY=<your_api_key_here> ELASTIC_ENDPOINT=<your_endpoint_here> OTEL_COLLECTOR_CONFIG=/path/to/otel-collector-config.yml
-
Create a
compose.yml
file with the following content:services: otel-collector: image: ${COLLECTOR_CONTRIB_IMAGE} container_name: otel-collector deploy: resources: limits: memory: 1.5G restart: unless-stopped command: ["--config", "/etc/otelcol-config.yml" ] network_mode: host user: 0:0 volumes: - ${HOST_FILESYSTEM}:/hostfs:ro - ${DOCKER_SOCK}:/var/run/docker.sock:ro - ${OTEL_COLLECTOR_CONFIG}:/etc/otelcol-config.yml environment: - HOST_FILESYSTEM - ELASTIC_API_KEY - ELASTIC_ENDPOINT - ELASTIC_AGENT_OTEL - STORAGE_DIR=/usr/share/elastic-agent
-
Start the Collector by running:
docker compose up -d
-
(Optional) Instrument your applications
To collect telemetry from applications running on the host where you installed the EDOT Collector, instrument your target applications following the setup instructions for the corresponding language:
Configure your SDKs to send the data to the local EDOT Collector using OTLP/gRPC (
http://localhost:4317
) or OTLP/HTTP (http://localhost:4318
).