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

Azure中ContainerLog转自定义日志表无数据问题求助

排查Azure Log Analytics自定义日志表无数据流入的问题

1. 验证DCR数据源配置

  • 确认DCR的数据源类型为Log Analytics工作区表,且源表指定为ContainerLog,关联的工作区选择正确。
  • 检查DCR作用范围:如果是针对特定K8s集群,确保集群已被纳入DCR的目标资源列表;如果是工作区级别,确认工作区权限配置无遗漏。

2. 校验转换规则的过滤逻辑

  • 先在Log Analytics中运行查询,验证过滤条件是否能匹配到数据:
    ContainerLog
    | where <你的过滤条件,比如LogEntry contains "特定关键词" or ContainerName == "MyApp">
    | take 10
    
    如果查询返回0条结果,说明过滤条件过严或无符合要求的日志,需调整规则。
  • 确认字段映射正确性:检查要提取的LogEntry等字段在源表中是否存在,自定义表的字段类型(字符串、数值等)是否与转换后的字段类型匹配,避免因类型不匹配导致数据被丢弃。

3. 检查目标表配置

  • 确认MyCustomLogTable_CL是支持DCR写入的自定义表:需通过数据收集规则创建或标记为可通过DCR写入,手动创建的普通自定义表可能不支持该写入方式。
  • 验证权限:DCR的系统身份(或指定托管身份)需拥有Log Analytics Contributor或Log Analytics Data Writer权限,确保具备写入目标表的权限。

4. 排查数据延迟与时间范围

  • Log Analytics数据处理存在15-30分钟左右的延迟,等待足够时间后再查询目标表。
  • 查询目标表时注意时间范围:比如使用MyCustomLogTable_CL | where TimeGenerated > ago(1h),避免因时间范围选得过小导致看不到数据。

5. 查看DCR运行状态与错误日志

  • 在Azure门户的DCR页面,查看数据收集规则状态,确认无报错信息。
  • 查询AzureDiagnostics表获取DCR相关错误:
    AzureDiagnostics
    | where ResourceProvider == "MICROSOFT.MONITOR" and Category == "DataCollectionRules"
    | where Level == "Error"
    | project TimeGenerated, Message, ResourceId
    
    这里会显示DCR运行中的具体错误,比如权限不足、转换规则语法错误等。

6. 确认K8s日志采集配置

  • 检查AKS监控设置,确认ContainerLog在采集范围内:AKS的监控配置中是否开启了容器日志采集,且未排除MyApp容器。
  • 验证MyApp日志输出:通过kubectl logs <pod-name>查看,确保日志正常输出到stdout并被采集到ContainerLog表。

内容的提问来源于stack exchange,提问作者aa-rogers

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 18:32:05