Quickstart for hosts and VMs on Elastic Cloud Hosted
Elastic Stack Serverless Observability
Learn how to set up the EDOT Collector and EDOT SDKs with Elastic Cloud Hosted (ECH) to collect host metrics, logs and application traces.
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 ECH.
-
Download the EDOT Collector for your operating system, extract the file, and change directory to the extracted files.
-
Retrieve your Elasticsearch URL and your API key:
Retrieve the Elasticsearch URL for your Elastic Cloud deployment:
- Go to the Elastic Cloud console.
- Next to your deployment, select Manage.
- Under Applications next to Elasticsearch, select Copy endpoint.
Create an API Key following these instructions.
Replace
<ELASTICSEARCH_ENDPOINT>
and<ELASTIC_API_KEY>
before applying the following commands.ELASTICSEARCH_ENDPOINT=<ELASTICSEARCH_ENDPOINT> && \ ELASTIC_API_KEY=<ELASTIC_API_KEY> && \ cp ./otel_samples/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_ENDPOINT}#${ELASTICSEARCH_ENDPOINT}#g" ./otel.yml && \ sed -i "s#\${env:ELASTIC_API_KEY}#${ELASTIC_API_KEY}#g" ./otel.yml
ELASTICSEARCH_ENDPOINT=<ELASTICSEARCH_ENDPOINT> && \ ELASTIC_API_KEY=<ELASTIC_API_KEY> && \ cp ./otel_samples/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_ENDPOINT}#${ELASTICSEARCH_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\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_ENDPOINT}', "<ELASTICSEARCH_ENDPOINT>" $content = $content -replace '\${env:ELASTIC_API_KEY}', "<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
NoteBy default, the Collector opens ports
4317
and4318
to receive application data from locally running OTel SDKs. -
(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
).