如何在Azure中获取容器级日志及聚合指标日志?
Azure Blob存储容器级日志与聚合指标获取方案
当然可以获取容器级别的详细日志和聚合指标,以下是具体实现方式:
1. Azure Monitor 原生支持容器级数据
- 聚合指标:Azure Monitor为Blob存储提供了容器维度的原生指标,包括
UsedCapacity(容器已用容量)、BlobCount(容器内Blob数量)、Ingress/Egress(容器的进出流量)等。在Azure门户的存储账户「指标」面板中,只需添加ContainerName作为筛选维度,就能查看单个容器的聚合指标数据;也可以通过Azure Monitor REST API或az monitor metrics queryCLI命令批量查询。 - 详细操作日志:在存储账户的「诊断设置」中启用Blob存储的日志收集(选择
StorageRead、StorageWrite、StorageDelete等类别),将日志发送到Azure Monitor日志。日志中自带ContainerName字段,通过Kusto查询语言(KQL)可精准筛选特定容器的操作日志,示例查询:StorageBlobLogs | where ContainerName == "target-container" | where OperationName in ("PutBlob", "DeleteBlob") | project TimeGenerated, OperationName, ClientIpAddress, RequestUri
2. Log Analytics 容器级聚合分析
将存储诊断日志导入Log Analytics工作区后,除了单容器的日志查询,还能基于容器维度做自定义聚合统计,比如统计某容器每日的读写操作量:
StorageBlobLogs | where ContainerName == "target-container" | summarize ReadCount = countif(OperationName has "Read"), WriteCount = countif(OperationName has "Write") by bin(TimeGenerated, 1d)
3. Storage Analytics 经典日志(可选)
虽然Storage Analytics已逐步被Azure Monitor替代,但仍可启用其经典日志功能。启用后,容器级的操作日志会自动存储在存储账户的$logs容器中,日志文件的路径包含对应容器名称,可直接下载或解析这些日志文件获取详细操作记录,不过这种方式需要自行处理日志文件的拆分与解析,效率低于Azure Monitor方案,仅作为补充使用。
内容的提问来源于stack exchange,提问作者Khilesh Chauhan
相关产品推荐
相关产品推荐

