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

如何用KQL创建Azure存储账户网络及Blob生命周期变更告警

Azure存储账户告警KQL查询方案

1. 存储账户网络配置变更告警查询

针对存储账户网络规则(防火墙、虚拟网络配置等)变更场景,优化后的KQL查询如下:

AzureActivity
| where ResourceProviderValue == "MICROSOFT.STORAGE"
| where CategoryValue == "Administrative"
// 匹配网络规则集更新操作
| where OperationNameValue == "Microsoft.Storage/storageAccounts/updateNetworkRuleSets/action"
// 可选:仅筛选成功执行的操作
| where ActivityStatusValue == "Success"
// 解析Properties字段,提取变更前后的配置信息
| extend PropertiesParsed = parse_json(Properties)
| extend OldNetworkConfig = PropertiesParsed.oldProperties.networkAcls
| extend NewNetworkConfig = PropertiesParsed.newProperties.networkAcls
// 输出关键字段,便于告警详情查看
| project
    EventTimestamp = EventSubmissionTimestamp,
    SubscriptionId,
    ResourceGroup,
    StorageAccountName = Resource,
    OperationName = OperationNameValue,
    OldNetworkConfig,
    NewNetworkConfig,
    Caller = Caller

逻辑说明:

  • 精准匹配网络规则集更新的操作名,避免非目标事件误触发
  • 解析Properties字段中的新旧配置,在告警中直观展示变更内容
  • 可根据需求移除ActivityStatusValue筛选,包含失败的变更操作

2. Blob存储层(热→冷/归档)转换告警查询

针对Blob从热层(HOT)转换为冷层(COOL)或归档层(ARCHIVE)的场景,分两种触发方式提供查询:

2.1 手动/API触发的Blob层变更(AzureActivity)

AzureActivity
| where ResourceProviderValue == "MICROSOFT.STORAGE"
| where CategoryValue == "Administrative"
// 匹配Blob层设置操作
| where OperationNameValue == "Microsoft.Storage/storageAccounts/blobServices/containers/blobs/setTier/action"
| where ActivityStatusValue == "Success"
// 解析Properties中的层信息
| extend PropertiesParsed = parse_json(Properties)
| extend BlobName = PropertiesParsed.resourceUri
| extend OldTier = PropertiesParsed.oldProperties.tier
| extend NewTier = PropertiesParsed.newProperties.tier
// 筛选热层转冷/归档的事件
| where OldTier == "Hot" and (NewTier == "Cool" or NewTier == "Archive")
// 输出关键字段
| project
    EventTimestamp = EventSubmissionTimestamp,
    SubscriptionId,
    ResourceGroup,
    StorageAccountName = split(Resource, "/")[1],
    BlobName,
    OldTier,
    NewTier,
    Caller = Caller

2.2 生命周期规则触发的Blob层变更(StorageBlobLogs)

如果是通过存储账户生命周期规则自动转换Blob层,需查询StorageBlobLogs:

StorageBlobLogs
| where OperationName == "SetBlobTier"
| where StatusText == "Success"
// 筛选热层转冷/归档的事件
| where TierFrom == "Hot" and (TierTo == "Cool" or TierTo == "Archive")
// 输出关键字段
| project
    EventTimestamp = TimeGenerated,
    SubscriptionId,
    ResourceGroup,
    StorageAccountName = AccountName,
    ContainerName,
    BlobName,
    TierFrom,
    TierTo,
    OperationName

逻辑说明:

  • 手动/API触发的变更记录在AzureActivity中,生命周期规则触发的变更记录在StorageBlobLogs中
  • 通过TierFrom和TierTo精准筛选目标转换事件

告警配置步骤

  1. 进入Azure门户监控→警报→创建→警报规则
  2. 选择对应的日志工作区作为数据源
  3. 将上述KQL查询粘贴到自定义日志搜索条件中
  4. 设置触发条件(如查询返回结果数>0时触发)
  5. 配置通知组和动作组,完成告警创建

内容的提问来源于stack exchange,提问作者ramesh reddy

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 09:27:10