Loading

Quickstart for hosts / VMs on self-managed deployments

Learn how to set up the Elastic Agent and Elastic OTel SDKs 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.

  1. Download the Elastic Agent

    Download the Elastic Agent for your operating system, extract the archive and move to the extracted directory.

  2. Configure the Elastic Agent

    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 Elastic Agent

    Run the following command to run the Elastic Agent.

    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

    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.