Appearance


To send OpenTelemetry metrics and traces generated by ARMS from your AI Application to Dynatrace, follow the below steps.
1. Get your Credentials
Log into your Dynatrace environment
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 ingestionmetrics.ingest- for metrics ingestionlogs.ingest- for logs ingestion (optional)
- Click Generate and copy the token
Get your Environment ID:
- Your Dynatrace URL format:
https://{environment-id}.live.dynatrace.com - Extract the
{environment-id}part from your Dynatrace URL
- Your Dynatrace URL format:
Construct your OTLP endpoint:
- Format:
https://{environment-id}.live.dynatrace.com/api/v2/otlp - Example:
https://abc12345.live.dynatrace.com/api/v2/otlp
- Format:
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:
YOUR_ENVIRONMENT_IDwith your Dynatrace environment ID.- Example:
abc12345.live.dynatrace.com
- Example:
YOUR_DYNATRACE_API_TOKENwith 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:
YOUR_ENVIRONMENT_IDwith your Dynatrace environment ID.- Example:
abc12345.live.dynatrace.com
- Example:
YOUR_DYNATRACE_API_TOKENwith 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.pyReplace:
YOUR_ENVIRONMENT_IDwith your Dynatrace environment ID.- Example:
abc12345.live.dynatrace.com
- Example:
YOUR_DYNATRACE_API_TOKENwith 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.pyReplace:
YOUR_ENVIRONMENT_IDwith your Dynatrace environment ID.- Example:
abc12345.live.dynatrace.com
- Example:
YOUR_DYNATRACE_API_TOKENwith 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:
- Navigate to Observability: Go to Observe and explore in your Dynatrace environment
- Distributed traces: View Distributed traces to see your AI application traces with LLM calls and vector operations
- Services: Check Services to monitor your AI service performance and dependencies
- 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.