搭建prometheus监控联盟链fabric2.0的测试网络

一. 搭建prometheus及相关工具

  参考本人写的另一篇博客

        https://www.cnblogs.com/dongjl/p/13796030.html

二. 搭建fabric2.0测试网络(2.0版本之前叫byfn,之后改名叫做test-network)

       参考官方文档的“Using the Fabric test network” https://hyperledger-fabric.readthedocs.io/en/release-2.2/test_network.html 

  根据官方说明,预先安装go,docker,docker-compose等工具,然后创建目录$GOPATH/src/github.com/hyperledger,在hyperledger目录下,推荐使用官方的脚本去一键部署环境,如下图所示。

        

  具体的步骤是,先git clone一个fabric-sample项目,然后在项目的父目录里,运行上面的命令。

  如果以上命令被墙了(不FQ的话大概率没法用),请考虑使用下面这个指令

  curl -sSL https://raw.githubusercontent.com/hyperledger/fabric/master/scripts/bootstrap.sh | bash -s(会安装需要的bin目录下的文件和docker中需要的iamge)

  可以看到上面这个命令使用的脚本其实就是fabric项目的scripts文件夹下的bootsrap脚本。也可以考虑自己把这个脚本复制到本地,然后再执行。

  以上这个脚本可能需要不少时间,会安装很多东西,特别是fabric 在docker中的几个映像比较大以及从git上下载东西很慢。这个脚本可以接受不同参数从而去忽略某些步骤。具体哪些参数,可以自己看脚本文件的内容。

  推荐的做法是,自己去clone fabric和fabric-ca的库,手动编译。而docker的镜像让脚本文件去帮你下载。这样比较快。

  如果不用以上这个脚本去做,会非常麻烦(我自己动手试了下,过程如下,如果使用脚本安装的,可以跳过下面这些步骤)。

  

  手动安装过程:

  在hyperledger目录下,git clone 命令去安装fabric ,fabric-ca和fabric-samples三个项目,然后去docker hub搜索docker需要下载的几个映像并下载对应版本(由于我实际是fabric2.2,所以映像也是下载2.2.x版本),如下图所示,同时注意把tag修改成latest,不然会报错

        

  在fabric ,fabric-ca两个目录里分别都执行命令make release,编译得到可执行工具,然后进入fabric-samples文件下创建子目录bin和config。将之前编译得到的所有可执行工具复制到bin目录,将fabric下子目录sampleconfig里的所有内容复制到config.

  接下来就可以在fabric-samples/test-network/目录下执行./network.sh up来启动测试网络啦。可以在上面部署和测试链码,体验fabric各种功能。

 

三、使用prometheus来监控fabric的测试网络

  我在学习中参考了官方文档的"The Operations Service"章节 https://hyperledger-fabric.readthedocs.io/en/release-2.2/operations_service.html 以及第三方教程 **请搜索Hyperledger Fabric的运维服务与可视化监控,来找到博客,因为网址含敏感词汇被博客园ban了**来学习(后者基于fabric1.4版本。脚本名,项目配置文件目录和文件名可能有所不同,自行斟酌)。

  注意:fabric-samples的子目录config 目录是必须存在的,否则network.sh脚本启动测试网络时会报错缺少二进制文件和配置文件,但是,config目录中的配置文件在启动阶段是用不到的!(原因可以自己看脚本代码。。)  排序节点和peer节点的配置都是通过fabric-samples/test-network/docker/docker-compose-test-net.ymal文件直接进行环境变量的设置。

  第一步,修改fabric-samples/test-network/docker/docker-compose-test-net.ymal文件

  打开docker-compose-test-net.ymal文件,进行如下图所示的修改。

  配置orderer

  

 

  配置peer,下图以其中一个节点为例

  

 

  第二步,修改prometheus.yml配置文件

  

   第三步,启动prometheus容器以及fabric测试网络。并将protmetheus加入测试网络的专用网络,从而可以监听端口。

  使用" docker inspect peer0.org2.example.com "命令查看peer容器的网络配置,得到网络模式名

  

 

  使用" sudo docker network connect net_test prometheus的容器id   "命令将prometheus加入网络“net_test”

  

  最后,可以通过浏览器访问local:9090得到如下图结果。配置成功。

  

 

   可以通过grafana可视化工具来监控,fabric的dashboard模板可以在grafana官网找到。效果如下(因为还未在测试网部署通道和发送交易。所以账本交易和背书提案等无数据)

   

 

 

  

 

posted @   布羽  阅读(1050)  评论(0编辑  收藏  举报
编辑推荐:
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
阅读排行:
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
点击右上角即可分享
微信分享提示