Quickstart for Docker on Elastic Cloud Serverless
Elastic Cloud Serverless projects are autoscaled environments, fully managed by Elastic and available on Elastic Cloud. Availability This functionality is generally available and ready for production usage. The Elastic Stack includes Elastic's core products such as Elasticsearch, Kibana, Logstash, and Beats. Availability This functionality is generally available and ready for production usage. Unless stated otherwise on the page, this functionality is available when your Elastic Stack is deployed on Elastic Cloud Hosted, Elastic Cloud Enterprise, Elastic Cloud on Kubernetes, and self-managed environments. This documentation corresponds to the latest patch available for each minor version. If you're not using the latest patch, check the release notes for changes. Elastic Agent can run in OpenTelemetry mode to retrieve traces, metrics, and logs from your infrastructure and applications, and forward them to Elastic Observability. Availability This functionality is generally available and ready for production usage. This documentation corresponds to the latest patch available for each minor version. If you're not using the latest patch, check the release notes for changes.
Serverless Observability
Generally available
Stack
Generally available
Elastic Agent
Generally available
Learn how to set up the Elastic Agent and EDOT SDKs in a Docker environment with Elastic Cloud Serverless to collect host metrics, logs, and application traces.
The fastest way to get started is the Add data screen in Elastic Observability. It generates install commands with your endpoint and API key already included.
- Open Elastic Observability.
- Go to Add data.
- Select what you want to monitor.
- Follow the instructions.
Follow these steps to deploy the Elastic Agent and EDOT SDKs in Docker with Elastic Cloud Serverless.
-
Create the config file
Create a
otel-collector-config.ymlfile with your Elastic Agent configuration. For more details, refer to the configuration reference for Elastic Cloud Managed OTLP Endpoint. -
Retrieve your settings
Follow these steps to retrieve the managed OTLP endpoint URL for your Serverless project:
- In Elastic Cloud Serverless, open your Observability project.
- Go to Add data → Application → OpenTelemetry.
- Select Managed OTLP Endpoint in the second step.
- Copy the OTLP endpoint configuration value.
- Select Create API Key to generate an API key.
-
Create the .env file
Create a
.envfile with the following content, replacing the placeholder values with your actual Elastic Cloud credentials:Shell HOST_FILESYSTEM=/ DOCKER_SOCK=/var/run/docker.sock ELASTIC_AGENT_OTEL=true COLLECTOR_CONTRIB_IMAGE=elastic/elastic-agent:9.5.6 ELASTIC_API_KEY=<your_api_key_here> ELASTIC_OTLP_ENDPOINT=<your_endpoint_here> OTEL_COLLECTOR_CONFIG=/path/to/otel-collector-config.yml -
Create the compose file
Create a
compose.ymlfile with the following content:YAML 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_AGENT_OTEL - ELASTIC_API_KEY - ELASTIC_OTLP_ENDPOINT - STORAGE_DIR=/usr/share/elastic-agent -
Start the Collector
Start the collector by running:
Shell docker compose up -d -
(Optional) Instrument your applications
To collect telemetry from applications and use the Elastic Agent as a gateway, instrument your target applications following the setup instructions:
Configure your SDKs to send the data to the local Elastic Agent using OTLP/gRPC (
http://localhost:4317) or OTLP/HTTP (http://localhost:4318). -
Install the content pack
Install the Docker OpenTelemetry Assets integration in Kibana.
-
Explore your data
Go to Kibana and select Dashboards to explore your newly collected data.
The following issues might occur.
The following error is due to an improperly formatted API key:
Exporting failed. Dropping data.
{"kind": "exporter", "data_type": }
"Unauthenticated desc = ApiKey prefix not found"
Format your API key as "Authorization": "ApiKey <api-key-value-here>" or "Authorization=ApiKey <api-key>" depending on whether you're using a Collector or SDK.
The managed endpoint has per-project rate limits in place. If you reach this limit, contact our support team.