Telegraf 无法连接到 Docker 袜子

Telegraf can not connect to Docker sock

我尝试使用 Telegraf 收集一些关于我的 Docker 容器的指标。我已经将 docker sock 安装到它上面,但我仍然收到一条错误消息。我在这里错过了什么?

    volumes:
      - ./data/telegraf:/etc/telegraf
      - /var/run/docker.sock:/var/run/docker.sock
2021-10-29T20:11:30Z E! [inputs.docker] Error in plugin: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http:///var/run/docker.sock/v1.21/containers/json?filters={"status":["running"]}&limit=0": dial unix /var/run/docker.so
[[inputs.docker]]
  endpoint = "unix:///var/run/docker.sock"
  gather_services = false
  container_names = []
  source_tag = false
  container_name_include = []
  container_name_exclude = []
  timeout = "5s"
  perdevice = true
  total = false
  docker_label_include = []
  docker_label_exclude = []
  tag_env = ["JAVA_HOME", "HEAP_SIZE"]

Telegraf Docker 图像现在 运行 作为 telegraf user/group 而不再是 root 用户的 telegraf 进程。为了监控传统上属于 root:docker group 的 docker 套接字,您需要将组传递给 telegraf 用户。

这可以通过以下方式完成:

--user telegraf:$(stat -c '%g' /var/run/docker.sock)