我使用他们页面上的官方guide安装了普罗米修斯和docker。现在,我还让node_exporter在主机上工作。然而,普罗米修斯似乎并没有拿到它的衡量标准。
我使用以下命令运行普罗米修斯:
sudo docker run -d -p 9090:9090 -v /home/main/prometheus/config.yml:/etc/prometheus/prometheus.yml prom/prometheus
- job_name: node
static_configs:
- targets: ['localhost:9100']curl -i localhost:9100
HTTP/1.1 200 OK
Content-Length: 150
Content-Type: text/html; charset=utf-8
<html>
<head><title>Node Exporter</title></head>
<body>
<h1>Node Exporter</h1>
<p><a href="/metrics">Metrics</a></p>
</body>
</html>

更新
显然,当在docker:sudo docker run --net=host -d -p 9090:9090 -v /home/main/prometheus/config.yml:/etc/prometheus/prometheus.yml prom/prometheus上运行时,使用"-net=host“标志修复了这个问题
为什么他们不告诉我们这件事?没有这个标志,普罗米修斯就不能访问容器之外的任何东西?
发布于 2020-11-13 18:19:11
在文档中,示例假定Prometheus和节点导出器在同一主机上运行。在您的示例中,Prometheus在docker上运行,这意味着节点导出器位于容器外部。
您应该尝试使用容器名称、IP或host.docker.internal或类似内容来访问目标。
https://stackoverflow.com/questions/64818758
复制相似问题