prometheus 无法从 localhost 访问指标
Posted
技术标签:
【中文标题】prometheus 无法从 localhost 访问指标【英文标题】:prometheus is not able to access metrics from localhost 【发布时间】:2020-06-25 13:34:27 【问题描述】:我一直在尝试配置 prometheus 以在 grafana 中为我的 nodejs 应用程序显示指标。对于指标,我使用的是 prom-client。但是,在本地主机上,我总是收到以下错误:
Get http://localhost:5000/metrics: dial tcp 127.0.0.1:5000: connect: connection refused
此外,如果我使用本地隧道服务,例如 ngrok,它将能够读取指标。我错过了什么?我需要在某处添加一些特殊配置吗?
这是我的 prometheus.yml 文件:
global:
scrape_interval: 5s
external_labels:
monitor: 'my-monitor'
scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets: ['localhost:9090']
- job_name: 'my-app'
static_configs:
- targets: ['localhost:5000']
我正在使用 docker-compose 运行默认的 prometheus 映像,对于 grafana 也是如此。
【问题讨论】:
你确定你的应用在 localhost:5000 上监听吗?尝试使用 0.0.0.0:5000。 @radar 相同的输出 你能发布你完整的 docker-compose 文件吗?应用程序是否在它自己的容器中运行?还是在主机上? 【参考方案1】:因为您使用的是 docker-compose,因此 localhost
或 127.0.0.1
将无法在 docker 容器中工作。
你可以用你的机器IP替换localhost
或者像你一样使用ngrok,docker可以resolve 它到你的 IP。
感谢阅读:D
【讨论】:
感谢您的回答。我以前见过很多与此相关的问题 谢谢。为此承受了很大的痛苦。终于成功了。 是的,我从./prometheus --web.listen-address=192.168.0.109:9090
开始以上是关于prometheus 无法从 localhost 访问指标的主要内容,如果未能解决你的问题,请参考以下文章
Prometheus无法获取Windows的CPU数据解决方法
Prometheus(在 Docker 容器中)无法在主机上抓取目标
即使 prometheus 源显示变量,也无法在 grafana 中获取数据
无法从 prometheus-adapter 检索自定义指标