name: dynatrace id: dynatrace description: "Dynatrace APM integration for querying problems, logs, metrics, and monitored entities during RCA investigations" category: observability connection_check: method: is_connected_function module: chat.backend.agent.tools.dynatrace_tool function: is_dynatrace_connected tools: - query_dynatrace index: "APM platform -- query problems, logs, metrics, entities via Dynatrace API" rca_priority: 3 allowed-tools: query_dynatrace metadata: author: aurora version: "1.0"
Dynatrace Integration
Overview
Dynatrace integration for querying APM data during Root Cause Analysis. Dynatrace is a REMOTE service. Use ONLY the query_dynatrace API tool. All data is accessed via a single unified tool with resource_type parameter.
Instructions
Tool Usage
query_dynatrace(resource_type=TYPE, query=SELECTOR, time_from=START, time_to=END, limit=N)
Resource Types
'problems'-- Active/recent problems. query=problem selector e.g.status("open")'entities'-- Monitored hosts/services/processes. query=entity selector e.g.type("HOST")'logs'-- Log entries. query=search string'metrics'-- Metric time series. query=metric selector e.g.builtin:host.cpu.usage
Selector Syntax
- Problem selectors:
status("open"),status("closed"),severityLevel("ERROR") - Entity selectors:
type("HOST"),type("SERVICE"),type("APPLICATION"),type("PROCESS_GROUP") - Metric selectors:
builtin:host.cpu.usage,builtin:host.mem.usage,builtin:service.response.time
Time Format
- Use Dynatrace relative time:
now-1h,now-2h,now-24h - Default time_from is
now-2h
Examples
- Problems:
query_dynatrace(resource_type='problems', query='status("open")', time_from='now-1h') - Metrics:
query_dynatrace(resource_type='metrics', query='builtin:host.cpu.usage', time_from='now-30m') - Entities:
query_dynatrace(resource_type='entities', query='type("HOST")', time_from='now-1h') - Logs:
query_dynatrace(resource_type='logs', query='error', time_from='now-1h')
RCA Investigation Workflow
Step 1 -- Check active problems:
Start with problems to understand the current issue landscape.
query_dynatrace(resource_type='problems', query='status("open")', time_from='now-2h')
Step 2 -- Drill into affected entities:
Identify which hosts, services, or processes are impacted.
query_dynatrace(resource_type='entities', query='type("HOST")', time_from='now-2h')
Step 3 -- Search logs for errors:
Find error messages around the alert time.
query_dynatrace(resource_type='logs', query='ERROR', time_from='now-1h')
Step 4 -- Query metrics for resource patterns:
Check CPU, memory, and response time metrics for anomalies.
query_dynatrace(resource_type='metrics', query='builtin:host.cpu.usage', time_from='now-1h')
Important Rules
- Dynatrace is a REMOTE service. Use ONLY the
query_dynatraceAPI tool. - The
resource_typeparameter is required and must be one of: problems, logs, metrics, entities. - Start with
problemsto understand the issue, then drill into entities and logs. - Token scopes matter:
logs.readis required for log queries,metrics.readfor metric queries. A 403 error indicates a missing scope. - A 400 error typically means an invalid selector query. Check the syntax.
- Results are truncated at the output size limit. Use narrower time ranges to stay within limits.