Node.js + Prometheus-拒绝目标连接

时间:2019-01-09 10:45:24

标签: node.js prometheus

我正在本地运行节点应用程序。它使用 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:连接:   连接被拒绝

enter image description here

您能告诉我我在这里做错了什么吗?节点应用程序正在本地端口上的本地主机上运行,​​因为当我转到http://localhost:3002/metrics时,我可以看到指标。

2 个答案:

答案 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']