Query Performance Logs in KQL

This uses Azure Logs and KQL to query performance vales.

Average disk IOPS

Perf
| where TimeGenerated > ago(30d)
| where ObjectName == "LogicalDisk"
| where CounterName == "Disk Transfers/sec"
| summarize IopsAvg = avg(CounterValue), IopsMax = max(CounterValue) by InstanceName
| where strlen(InstanceName) ==2 and InstanceName contains ":"

  Average disk throughput in MBps

Perf
| where TimeGenerated > ago(30d)
| where ObjectName == "LogicalDisk"
| where CounterName == "Disk Bytes/sec"
| summarize ThroughputInMBsAvg = (avg(CounterValue)/1024/1024), ThroughputInMBsMax = (max(CounterValue)/1024/1024) by InstanceName
| where strlen(InstanceName) ==2 and InstanceName contains ":"

  Disk free space

Perf
| where TimeGenerated > ago(1d)
| where ObjectName == "LogicalDisk"
| where CounterName == "% Free Space"
| summarize Free_Space_Percent = max(CounterValue) by InstanceName
| where strlen(InstanceName) ==2 and InstanceName contains ":"
Last modified July 21, 2024: update (e2ae86c)