监控Hyperledger Fabric的运行参数详细流程 Prometheus+Grafana方案

1.修改docker-compose文件

多机部署Fabric可以参考这篇文章

1.1修改orderer节点启动参数

cd /home/yujialing/go/src/github.com/hyperledger/fabric-samples/multiple-deployment

修改docker-compose-up.yaml文件,在environment处增加:

- ORDERER_OPERATIONS_LISTENADDRESS=0.0.0.0:8443
- ORDERER_METRICS_PROVIDER=prometheus

修改完成后如图所示,网络中所有orderer的environment处都要添加,同机节点的端口号不要冲突
监控Hyperledger Fabric的运行参数详细流程 Prometheus+Grafana方案

1.2修改peer节点启动参数

environment处增加:

- CORE_OPERATIONS_LISTENADDRESS=0.0.0.0:10443
- CORE_METRICS_PROVIDER=prometheus
监控Hyperledger Fabric的运行参数详细流程 Prometheus+Grafana方案

2.配置Prometheus

2.1 拉取Prometheus镜像

配置一下镜像目的域名的ip映射,有vpn的小伙伴可以直接pull镜像

ping github-production-release-asset-2e65be.s3.amazonaws.com
监控Hyperledger Fabric的运行参数详细流程 Prometheus+Grafana方案

hosts文件处配置一下ip地址映射

sudo vim /etc/hosts

按照以下格式写进hosts文件

52.216.138.xxx github-production-release-asset-2e65be.s3.amazonaws.com

I插入,插入完成后按ESC退出插入,输入:wq!保存退出,如下图所示
监控Hyperledger Fabric的运行参数详细流程 Prometheus+Grafana方案

重启一下网络
Ubuntu

sudo /etc/init.d/networking restart

CentOS

sudo /etc/init.d/network restart

执行拉取prometheus镜像指令

docker pull prom/prometheus
监控Hyperledger Fabric的运行参数详细流程 Prometheus+Grafana方案

2.2下载Prometheus到Hyperledger文件夹下

cd /home/yujialing/go/src/github.com/hyperledger
wget https://github.com/prometheus/prometheus/releases/download/v2.23.0/prometheus-2.23.0.linux-amd64.tar.gz
tar -xvzf prometheus-2.23.0.linux-amd64

编辑prometheus.yml配置文件

cd prometheus-2.23.0.linux-amd64

scrape_configs选项下添加,域名和端口号根据实际更改

- job_name: 'hyperledger_metrics'
  scrape_interval: 10s
  static_configs:
  - targets: ['orderer0.amops.com:8443','orderer1.amops.com:9443','orderer2.amops.com:8443','peer0.agridepart.amops.com:10443','peer1.agridepart.amops.com:11443','peer0.agrimacowner.amops.com:9443','peer1.agrimacowner.amops.com:10443']

如图所示:
监控Hyperledger Fabric的运行参数详细流程 Prometheus+Grafana方案

2.3启动prometheus服务

docker run -d --name prometheus-server -p 9090:9090 \
  --restart always \
  -v /home/yujialing/go/src/github.com/hyperledger/prometheus-2.23.0.linux-amd64/prometheus.yml:/prometheus.yml \
  prom/prometheus \
  --config.file=/prometheus.yml

查看FabricNetworkMode

docker inspect orderer0.amops.com 
监控Hyperledger Fabric的运行参数详细流程 Prometheus+Grafana方案

查看prometheus容器id

docker ps
监控Hyperledger Fabric的运行参数详细流程 Prometheus+Grafana方案

prometheus容器加入Fabric网络,格式docker network connect <NetworkMode> <prometheus的容器id>

docker network connect multiple-deployment_default 07e9a1f03a59

3.访问Prometheus监控页面

通过主机IP:9090的方式访问,在输入框中输入scrape_samples_scraped

scrape_samples_scraped
监控Hyperledger Fabric的运行参数详细流程 Prometheus+Grafana方案

点击Status中的Targets可以各节点的状态,目前只能看到Prometheus所在主机的节点状态,其他主机的状态显示连接错误,目前正在解决中(知道怎么解决的小伙伴可以提出来,谢谢你)。其他选项可以查看其他参数,各位小伙伴自行操作
监控Hyperledger Fabric的运行参数详细流程 Prometheus+Grafana方案

