You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何关联Resources与AzureActivity查询Azure孤儿磁盘的创建及成本信息

扩展Azure孤儿磁盘KQL查询:添加创建者、创建时间及成本信息

以下是针对你的需求给出的完整解决方案:

1. 获取资源创建者与创建时间

可以通过关联AzureActivity日志表来获取磁盘的创建者和创建时间,只需筛选磁盘创建操作的成功记录并匹配资源ID即可。

2. 查询近30天资源成本

Azure Resource Graph本身不直接提供成本数据,但可以通过关联CostManagementResources表(需先将成本数据导出到Log Analytics工作区)来获取指定磁盘的近30天总成本。

完整扩展后的KQL查询

Resources
| where type has "microsoft.compute/disks"
| extend diskState = tostring(properties.diskState)
| where (managedBy == "" and diskState != 'ActiveSAS') or (diskState == 'Unattached' and diskState != 'ActiveSAS')
| project id, diskState, resourceGroup, location, subscriptionId
// 关联获取创建者和创建时间
| join kind=leftouter (
    AzureActivity
    | where OperationNameValue == "Microsoft.Compute/disks/write" and ActivityStatusValue == "Success"
    | project ResourceId, CreatedBy = Caller, CreationTime = EventTimestamp
) on $left.id == $right.ResourceId
// 关联获取近30天成本
| join kind=leftouter (
    CostManagementResources
    | where TimeGenerated >= ago(30d)
    | where ResourceType == "Microsoft.Compute/disks"
    | summarize TotalCost = sum(Cost) by ResourceId
) on $left.id == $right.ResourceId
// 整理输出列
| project 
    id, 
    diskState, 
    resourceGroup, 
    location, 
    subscriptionId,
    CreatedBy,
    CreationTime,
    近30天总成本 = TotalCost

关键注意事项

  • 创建者信息限制:如果磁盘创建时间超过AzureActivity日志的保留期(默认90天),将无法获取到创建者数据,需确保日志保留策略覆盖目标资源的创建时间。
  • 成本数据配置:CostManagementResources表需要先在Azure Cost Management中配置数据导出到Log Analytics工作区,配置完成后数据会有1-2天的延迟。

内容的提问来源于stack exchange,提问作者Francesco Mantovani

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 14:54:24