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 Settings → Integration → API 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.