Part 4: Querying Azure Log Analytics Workspace
Understanding Azure Resource Logs
Common Log Analytics Tables
AzureActivity - Control Plane Operations
AzureActivity
| getschema
| project ColumnName, ColumnType// Track resource deployments
AzureActivity
| where TimeGenerated > ago(24h)
| where OperationNameValue contains "write"
| where ActivityStatusValue == "Success"
| project
TimeGenerated,
Caller,
OperationNameValue,
ResourceGroup,
Resource,
Level
| order by TimeGenerated desc
// Find failed operations
AzureActivity
| where TimeGenerated > ago(24h)
| where ActivityStatusValue in ("Failed", "Error")
| summarize
FailureCount = count(),
SampleError = any(ActivityStatusValue),
LastFailure = max(TimeGenerated)
by Caller, OperationNameValue, ResourceGroup
| order by FailureCount desc
// Who deleted resources?
AzureActivity
| where TimeGenerated > ago(7d)
| where OperationNameValue contains "delete"
| project TimeGenerated, Caller, Resource, ResourceGroup, OperationNameValue
| order by TimeGenerated descAzureDiagnostics - Data Plane Logs
Heartbeat - Agent Health and Inventory
Perf - Performance Counters
Syslog - Linux System Logs
Event - Windows Event Logs
Container and Kubernetes Monitoring
ContainerLog - Container stdout/stderr
KubePodInventory - Pod Metadata
KubeEvents - Kubernetes Events
Perf - Container Performance
Application Insights Tables
AppRequests - HTTP Requests
AppExceptions - Application Exceptions
AppDependencies - External Dependencies
Resource-Specific Query Patterns
Azure Storage Account Monitoring
Azure SQL Database
Azure Functions
Cross-Resource Correlation
Practical Monitoring Scenarios
Scenario 1: Complete Application Health Check
Scenario 2: Infrastructure Capacity Planning
Key Takeaways
PreviousPart 3: Advanced Query Operators and FunctionsNextPart 5: Building Observability Dashboards with KQL
Last updated