我是docker,influx grafana等的新手。我运行了grafana和influxdb,但似乎无法将telegraf连接到influxdb。我遵循了许多指南,但是我缺少一些东西。
我在E:\ docker \ containers \ telegraf上创建了Telegraf conf文件,并尝试将其用于:docker run -v e:/docker/containers/telegraf/:/etc/telegraf/telegraf:ro telegraf
但是我一直收到以下错误:
2017/05/13 20:32:39 I! Using config file: /etc/telegraf/telegraf.conf
2017-05-13T20:32:39Z E! Database creation failed: Post
http://localhost:8086/query?db=&q=CREATE+DATABASE+%22telegraf%22: dial tcp
[::1]:8086:
getsockopt: connection refused
我在conf文件的influxdb输出部分中有这个:
[[outputs.influxdb]]
# urls = ["udp://localhost:8089"] # UDP endpoint example
urls = ["http://10.0.75.1:8086"] # required
database = "telegraf" # required
retention_policy = ""
write_consistency = "any"
timeout = "5s"
#username = "telegraf"
#password = "telegraf"
如果您查看网址,则似乎无法读取conf文件。我只是一直尝试连接到本地主机。 (localhost:8083和10.0.75.1:8083都打开influxdb网页)
最佳答案
这听起来像现在已允许在Docker for Windows中映射和/或E驱动器。
首先,您的映射显示不正确。如果您在telegraf.conf
处有一个e:/docker/containers/telegraf/
文件,则当前映射将以/etc/telegraf/telegraf/telegraf.conf
处的文件结尾,这是另外一个telegraf
文件夹深的文件夹。错误指出它正在寻找/etc/telegraf/telegraf.conf
。在这种情况下,可能使用默认的telegraf.conf
。
接下来,我相信默认情况下Windows上的Docker不允许映射非C的驱动器。检查共享驱动器设置,以确保允许映射E(我发现一篇文章显示在https://rominirani.com/docker-on-windows-mounting-host-directories-d96f3f056a2c上)。
修复这两个错误后,如果仍然存在,我将使用docker exec
进入容器,并确认/etc/telegraf/telegraf.conf
文件确实具有应有的内容。