我有一个问题,在 Telegraf 中,插件 input.docker 没有在时间间隔内执行。但是,其他插件(例如inputs.file或inputs.socket_listener)可以工作。
当我启动 Telegraf 一次(telegraf --once)时,数据写入没有任何问题。
你能帮我吗?
这是我的 Telegraf 配置的摘录。
[agent]
interval = "10m"
...
[[outputs.influxdb_v2]]
# WORKS
...
[[inputs.file]]
# WORKS
...
[[inputs.socket_listener]]
# WORKS
...
[[inputs.docker]]
# Works only with --once
endpoint = "unix:///var/run/docker.sock"
gather_services = false
container_names = []
source_tag = false
container_name_include = []
container_name_exclude = []
container_state_include = ["created", "restarting", "running", "removing", "paused", "exited", "dead"]
container_state_exclude = []
timeout = "5s"
perdevice = true
total = false
docker_label_include = []
docker_label_exclude = []
Telegraf 在 Docker 容器中运行。这是我的 docker-compose.yml 的摘录
telegraf:
image: telegraf
restart: "no"
ports:
- 12003:12003
- 2003:2003
depends_on:
- influxdb2
volumes:
- /mnt/dockervolumes/telegraf/telegraf.conf:/etc/telegraf/telegraf.conf:ro
- /mnt/dockervolumes/telegraf/data:/home/data:ro
- /var/run/docker.sock:/var/run/docker.sock:ro
我发现问题了。
看来是权限问题。我必须将此用户选项添加到我的 docker-compose.yml
user: telegraf:<number_of_docker_group>