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

Azure Ubuntu虚拟机Docker容器stdout日志云原生采集方案咨询

Azure 虚拟机容器Stdout日志采集方案

针对你在Azure Ubuntu虚拟机上用Docker Compose运行容器、需采集stdout日志到Azure控制台的需求,以下是符合云原生、无额外运维负担、不侵入应用代码的解决方案:

方案一:Docker原生Azure Monitor日志驱动(推荐)

该方案利用Docker官方提供的azuremonitor日志驱动,直接将容器stdout日志推送至Azure Monitor日志工作区,无需修改应用代码、无需日志文件轮转。

配置步骤

  1. 修改Docker守护进程配置
    编辑/etc/docker/daemon.json文件,添加日志驱动配置:
    {
      "log-driver": "azuremonitor",
      "log-opts": {
        "log-analytics-workspace-id": "<你的Log Analytics工作区ID>",
        "log-analytics-workspace-key": "<你的Log Analytics工作区密钥>"
      }
    }
    
  2. 重启Docker服务
    执行命令使配置生效:
    sudo systemctl restart docker
    
  3. Docker Compose服务适配
    • 全局配置:所有Docker Compose服务会默认继承Docker守护进程的日志驱动,无需额外修改docker-compose.yml。
    • 单独配置(可选):如果需要为特定服务指定日志参数,在服务块中添加logging配置:
      services:
        your-app:
          image: your-app-image:latest
          logging:
            driver: azuremonitor
            options:
              log-analytics-workspace-id: "<你的Log Analytics工作区ID>"
              log-analytics-workspace-key: "<你的Log Analytics工作区密钥>"
              tag: "{{.Name}}" # 可选,添加容器名标签便于日志过滤
      

日志查看

登录Azure控制台,进入对应的Log Analytics工作区,在“日志”界面使用以下查询语句查看容器日志:

ContainerLog
| where ContainerName == "your-app-container-name" # 可选,过滤指定容器
| sort by TimeGenerated desc

方案优势

  • 云原生集成:基于Docker官方驱动与Azure Monitor原生对接,无需第三方组件
  • 零运维负担:直接采集stdout,无需处理日志文件、轮转等运维工作
  • 无代码侵入:应用无需引入任何云厂商客户端库,保持跨Azure/AWS/GCP的代码一致性

注意事项

  • Log Analytics工作区的ID和密钥可从工作区的“代理管理”页面获取
  • 驱动支持自定义日志标签、字段,可通过log-opts扩展配置
  • 确保虚拟机已配置出站网络权限,允许访问Azure Monitor服务端点

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 16:57:23