在容器中运行时重新加载 telegraf 配置的最佳方法

Mir*_*ian 5 configuration reload docker telegraf

我正在 Synology NAS 上的容器中运行 telegraf。\n只是询问当我在 telegraf.conf 中进行一些更改时重新加载配置的最佳方式是什么。

\n\n

我在这里看到了重新启动整个容器的建议:\n https://hub.docker.com/_/telegraf

\n\n

像这样:

\n\n
$ docker restart telegraf\n
Run Code Online (Sandbox Code Playgroud)\n\n

对于容器内的 telegraf 进程,使用 SIGHUP 执行终止命令怎么样?

\n\n

像这样的东西:

\n\n
admin@Docker:~% sudo docker ps | grep telegraf\nPassword:\n4c69a263326d        telegraf:latest                       "/entrypoint.sh tele\xe2\x80\xa6"   3 weeks ago         Up 20 minutes                           telegraf\nadmin@Docker:~% sudo docker exec -it -u 0 4c69a263326d kill -1 1\nadmin@Docker:~% sudo docker ps | grep telegraf\n4c69a263326d        telegraf:latest                       "/entrypoint.sh tele\xe2\x80\xa6"   3 weeks ago         Up 21 minutes                           telegraf\nadmin@Docker:~% sudo docker logs --tail 10 4c69a263326d\n2020-06-09T11:50:37Z I! [agent] Hang on, flushing any cached metrics before shutdown\n2020-06-09T11:50:37Z I! Starting Telegraf 1.14.2\n2020-06-09T11:50:37Z I! Using config file: /etc/telegraf/telegraf.conf\n2020-06-09T11:50:37Z I! Loaded inputs: snmp\n2020-06-09T11:50:37Z I! Loaded aggregators:\n2020-06-09T11:50:37Z I! Loaded processors:\n2020-06-09T11:50:37Z I! Loaded outputs: influxdb\n2020-06-09T11:50:37Z I! Tags enabled: host=Docker\n2020-06-09T11:50:37Z I! [agent] Config: Interval:10s, Quiet:false, Hostname:"Docker", Flush Interval:10s\n2020-06-09T11:50:37Z W! [outputs.influxdb] When writing to [https://127.0.0.1:8086]: database "telegraf" creation failed: 403 Forbidden\n
Run Code Online (Sandbox Code Playgroud)\n

Mik*_*lls 2

我相信上面的方法是可以的。telegraf 似乎总是 pid 1,因此对 pid 1 的 SIGHUP 应该重新加载配置。不过我认为设计只是重新启动容器。