search
数据采集 采集源配置 Docker 容器对象采集

Docker 容器对象采集

简介

采集 docker 容器数据作为对象上报到 DataFlux 中。

前置条件

配置

docker 配置

如果需要远程采集 docker 容器信息,需要 docker 开启相应的端口。

以 ubuntu 为例,需要在 /etc/docker 径路下打开或创建 daemon.json 文件,添加内容如下:

{
    "hosts":["tcp://0.0.0.0:2375","unix:///var/run/docker.sock"]
}

重启服务后,docker 便可以监听 2375 端口。详情见官方配置文档

datakit 配置

进入 DataKit 安装目录下的 conf.d/docker 目录,复制 docker_containers.conf.sample 并命名为 docker_containers.conf。示例如下:

[[inputs.docker_containers]]
    # Docker Endpoint
    # To use TCP, set endpoint = "tcp://[ip]:[port]"
    # To use environment variables (ie, docker-machine), set endpoint = "ENV"
    endpoint = "unix:///var/run/docker.sock"

    # 采集间隔时长,数字+单位,有效的时间单位 "ns", "us" (or "µs"), "ms", "s", "m", "h"
    # 不可以小于等于 0
    # 必填
    interval = "10s"

    # 是否采集所有容器,包括 Exited 状态
    all = false

    # Docker API 调用超时
    timeout = "5s"

    ## Optional TLS Config
    # tls_ca = "/etc/telegraf/ca.pem"
    # tls_cert = "/etc/telegraf/cert.pem"
    # tls_key = "/etc/telegraf/key.pem"
    ## Use TLS but skip chain & host verification
    # insecure_skip_verify = false

字段

名称 描述 类型
__name 容器名 string
__class 分类: docker_containers string
__content 每个容器的详细信息 json string