Prometheus Docker - 连接到外部机器
Posted
技术标签:
【中文标题】Prometheus Docker - 连接到外部机器【英文标题】:Prometheus Docker - Connecting to external machine 【发布时间】:2020-08-19 23:01:20 【问题描述】:我有两台虚拟机,一台托管 Prometheus、Grafana 等 192.15.15.10
,另一台托管来自一系列 Docker 容器的应用程序 192.15.15.20
。
我已将 Docker daemon.json 配置为包含:
"metrics-addr" : "127.0.0.1:9323",
"experimental" : true
我的Prometheus.yml
现在包含:
- job_name: 'docker'
static_configs:
- targets: ['192.15.15.20:9323']
这是试图到达另一台机器上的指标端点。但是,由于此配置是在 docker 容器内执行的,因此容器不知道该 IP 并且无法访问它(它不在 docker 网络上)。
我怎样才能做到这一点?是否有代理设置或我可以使用的东西,或者以某种方式使用 docker 网关 IP?
【问题讨论】:
虚拟机是否能够相互访问? @Stefano 是的,我可以卷曲每个虚拟机。 如果执行nc -w5 192.15.15.20 9323 | echo $?
,是否返回0?
@Stefano 是的,没有路由到主机
如果没有路由到主机,你怎么能 curl 虚拟机?
【参考方案1】:
问题是你的 docker 只在 localhost 上监听。
将metrics-addr
更改为收听0.0.0.0:9323
。
【讨论】:
以上是关于Prometheus Docker - 连接到外部机器的主要内容,如果未能解决你的问题,请参考以下文章
无法从外部 docker 连接到 dockerized redis 实例