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