Quickstart for hosts / VMs on Elastic Cloud Serverless
Elastic Stack Serverless Observability
Learn how to set up the EDOT Collector and EDOT SDKs in a Docker environment with Elastic Cloud Serverless to collect host metrics, logs, and application traces. Send the data through OTLP to your Elastic Serverless Project.
Make sure the following requirements are present:
- The System integration is installed in Kibana. Select Add integration only to skip the agent installation, as only the integration assets are required.
Use the Add data screen in Elastic Observability to generate install commands that are already configured with the values you need.
- Open Elastic Observability.
- Go to Add data.
- Select what you want to monitor.
- Follow the instructions.
Follow these steps to deploy the EDOT Collector and EDOT OTel SDKs with Elastic Cloud Serverless.
-
Download the EDOT Collector for your operating system.
-
Follow these steps to retrieve the managed OTLP endpoint URL for your Serverless project:
- In Elastic Cloud, 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.
Replace
and
before applying the following command.ELASTIC_OTLP_ENDPOINT=
&& \ ELASTIC_API_KEY= && \ cp ./otel_samples/managed_otlp/logs_metrics_traces.yml ./otel.yml && \ mkdir -p ./data/otelcol && \ sed -i "s#\${env:STORAGE_DIR}#${PWD}/data/otelcol#g" ./otel.yml && \ sed -i "s#\${env:ELASTIC_OTLP_ENDPOINT}#${ELASTIC_OTLP_ENDPOINT}#g" ./otel.yml && \ sed -i "s#\${env:ELASTIC_API_KEY}#${ELASTIC_API_KEY}#g" ./otel.yml ELASTIC_OTLP_ENDPOINT=
&& \ ELASTIC_API_KEY= && \ cp ./otel_samples/managed_otlp/logs_metrics_traces.yml ./otel.yml && \ mkdir -p ./data/otelcol && \ sed -i '' "s#\${env:STORAGE_DIR}#${PWD}/data/otelcol#g" ./otel.yml && \ sed -i '' "s#\${env:ELASTIC_OTLP_ENDPOINT}#${ELASTIC_OTLP_ENDPOINT}#g" ./otel.yml && \ sed -i '' "s#\${env:ELASTIC_API_KEY}#${ELASTIC_API_KEY}#g" ./otel.yml Remove-Item -Path .\otel.yml -ErrorAction SilentlyContinue Copy-Item .\otel_samples\managed_otlp\logs_metrics_traces.yml .\otel.yml New-Item -ItemType Directory -Force -Path .\data\otelcol | Out-Null $content = Get-Content .\otel.yml $content = $content -replace '\${env:STORAGE_DIR}', "$PWD\data\otelcol" $content = $content -replace '\${env:ELASTIC_OTLP_ENDPOINT}', "
" $content = $content -replace '\${env:ELASTIC_API_KEY}', " " $content | Set-Content .\otel.yml -
Run the following command to run the EDOT Collector.
sudo ./otelcol --config otel.yml
.\elastic-agent.exe otel --config otel.yml
NoteThe Collector opens ports
4317
and4318
to receive application data from locally running OTel SDKs without authentication. This allows the SDKs to send data without any further configuration needed as they use this endpoint by default. -
(Optional) Instrument your applications
If you want to collect telemetry from applications running on the host where you installed the EDOT Collector, instrument your target applications:
Configure your SDKs to send the data to the local EDOT Collector using OTLP/gRPC (
http://localhost:4317
) or OTLP/HTTP (http://localhost:4318
).
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
or "Authorization=ApiKey
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.