dt-obs-azure
Azure cloud resources including VMs, VMSS, SQL Database, Storage, AKS, App Service, Functions, VNet networking, load balancers, Event Hubs, Container Apps, and Key Vault. Monitor Azure infrastructure, analyze resource usage, audit security posture, and manage organizational hierarchy across subscrip
By dynatrace · 1,433 installs
npx skills add dynatrace/dynatrace-for-ai --skill dt-obs-azure
Source repository · Upstream listing
Azure Cloud Infrastructure
Monitor and analyze Azure resources using Dynatrace Smartscape and DQL. Query Azure services, audit security, manage organizational hierarchy, and plan capacity across your Azure infrastructure.
When to Use This Skill
Use this skill when the user needs to work with Azure resources in Dynatrace. Load the reference file for the task type:
Task File to load
Inventory and topology queries (no additional file — use core patterns below)
Query Azure metric timeseries (CPU, latency, throughput) Load references/metrics performance.md
VNet topology, subnets, NSGs, public IPs, VPN, peering Load references/vnet networking security.md
Azure SQL, Cosmos DB, PostgreSQL, Redis investigation Load references/database monitoring.md
Functions, App Service, AKS infrastructure, Container Apps Load references/serverless containers.md
Azure LB, Application Gateway, Front Door, API Management Load references/load balancing api.md
WAF rule analysis, false positive investigation Load references/load balancing api.md
Event Hubs, Service Bus, Event Grid Load references/messaging integration.md
Storage Accounts, Blob, File, Queue, Table Load references/storage monitoring.md
Unattached resources, tag compliance, lifecycle Load references/resource management.md
Cost savings, unused resources, SKU analysis Load references/cost optimization.md
Capacity headroom, VMSS scaling, quotas Load references/capacity planning.md
Security audit, encryption, public access, Key Vault Load references/security compliance.md
NSG rule analysis (0.0.0.0/0, open ports) Load references/security compliance.md
Storage account encryption/public access audit Load references/security compliance.md
Cost allocation, chargeback, ownership Load references/resource ownership.md
Determine orchestration context (AKS, VMSS, standalone) Load references/workload detection.md
Core Concepts
Entity Types
Azure resources use the AZURE prefix and can be queried using the smartscapeNodes function. All Azure entities are automatically discovered and modeled in Dynatrace Smartscape. Entity type names are derived from the ARM resource provider path: /Microsoft.Compute/virtualMachines becomes AZURE MICROSOFT COMPUTE VIRTUALMACHINES . Sub resources append with underscores: /Microsoft.Sql/servers/databases becomes AZURE MICROSOFT SQL SERVERS DATABASES .
Compute: AZURE MICROSOFT COMPUTE VIRTUALMACHINES , AZURE MICROSOFT COMPUTE VIRTUALMACHINESCALESETS , AZURE MICROSOFT COMPUTE VIRTUALMACHINESCALESETS VIRTUALMACHINES , AZURE MICROSOFT COMPUTE DISKS , AZURE MICROSOFT COMPUTE SSHPUBLICKEYS , AZURE MICROSOFT COMPUTE VIRTUALMACHINES EXTENSIONS
Networking: AZURE MICROSOFT NETWORK VIRTUALNETWORKS , AZURE MICROSOFT NETWORK VIRTUALNETWORKS SUBNETS , AZURE MICROSOFT NETWORK NETWORKSECURITYGROUPS , AZURE MICROSOFT NETWORK PUBLICIPADDRESSES , AZURE MICROSOFT NETWORK NETWORKINTERFACES , AZURE MICROSOFT NETWORK LOADBALANCERS , AZURE MICROSOFT NETWORK APPLICATIONGATEWAYS , AZURE MICROSOFT NETWORK VIRTUALNETWORKGATEWAYS , AZURE MICROSOFT NETWORK CONNECTIONS , AZURE MICROSOFT NETWORK EXPRESSROUTECIRCUITS
Database: AZURE MICROSOFT SQL SERVERS , AZURE MICROSOFT SQL SERVERS DATABASES , AZURE MICROSOFT CACHE REDIS , AZURE MICROSOFT CACHE REDISENTERPRISE , AZURE MICROSOFT DOCUMENTDB DATABASEACCOUNTS
Storage: AZURE MICROSOFT STORAGE STORAGEACCOUNTS , AZURE MICROSOFT STORAGE STORAGEACCOUNTS BLOBSERVICES CONTAINERS , AZURE MICROSOFT STORAGE STORAGEACCOUNTS FILESERVICES SHARES , AZURE MICROSOFT STORAGE STORAGEACCOUNTS QUEUESERVICES QUEUES , AZURE MICROSOFT STORAGE STORAGEACCOUNTS TABLESERVICES TABLES
Kubernetes/Containers: AZURE MICROSOFT CONTAINERSERVICE MANAGEDCLUSTERS , AZURE MICROSOFT CONTAINERSERVICE MANAGEDCLUSTERS AGENTPOOLS , AZURE MICROSOFT CONTAINERREGISTRY REGISTRIES , AZURE MICROSOFT APP CONTAINERAPPS , AZURE MICROSOFT APP MANAGEDENVIRONMENTS , AZURE MICROSOFT APP JOBS
App Service: AZURE MICROSOFT WEB SITES , AZURE MICROSOFT WEB SERVERFARMS , AZURE MICROSOFT WEB SITES FUNCTIONS
Messaging: AZURE MICROSOFT EVENTHUB NAMESPACES , AZURE MICROSOFT EVENTHUB NAMESPACES EVENTHUBS , AZURE MICROSOFT SERVICEBUS NAMESPACES , AZURE MICROSOFT SERVICEBUS NAMESPACES QUEUES , AZURE MICROSOFT SERVICEBUS NAMESPACES TOPICS , AZURE MICROSOFT SERVICEBUS NAMESPACES TOPICS SUBSCRIPTIONS
Security/Identity: AZURE MICROSOFT KEYVAULT VAULTS , AZURE MICROSOFT MANAGEDIDENTITY USERASSIGNEDIDENTITIES
Monitoring: AZURE MICROSOFT OPERATIONALINSIGHTS WORKSPACES , AZURE MICROSOFT INSIGHTS COMPONENTS
API Management: AZURE MICROSOFT APIMANAGEMENT SERVICE
Azure Organizational Hierarchy
Azure organizes resources in a three level hierarchy: Tenant Subscription Resource Group . Every resource belongs to exactly one resource group within one subscription. Use these fields to scope queries:
Combine these filters for precise scoping:
To see the organizational breakdown across your environment:
Common Azure Fields
All Azure entities include:
azure.subscription — Azure subscription GUID
azure.resource.group — Resource group name
azure.location — Azure region (e.g., eastus , polandcentral )
azure.resourceType — ARM resource type (e.g., microsoft.compute/virtualmachines )
azure.provisioning state — Provisioning state (e.g., Succeeded )
azure.object — Full ARM resource JSON (see [Configuration Parsing]( configuration parsing with azureobject))
cloud.provider — Always azure
tags — Resource tags (use tags[ key ] )
Some entity types also have:
azure.resourceId — Full ARM resource ID (VMs and some others)
azure.resourceName — Resource name (VMs and some others)
azure.availabilityZones — Availability zone list (VMs)
Relationship Types
Azure entity relationships can be traversed using traverse . The dt.traverse.relationship field is not populated for Azure entities, so you must use " " as the relationship name in all traversal commands.
Key traversal pairs:
VM → Disks: traverse " ", "AZURE MICROSOFT COMPUTE DISKS"
VM → NICs: traverse " ", "AZURE MICROSOFT NETWORK NETWORKINTERFACES"
VM → VMSS: traverse " ", "AZURE MICROSOFT COMPUTE VIRTUALMACHINESCALESETS"
VM → Availability Zones: traverse " ", "AZURE MICROSOFT RESOURCES LOCATIONS AVAILABILITYZONES"
VM ← Extensions: traverse " ", "AZURE MICROSOFT COMPUTE VIRTUALMACHINES EXTENSIONS", direction:backward
VMSS → AKS Clusters: traverse " ", "AZURE MICROSOFT CONTAINERSERVICE MANAGEDCLUSTERS"
VMSS → Subnets: traverse " ", "AZURE MICROSOFT NETWORK VIRTUALNETWORKS SUBNETS"
VMSS → NSGs: traverse " ", "AZURE MICROSOFT NETWORK NETWORKSECURITYGROUPS"
VMSS → LB Backend Pools: traverse " ", "AZURE MICROSOFT NETWORK LOADBALANCERS BACKENDADDRESSPOOLS"
Subnet → VNet: traverse " ", "AZURE MICROSOFT NETWORK VIRTUALNETWORKS"
Subnet → NSG: traverse " ", "AZURE MICROSOFT NETWORK NETWORKSECURITYGROUPS"
Subnet ← VMSS: traverse " ", "AZURE MICROSOFT COMPUTE VIRTUALMACHINESCALESETS", direction:backward
NSG ← NICs: traverse " ", "AZURE MICROSOFT NETWORK NETWORKINTERFACES", direction:backward
NSG ← Subnets: traverse " ", "AZURE MICROSOFT NETWORK VIRTUALNETWORKS SUBNETS", direction:backward
LB → Backend Pools: traverse " ", "AZURE MICROSOFT NETWORK LOADBALANCERS BACKENDADDRESSPOOLS"
LB → Frontend IPs: traverse " ", "AZURE MICROSOFT NETWORK LOADBALANCERS FRONTENDIPCONFIGURATIONS"
LB → LB Rules: traverse " ", "AZURE MICROSOFT NETWORK LOADBALANCERS LOADBALANCINGRULES"
SQL Server ← SQL Databases: traverse " ", "AZURE MICROSOFT SQL SERVERS DATABASES", direction:backward
Storage Account ← Blob Containers: traverse " ", "AZURE MICROSOFT STORAGE STORAGEACCOUNTS BLOBSERVICES CONTAINERS", direction:backward
Storage Account ← File Shares: traverse " ", "AZURE MICROSOFT STORAGE STORAGEACCOUNTS FILESERVICES SHARES", direction:backward
AKS ← VMSS: traverse " ", "AZURE MICROSOFT COMPUTE VIRTUALMACHINESCALESETS", direction:backward
AKS ← Agent Pools: traverse " ", "AZURE MICROSOFT CONTAINERSERVICE MANAGEDCLUSTERS AGENTPOOLS", direction:backward
AKS ← NSGs: traverse " ", "AZURE MICROSOFT NETWORK NETWORKSECURITYGROUPS", direction:backward
AKS ← Public IPs: traverse " ", "AZURE MICROSOFT NETWORK PUBLICIPADDRESSES", direction:backward
AKS → Public IPs: traverse " ", "AZURE MICROSOFT NETWORK PUBLICIPADDRESSES"
Web Site → App Service Plan: traverse " ", "AZURE MICROSOFT WEB SERVERFARMS"
Web Site ← Functions: traverse " ", "AZURE MICROSOFT WEB SITES FUNCTIONS", direction:backward
Container App → Managed Environment: traverse " ", "AZURE MICROSOFT APP MANAGEDENVIRONMENTS"
EventHub Namespace ← Event Hubs: traverse " ", "AZURE MICROSOFT EVENTHUB NAMESPACES EVENTHUBS", direction:backward
ServiceBus Namespace ← Queues: traverse " ", "AZURE MICROSOFT SERVICEBUS NAMESPACES QUEUES", direction:backward
ServiceBus Namespace ← Topics: traverse " ", "AZURE MICROSOFT SERVICEBUS NAMESPACES TOPICS", direction:backward
ServiceBus Topic ← Subscriptions: traverse " ", "AZURE MICROSOFT SERVICEBUS NAMESPACES TOPICS SUBSCRIPTIONS", direction:backward
Use fieldsKeep:{field1, field2} to carry fields through multi hop traversals
After a single hop traverse, use dt.traverse.history[0][id] to get the source entity ID, then lookup to resolve the source entity name:
After multi hop traversals, dt.traverse.history[ N] works for fields carried via fieldsKeep
Azure Metric Naming Convention
Dynatrace ingests Azure Monitor metrics and exposes them using this naming pattern:
The <provider namespace uses underscores within the namespace (e.g., microsoft compute ) and <resource type is lowercase (e.g., virtualmachines ). Hierarchy levels are dot separated: microsoft sql.servers.databases . <MetricName is the Azure Monitor metric name.
Examples:
Azure Monitor metric Dynatrace metric key
VM Percentage CPU cloud.azure.microsoft compute.virtualmachines.PercentageCPU
SQL DB cpu percent cloud.azure.microsoft sql.servers.databases.cpu percent
Storage Ingress cloud.azure.microsoft storage.storageaccounts.Ingress
Event Hub IncomingMessages cloud.azure.microsoft eventhub.namespaces.IncomingMessages
Service Bus IncomingMessages cloud.azure.microsoft servicebus.namespaces.IncomingMessages
App Service HttpResponseTime cloud.azure.microsoft web.sites.HttpResponseTime
Load Balancer ByteCount cloud.azure.microsoft network.loadbalancers.ByteCount
AKS node cpu usage percentage cloud.azure.microsoft containerservice.managedclusters.node cpu usage percentage
Cosmos DB TotalRequestUnits cloud.azure.microsoft documentdb.databaseaccounts.TotalRequestUnits
Redis serverLoad cloud.azure.microsoft cache.redis.serverLoad
App Gateway TotalRequests cloud.azure.microsoft network.applicationgateways.TotalRequests
To query a metric:
Important: Never refer to these as "Azure Monitor alerts" or "Azure Monitor metrics" in output. Dynatrace monitors Azure resources natively through its Azure integration — these are Dynatrace metrics ingested from Azure.
Configuration Parsing with azure.object
The azure.object field contains the full ARM resource JSON. Parse it with the azjson alias:
The JSON is wrapped in a configuration key:
Access patterns:
Properties: azjson[configuration][properties][field]
SKU: azjson[configuration][sku][name]
Kind: azjson[configuration][kind]
Zones: azjson[configuration][zones]
Common configuration fields by service:
VM: properties.hardwareProfile.vmSize , properties.storageProfile.imageReference.offer , prope