Loading

Quickstart for hosts / VMs on self-managed deployments

Elastic Stack Serverless Observability

Learn how to set up the EDOT Collector and EDOT SDKs 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.

  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 EDOT Collector and EDOT OTel SDKs.

  1. Download the EDOT Collector

    Download the EDOT Collector for your operating system, extract the archive and move to the extracted directory.

  2. Configure the EDOT Collector

    Retrieve your Elasticsearch endpoint and API key and replace <ELASTICSEARCH_ENDPOINT> and <ELASTIC_API_KEY> before applying the following command.

    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 EDOT Collector

    Run the following command to run the EDOT Collector.

    Note

    The Collector will open the ports 4317 and 4318 to receive application data from locally running OTel SDKs.

    sudo ./otelcol --config otel.yml
    
    .\elastic-agent.exe otel --config otel.yml
    
  4. (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).