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

如何通过gcloud-ops-agent按容器名传输Docker日志至GCP日志UI

使用gcloud-ops-agent按容器名区分Docker日志到GCP日志UI

1. 安装gcloud-ops-agent

如果尚未安装,执行以下命令完成安装:

curl -sSO https://dl.google.com/cloudagents/add-google-cloud-ops-agent-repo.sh
sudo bash add-google-cloud-ops-agent-repo.sh --also-install

2. 配置日志采集规则

编辑Ops Agent的配置文件/etc/google-cloud-ops-agent/config.yaml,添加Docker日志采集规则并配置容器名识别:

logging:
  receivers:
    docker_container:
      type: docker
      # 匹配所有Docker容器日志文件
      include_paths:
        - /var/lib/docker/containers/*/*-json.log
      # 开启日志文件路径记录,用于提取容器信息
      record_log_file_path: true
  processors:
    # 解析Docker日志的JSON格式
    parse_docker_json:
      type: parse_json
      field: "jsonPayload"
      time_key: "time"
      time_format: "%Y-%m-%dT%H:%M:%S.%LZ"
    # 从日志文件路径提取容器ID,Ops Agent会自动映射为容器名称
    add_container_label:
      type: modify_fields
      fields:
        resource.labels.container_name:
          from: "log_file_path"
          pattern: "/var/lib/docker/containers/([0-9a-f]+)/.*"
          rewrite: "$1"
  service:
    pipelines:
      docker_logs:
        receivers: [docker_container]
        processors: [parse_docker_json, add_container_label]

注:如果你的Docker日志JSON payload中已包含container_name字段,可直接将resource.labels.container_name的from值改为jsonPayload.container_name,跳过ID到名称的映射步骤。

保存配置后,重启Ops Agent使配置生效:

sudo systemctl restart google-cloud-ops-agent

3. 在GCP日志UI中按容器名过滤

登录GCP日志控制台后,使用以下查询语句快速筛选指定容器的日志:

resource.type="gce_instance"
resource.labels.container_name="your-container-name"

也可以直接通过日志条目中的字段过滤:

jsonPayload.container_name="your-container-name"

此方案会将每个容器的日志与对应的容器名绑定,在日志UI中可直接按容器名区分筛选,解决了之前gcplogs-docker-driver日志集中展示的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 20:42:42