Docker can';t使用普罗米修斯收集码头工人指标
我想监视Docker引擎。我按照“”来配置,以后可以用普罗米修斯收集和分析 在我的电脑上(操作系统版本为CentOS 7.4,Docker版本为17.12.0.ce),我已将以下内容粘贴到Docker can';t使用普罗米修斯收集码头工人指标,docker,monitoring,prometheus,Docker,Monitoring,Prometheus,我想监视Docker引擎。我按照“”来配置,以后可以用普罗米修斯收集和分析 在我的电脑上(操作系统版本为CentOS 7.4,Docker版本为17.12.0.ce),我已将以下内容粘贴到/etc/Docker/daemon.json { "metrics-addr" : "0.0.0.0:9323", "experimental" : true } 然后,启动Prometheus实例,我发现Prometheus和Docker守护进程之间的连接失败 错误日志 Get http://lo
/etc/Docker/daemon.json
{
"metrics-addr" : "0.0.0.0:9323",
"experimental" : true
}
然后,启动Prometheus实例,我发现Prometheus和Docker守护进程之间的连接失败
错误日志
Get http://localhost:9323/metrics: dial tcp 127.0.0.1:9323: connect: connection refused
接下来我能做什么?关于你的问题 下一步我能做什么 更改
/etc/docker/daemon.json中的配置后,需要
systemctl daemon-reload
systemctl restart docker
之后,您可以检查端口9323是否处于状态LISTEN
lsof -Pi TCP -a -c dockerd
正如你在评论中提到的
curl http://$(hostname):9323/metrics
在您的本地主机上工作正常,这表明您的网络有问题
由于Prometheus服务通常在其他地方运行,您可以检查远程计算机是否与Docker主机连接。为此,您可以使用以下内容
root@prometheusHost:/# nc -vz dockerHost 9323
如果连接被拒绝(例如被防火墙拒绝),它将提示您 获取docker ip地址
ip addr show docker0
在prometerus.yml配置中输入docker ip地址
static_configs:
- targets: ['172.17.0.1:9323']
配置Docker守护程序
注:0.0.0.0
即本地计算机上的所有IP地址
/etc/docker/daemon.json
打开防火墙端口9323
--永久打开
$sudo firewall cmd--zone=public--permanent--add port=9323/tcp
成功
几张支票
选中,请记住列出--永久配置,否则它不会显示
$sudo firewall cmd--zone=public--permanent--list all
平民的
目标:默认值
icmp块反转:否
接口:
资料来源:
服务:dhcpv6客户端http https ssh
端口:9323/tcp您的prometheus.yaml
文件是什么?-作业名称:'docker'静态配置:-目标:['localhost:9323']您尝试过“metrics addr:”127.0.0.1:9323“
?是的,我尝试过,但失败。我试着在本地机器上使用curl,没关系。但普罗米修斯实例仍然无法连接到docker。它可以工作。谢谢你能解释一下为什么127.0.0.1
和0.0.0
不起作用吗
{
"metrics-addr" : "0.0.0.0:9323",
"experimental" : true
}
nc -vz localhost 9323
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connected to ::1:9323.
Ncat: 0 bytes sent, 0 bytes received in 0.03 seconds.
$ nc -vz 10.223.37.14 9323
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connected to 10.223.37.14:9323.
Ncat: 0 bytes sent, 0 bytes received in 0.03 seconds.