我在 Amazon linux ec2 上安装了 dd-agent。如果我直接在主机上运行 python 脚本(我使用名为“dogstatsd-python”的 SDK),则所有指标都可以发送到 datadog(我登录到 datadoghq.com 并在那里看到指标)。
脚本是这样的:
from statsd import statsd
statsd.connect('localhost', 8125)
statsd.increment('mymetrics')
但是,我启动了一个 docker 容器并从容器内部运行相同的脚本:
from statsd import statsd
statsd.connect('172.14.0.1', 8125)
statsd.increment('my metrics')
‘172.14.0.1’是主机的IP,通过命令提取
netstat -nr | grep '^0\.0\.0\.0' | awk '{print $2}'
根本没有向 datadog 发送任何指标......
我猜测这可能是由于某些配置问题(例如“地址绑定”)造成的。也许我在主机上安装的 dd-agent 只能接收来自“localhost”的指标。
希望有人能帮助我。先感谢您。
你需要设置non_local_traffic: yes
在你的/etc/dd-agent/datadog.conf
文件。否则,代理将拒绝来自容器的指标。
设置后,您需要重新启动代理才能使更改生效:sudo /etc/init.d/datadog-agent restart
or sudo service datadog-agent restart
The docker-dd-agent https://github.com/DataDog/docker-dd-agent图像使non_local_traffic: yes
默认情况下。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)