Log Analytics:如何查询近90天各Azure资源的活动情况?
解决AzureActivity查询单个资源活动的问题
要按单个资源统计近90天的管理类活动,你遇到的问题是Properties是动态类型字段,直接通过Properties.Resource引用会出错,需要先正确提取资源名称。
正确的Kusto查询语句
AzureActivity | where CategoryValue == "Administrative" | where EventSubmissionTimestamp > ago(90d) // 从动态字段Properties中提取资源名称,注意路径可能为小写的resource | extend ResourceName = tostring(Properties.resource) // 可选:过滤掉无资源名称的记录 | where isnotempty(ResourceName) | summarize activityCount = count() by ResourceName | order by activityCount asc
关键说明
- AzureActivity的Properties是JSON格式的动态字段,必须用
tostring()转换为字符串类型后才能引用内部字段; - 部分Azure活动日志中,资源名称对应的键是小写的resource而非大写Resource,这是原查询失效的常见原因;
- 若不确定字段路径,可先运行以下查询查看Properties的具体结构,确认资源名称的正确键名:
AzureActivity | where CategoryValue == "Administrative" | where EventSubmissionTimestamp > ago(90d) | take 10 | project Properties
内容的提问来源于stack exchange,提问作者Francesco Mantovani
相关产品推荐
相关产品推荐

