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 处理器,该处理器将负责添加适当的容器元数据。