4.Grafana配置

下载Grafana

cd /home/yujialing/go/src/github.com/hyperledger
wget https://dl.grafana.com/oss/release/grafana-7.3.5.linux-amd64.tar.gz
tar -zxvf grafana-7.3.5.linux-amd64.tar.gz
cd grafana-7.3.5/bin
./grafana-server

打开浏览器,通过Grafana所在主机的IP:端口号的形式访问控制面板,默认账号和密码均为admin
监控Hyperledger Fabric的运行参数详细流程 Prometheus+Grafana方案

登陆进来界面如下所示:
监控Hyperledger Fabric的运行参数详细流程 Prometheus+Grafana方案

选择配置菜单,点击增加数据源
监控Hyperledger Fabric的运行参数详细流程 Prometheus+Grafana方案

选择Prometheus作为数据源
监控Hyperledger Fabric的运行参数详细流程 Prometheus+Grafana方案

输入部署Prometheus所在的主机IP9090端口号,例如http://192.168.171.xxx:9090,输入完成后拉到最下面点击Save and Test
监控Hyperledger Fabric的运行参数详细流程 Prometheus+Grafana方案

访问Grafana官网,下载Fabric模板的JSON文件

https://grafana.com/

选择Grafana菜单进入Dashboards界面
监控Hyperledger Fabric的运行参数详细流程 Prometheus+Grafana方案

在搜索框中输入Fabric后选择Hyperledger Fabric Monitoring for 1.4
监控Hyperledger Fabric的运行参数详细流程 Prometheus+Grafana方案

把Json文件下载下来
监控Hyperledger Fabric的运行参数详细流程 Prometheus+Grafana方案

下载完成后回到Grafana面板,导入刚刚下载完成的Json文件
监控Hyperledger Fabric的运行参数详细流程 Prometheus+Grafana方案

点击Upload JSON file选择文件
监控Hyperledger Fabric的运行参数详细流程 Prometheus+Grafana方案
点击import导入
监控Hyperledger Fabric的运行参数详细流程 Prometheus+Grafana方案

导入完成后界面长这个样子,但有一些没数据,那么我们测试一下是否有数据
监控Hyperledger Fabric的运行参数详细流程 Prometheus+Grafana方案

比如通过Fabric Version查看指标是什么,点击下拉框,选择编辑按钮

监控Hyperledger Fabric的运行参数详细流程 Prometheus+Grafana方案

采用的是fabric_version
监控Hyperledger Fabric的运行参数详细流程 Prometheus+Grafana方案

那我们增添新的仪表板测试一下
监控Hyperledger Fabric的运行参数详细流程 Prometheus+Grafana方案

设置指标
监控Hyperledger Fabric的运行参数详细流程 Prometheus+Grafana方案

其实是有数据的,只是数据参数设置不对
监控Hyperledger Fabric的运行参数详细流程 Prometheus+Grafana方案

我们返回主界面,把新建的仪表板移除
监控Hyperledger Fabric的运行参数详细流程 Prometheus+Grafana方案

再次编辑Fabric Version
监控Hyperledger Fabric的运行参数详细流程 Prometheus+Grafana方案

Options看到Field确实是version,但显示的是version的名称,我们将Name改为Current(当前值),注意:Fabric Version展现的是当前值,但其他的像交易提案成功次数应该设置为Total
监控Hyperledger Fabric的运行参数详细流程 Prometheus+Grafana方案

版本号就出来了,随后点击应用回到主界面
监控Hyperledger Fabric的运行参数详细流程 Prometheus+Grafana方案

主界面的Fabric Version就显示正常
监控Hyperledger Fabric的运行参数详细流程 Prometheus+Grafana方案

各位小伙伴按需设计与分配可达到自己满意的效果
监控Hyperledger Fabric的运行参数详细流程 Prometheus+Grafana方案

使用Prometheus+Grafana监控Hyperledger Fabric的运行参数详细流程大概就是上文所述

欢迎小伙伴讨论,如有错误请在评论区评论或发私聊消息,谢谢你。

上一篇:Python自动化运维工具-Fabric部署及使用总结


下一篇:.Net core NPOI导入导出Excel