我正在尝试使用Hyperledger Fabric v1.4网络配置Prometheus和Grafana,以分析对等和链码mertics。遵循此documentation之后,我已将对等容器的端口9443
映射到主机的端口9443
。我还将对等体的provider
中prometheus
部分下的metrics
条目更改为core.yml
。我已经按照以下方式在docker-compose.yml
中配置了prometheus和grafana。
prometheus:
image: prom/prometheus:v2.6.1
container_name: prometheus
volumes:
- ./prometheus/:/etc/prometheus/
- prometheus_data:/prometheus
command:
- '--config.file=/etc/prometheus/prometheus.yml'
- '--storage.tsdb.path=/prometheus'
- '--web.console.libraries=/etc/prometheus/console_libraries'
- '--web.console.templates=/etc/prometheus/consoles'
- '--storage.tsdb.retention=200h'
- '--web.enable-lifecycle'
restart: unless-stopped
ports:
- 9090:9090
networks:
- basic
labels:
org.label-schema.group: "monitoring"
grafana:
image: grafana/grafana:5.4.3
container_name: grafana
volumes:
- grafana_data:/var/lib/grafana
- ./grafana/datasources:/etc/grafana/datasources
- ./grafana/dashboards:/etc/grafana/dashboards
- ./grafana/setup.sh:/setup.sh
entrypoint: /setup.sh
environment:
- GF_SECURITY_ADMIN_USER={ADMIN_USER}
- GF_SECURITY_ADMIN_PASSWORD={ADMIN_PASS}
- GF_USERS_ALLOW_SIGN_UP=false
restart: unless-stopped
ports:
- 3000:3000
networks:
- basic
labels:
org.label-schema.group: "monitoring"
当我在远程centos机器上
curl 0.0.0.0:9443/metrics
时,我得到了所有指标列表。但是,当我使用上述配置运行Prometheus时,它将引发错误Get http://localhost:9443/metrics: dial tcp 127.0.0.1:9443: connect: connection refused
。这就是我的prometheus.yml
的样子。global:
scrape_interval: 15s
evaluation_interval: 15s
scrape_configs:
- job_name: 'prometheus'
scrape_interval: 10s
static_configs:
- targets: ['localhost:9090']
- job_name: 'peer_metrics'
scrape_interval: 10s
static_configs:
- targets: ['localhost:9443']
甚至,当我在浏览器中转到端点
http://localhost:9443/metrics
时,我都会获得所有指标。我在这里做错什么了。普罗米修斯指标如何在其界面上而不是对等方的界面上显示? 最佳答案
您的prometheus容器未在主机网络上运行。它在自己的网桥(由docker-compose创建的网桥)上运行。因此,对等端的scrape配置应指向对等容器的IP。
推荐的解决方法:
在docker-compose for prometheus堆栈中,您可以像这样引用它:
networks:
default:
external:
name: <your-hyperledger-network>
(使用
docker network ls
查找网络名称)然后,您可以在抓取配置中使用
http://<peer_container_name>:9443
关于docker - 出现错误 "Get http://localhost:9443/metrics: dial tcp 127.0.0.1:9443: connect: connection refused",我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54397463/