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

在现有AKS实例中配置ContainerLogV2无日志显示问题求助

排查AKS配置ContainerLogV2后无法查看容器日志的问题

以下是可能遗漏的配置项及检查步骤:

1. 确认OMS Agent是否启用ContainerLogV2采集

你的AKS已启用omsagent,但默认配置可能未指定使用v2 Schema。需要更新omsagent的配置,添加schemaVersion和日志采集设置:

"addonProfiles": {
  "omsagent": {
    "config": {
      "logAnalyticsWorkspaceResourceID": "/subscriptions/**/resourcegroups/**/providers/microsoft.operationalinsights/workspaces/my-aks-la",
      "schemaVersion": "v2",
      "logAnalyticsSettings": {
        "containerLogs": {
          "enabled": true,
          "types": ["stdout", "stderr"]
        }
      }
    },
    "enabled": true,
    "identity": null
  }
}

可通过Azure CLI更新AKS配置:

az aks update -g <resource-group> -n <aks-cluster-name> --addon-profile omsagent.config.schemaVersion=v2 --addon-profile omsagent.config.logAnalyticsSettings.containerLogs.enabled=true

2. 确保.NET应用输出日志到容器标准流

你的应用目前仅配置了Application Insights日志,但ContainerLogV2采集的是容器的stdout/stderr流。需要在Program.cs中添加Console日志提供者:

var builder = WebApplication.CreateBuilder(args);

// 保留现有AI配置
builder.Services.AddApplicationInsightsTelemetry();

// 添加Console日志提供者,确保日志输出到容器标准流
builder.Logging.AddConsole();

var app = builder.Build();

// 其他应用配置...

同时确认appsettings.json中的日志级别设置,确保Default级别(Information)的日志会被输出。

3. 检查Log Analytics工作区的数据收集规则(DCR)

ContainerLogV2依赖数据收集规则定义采集逻辑:

  • 登录Azure门户,进入你的Log Analytics工作区
  • 导航到数据收集规则,检查是否存在针对AKS容器日志的DCR
  • 确认DCR中包含ContainerLogV2表,且采集规则未过滤掉你的应用日志(比如错误的日志级别过滤)

4. 验证AKS身份对Log Analytics的写入权限

确保AKS集群的系统分配托管身份(或omsagent使用的身份)拥有向Log Analytics工作区写入数据的权限:

  • 进入Log Analytics工作区的访问控制(IAM)
  • 检查是否存在AKS集群的系统身份(名称通常为<aks-cluster-name>-agentpool),并拥有Monitoring Contributor或Log Analytics Contributor角色
  • 若未添加,手动分配对应角色

5. 排除日志延迟因素

容器日志从采集到出现在Log Analytics中通常存在15-30分钟的延迟,若刚完成配置,建议等待足够时间后再查看日志。

内容的提问来源于stack exchange,提问作者Parth Sekar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 03:57:45