Docker 提供器编辑

提供来自 Docker 的清单信息。可用的动态变量有

类型 描述

docker.container.id

字符串

容器的 ID

docker.container.name

字符串

容器的名称

docker.container.image.name

字符串

容器的镜像

docker.container.labels

对象

容器的标签

要在配置中动态设置容器 ID,请在 Elastic Agent 策略中使用变量来从提供器返回容器 ID 信息

inputs:
  - id: 'docker-container-logs-${docker.container.id}'
    type: filestream
    paths:
      - '/var/lib/docker/containers/${docker.container.id}/*-json.log'

此配置生成的策略示例如下所示

inputs:
  - id: docker-container-logs-b9b898d9c2a1126384d38e9f857b3985480cd05c8e74ffc8b628d92245f5a103
    streams:
      paths:
      - /var/lib/docker/containers/b9b898d9c2a1126384d38e9f857b3985480cd05c8e74ffc8b628d92245f5a103/*-json.log
    processors:
    - add_fields:
        fields:
          id: b9b898d9c2a1126384d38e9f857b3985480cd05c8e74ffc8b628d92245f5a103
          image: image-name:latest
          labels:
            key: value
          name: container-name
        target: container
  - id: docker-container-596bbd114498253985e6a5c4f0f7bf2d9eb8fcd4fe3e6cb53bdfba0cdc7036c8
    type: filestream
    streams:
      paths:
      - /var/lib/docker/containers/596bbd114498253985e6a5c4f0f7bf2d9eb8fcd4fe3e6cb53bdfba0cdc7036c8/*-json.log
    processors:
    - add_fields:
        fields:
          id: 596bbd114498253985e6a5c4f0f7bf2d9eb8fcd4fe3e6cb53bdfba0cdc7036c8
          image: other-image-name:latest
          labels:
            key: value
          name: other-container-name
        target: container

Docker 提供器确保每个 Docker 容器事件都丰富了容器的元数据,因此输入将使用 add_fields 处理器填充,该处理器将负责添加正确的容器元数据。