amazon-ec2 – 无法从docker容器内部访问datadog代理

我在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’接收指标.

希望有人能帮助我.先感谢您.

最佳答案
您需要在/etc/dd-agent/datadog.conf文件中设置non_local_traffic:yes.否则,代理将拒绝来自容器的指标.

设置完成后,您需要重新启动代理才能使更改生效:sudo /etc/init.d/datadog-agent restart或sudo service datadog-agent restart

docker-dd-agent图像启用non_local_traffic:认为yes.

相关文章

Docker是什么Docker是 Docker.Inc 公司开源的一个基于 LXC技...
本文为原创,原始地址为:http://www.cnblogs.com/fengzheng...
镜像操作列出镜像:$ sudo docker imagesREPOSITORY TAG IMA...
本文原创,原文地址为:http://www.cnblogs.com/fengzheng/p...
在 Docker 中,如果你修改了一个容器的内容并希望将这些更改...
在Docker中,--privileged 参数给予容器内的进程几乎相同的权...