Skip to content

To send OpenTelemetry metrics and traces generated by ARMS from your AI Application to Dynatrace, follow the below steps.

1. Get your Credentials

  1. Log into your Dynatrace environment

  2. Generate an API Token:

    • Go to SettingsIntegrationAPI tokens
    • Click Generate token
    • Give it a name (e.g., arms-token)
    • Enable these scopes:
      • openTelemetryTrace.ingest - for trace ingestion
      • metrics.ingest - for metrics ingestion
      • logs.ingest - for logs ingestion (optional)
    • Click Generate and copy the token
  3. Get your Environment ID:

    • Your Dynatrace URL format: https://{environment-id}.live.dynatrace.com
    • Extract the {environment-id} part from your Dynatrace URL
  4. Construct your OTLP endpoint:

    • Format: https://{environment-id}.live.dynatrace.com/api/v2/otlp
    • Example: https://abc12345.live.dynatrace.com/api/v2/otlp

2. Instrument your application

SDK

For direct integration into your Python applications:

Function Arguments
python
import elsai_arms

elsai_arms.init(
  otlp_endpoint="https://YOUR_ENVIRONMENT_ID.live.dynatrace.com/api/v2/otlp",
  otlp_headers="Authorization=Api-Token YOUR_DYNATRACE_API_TOKEN"
)

Replace:

  1. YOUR_ENVIRONMENT_ID with your Dynatrace environment ID.
    • Example: abc12345.live.dynatrace.com
  2. YOUR_DYNATRACE_API_TOKEN with the API token you generated in Step 1.
Environment Variables
python
import elsai_arms

elsai_arms.init()

Set these environment variables:

shell
export OTEL_EXPORTER_OTLP_ENDPOINT="https://YOUR_ENVIRONMENT_ID.live.dynatrace.com/api/v2/otlp"
export OTEL_EXPORTER_OTLP_HEADERS="Authorization=Api-Token YOUR_DYNATRACE_API_TOKEN"

Replace:

  1. YOUR_ENVIRONMENT_ID with your Dynatrace environment ID.
    • Example: abc12345.live.dynatrace.com
  2. YOUR_DYNATRACE_API_TOKEN with the API token you generated in Step 1.

See the ARMS SDK configuration docs for more advanced options.

CLI

For zero-code auto-instrumentation via command line:

CLI Arguments
shell
# Using CLI arguments
elsai-arms-instrument \
  --otlp-endpoint "https://YOUR_ENVIRONMENT_ID.live.dynatrace.com/api/v2/otlp" \
  --otlp-headers "Authorization=Api-Token YOUR_DYNATRACE_API_TOKEN" \
  --service-name "my-ai-service" \
  --deployment-environment "production" \
  python app.py

Replace:

  1. YOUR_ENVIRONMENT_ID with your Dynatrace environment ID.
    • Example: abc12345.live.dynatrace.com
  2. YOUR_DYNATRACE_API_TOKEN with the API token you generated in Step 1.
Environment Variables
shell
# Set environment variables (takes precedence over CLI args)
export OTEL_EXPORTER_OTLP_ENDPOINT="https://YOUR_ENVIRONMENT_ID.live.dynatrace.com/api/v2/otlp"
export OTEL_EXPORTER_OTLP_HEADERS="Authorization=Api-Token YOUR_DYNATRACE_API_TOKEN"
export OTEL_SERVICE_NAME="my-ai-service"
export OTEL_DEPLOYMENT_ENVIRONMENT="production"

# Run your application
elsai-arms-instrument python app.py

Replace:

  1. YOUR_ENVIRONMENT_ID with your Dynatrace environment ID.
    • Example: abc12345.live.dynatrace.com
  2. YOUR_DYNATRACE_API_TOKEN with the API token you generated in Step 1.

See the ARMS SDK configuration docs for more advanced options.

3. View your telemetry in Dynatrace

Once your AI application starts sending telemetry data, you can explore it in Dynatrace:

  1. Navigate to Observability: Go to Observe and explore in your Dynatrace environment
  2. Distributed traces: View Distributed traces to see your AI application traces with LLM calls and vector operations
  3. Services: Check Services to monitor your AI service performance and dependencies
  4. Metrics: Explore custom metrics in Metrics for token usage, costs, and AI-specific KPIs

Your ARMS-instrumented AI applications will appear automatically in Dynatrace with comprehensive observability including LLM costs, token usage, model performance, and vector database operations.

Copyright © 2026 elsai foundry.