1
votes

I am monitoring the VHDs attached to an Azure VM using Linux Diagnostics. The monitoring data ends up in the table(LinuxDiskMetric) specified in PublicConfig.json while enabling the diagnostics using the CLI

azure vm extension set vmturbo volumevm LinuxDiagnostic Microsoft.Azure.Diagnostics '3.0' --private-config-path PrivateConfig.json --public-config-path PublicConfig.json -v

Part of the PublicConfig.json

......
"perfCfg": [
    {
      "query": "SELECT Name, AverageReadTime, AverageWriteTime, ReadBytesPerSecond, WriteBytesPerSecond FROM SCX_DiskDriveStatisticalInformation",
      "table": "LinuxDiskMetric",
      "frequency": 60
    }
  ]
.....

enter image description here

Below is the screenshot of the table containing the data. I wanted to query this data based on Rowkey and PartitionKey but have absolutely no idea how they are getting generated and what those columns mean. Does anyone has any idea how Microsoft Azure generates these ?

1
No I didn't. We dropped the idea of monitoring Azure Disks for now. We are waiting for Microsoft to expose it directly through an API just like AWS does for volumes.user1142317

1 Answers

0
votes

PartitionKey and RowKey are not related to your eventlogs.

PartitionKey value represents the Date/Time value when the event was logged. It actually has the precision of a minute i.e. all the logs data collected in one minute will share same PartitionKey.

More information about this, you could refer to Gaurav Mantri's blog: Effective way of fetching diagnostics data from Windows Azure Diagnostics Table.

RowKey was just an arbitrary index value to ensure all entries in the partition have a unique key.