搭建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官網找到。效果如下(因為還未在測試網部署通道和發送交易。所以賬本交易和背書提案等無數據)

   

 

 

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM