Loading

Quickstart for hosts and VMs on Elastic Cloud Hosted

Learn how to set up the Elastic Agent and Elastic OTel SDKs with Elastic Cloud Hosted (ECH) to collect host metrics, logs and application traces.

Use the Add data screen in Elastic Observability to generate install commands that are already configured with the values you need.

  1. Open Elastic Observability.
  2. Go to Add data.
  3. Select what you want to monitor.
  4. Follow the instructions.

Follow these steps to deploy the Elastic Agent and Elastic OTel SDKs with ECH.

  1. Download the Elastic Agent

    Download the Elastic Agent for your operating system, extract the file, and change directory to the extracted files.

  2. Configure the Elastic Agent

    Retrieve your Elasticsearch URL and your API key:

    1. Retrieve the Elasticsearch URL for your Elastic Cloud deployment:

      1. Go to the Elastic Cloud console.
      2. Next to your deployment, select Manage.
      3. Under Applications next to Elasticsearch, select Copy endpoint.
    2. 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
    		
  3. Run the Elastic Agent

    Run the following command to run the Elastic Agent.

    sudo ./otelcol --config otel.yml
    		
    .\elastic-agent.exe otel --config otel.yml
    		
    Note

    By default, the Collector opens ports 4317 and 4318 to receive application data from locally running OTel SDKs.

  4. (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).

    Tip

    Activate Central Configuration to configure your Elastic OTel SDKs from within Kibana. Refer to Elastic OTel SDKs Central Configuration.

  5. Install the content pack

    Install the System OpenTelemetry Assets integration in Kibana.

  6. Explore your data

    Go to Kibana and select Dashboards to explore your newly collected data.

Having issues with Elastic OpenTelemetry? Refer to the Troubleshooting common issues with the Elastic Agent and Troubleshooting the Elastic OTel SDKs for help.