我正在本地运行节点应用程序。它使用 prom-client 在http://localhost:3002
上运行,我可以在以下端点 http://localhost:3002/metrics 上查看指标。
我已经在docker容器中设置了普罗米修斯并运行它。
Dockerfile
FROM prom/prometheus
ADD prometheus.yml /etc/prometheus/
prometheus.yml
scrape_configs:
- job_name: 'prometheus'
scrape_interval: 5s
static_configs:
- targets: ['localhost:3002']
labels:
service: 'my-service'
group: 'production'
rule_files:
- 'alert.rules'
docker build -t my-prometheus .
docker run -p 9090:9090 my-prometheus
当我导航到http://localhost:9090/targets
时会显示
获取http://localhost:3002/metrics:拨打tcp 127.0.0.1:3002:连接: 连接被拒绝
您能告诉我我在这里做错了什么吗?节点应用程序正在本地端口上的本地主机上运行,因为当我转到http://localhost:3002/metrics
时,我可以看到指标。
答案 0 :(得分:0)
在容器内时,不能直接访问本地主机。您将需要将docker.for.mac.localhost添加到您的prometheus.yml文件中。见下文:
您在Prometheus.yml文件中的工作。 -job_name:“ prometheus”
# metrics_path defaults to '/metrics'
# scheme defaults to 'http'.
static_configs:
- targets: ['localhost:9090']
- targets: ['docker.for.mac.localhost:3002']
答案 1 :(得分:0)
对于Windows,应该是
- job_name: 'spring-actuator'
metrics_path: '/actuator/prometheus'
scrape_interval: 5s
static_configs:
- targets: ['docker.for.win.localhost:8082']