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處都要添加,同機節點的埠號不要沖突

1.2修改peer節點啟動引數
在environment處增加:
- CORE_OPERATIONS_LISTENADDRESS=0.0.0.0:10443
- CORE_METRICS_PROVIDER=prometheus
2.配置Prometheus
2.1 拉取Prometheus鏡像
配置一下鏡像目的域名的ip映射,有vpn的小伙伴可以直接pull鏡像
ping github-production-release-asset-2e65be.s3.amazonaws.com
去hosts檔案處配置一下ip地址映射
sudo vim /etc/hosts
按照以下格式寫進hosts檔案中
52.216.138.xxx github-production-release-asset-2e65be.s3.amazonaws.com
按I插入,插入完成后按ESC退出插入,輸入:wq!保存退出,如下圖所示

重啟一下網路
Ubuntu:
sudo /etc/init.d/networking restart
CentOS:
sudo /etc/init.d/network restart
執行拉取prometheus鏡像指令
docker pull prom/prometheus
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']
如圖所示:

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
查看Fabric的NetworkMode
docker inspect orderer0.amops.com
查看prometheus的容器id
docker ps
將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
點擊Status中的Targets可以各節點的狀態,目前只能看到Prometheus所在主機的節點狀態,其他主機的狀態顯示連接錯誤,目前正在解決中(知道怎么解決的小伙伴可以提出來,謝謝你),其他選項可以查看其他引數,各位小伙伴自行操作

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:3000的形式訪問控制面板(3000是埠號),默認賬號和密碼均為admin

登陸進來界面如下所示:

選擇配置選單,點擊增加資料源

選擇Prometheus作為資料源

輸入部署Prometheus所在的主機IP加9090埠號,例如http://192.168.171.xxx:9090,輸入完成后拉到最下面點擊Save and Test

訪問Grafana官網,下載Fabric模板的JSON檔案
https://grafana.com/
選擇Grafana選單進入Dashboards界面

在搜索框中輸入Fabric后選擇Hyperledger Fabric Monitoring for 1.4

把Json檔案下載下來

下載完成后回到Grafana面板,匯入剛剛下載完成的Json檔案

點擊Upload JSON file選擇檔案

點擊import匯入

匯入完成后界面長這個樣子,但有一些沒資料,那么我們測驗一下是否有資料

比如通過Fabric Version查看指標是什么,點擊下拉框,選擇編輯按鈕
采用的是fabric_version

那我們增添新的儀表板測驗一下

設定指標

其實是有資料的,只是資料引數設定不對

我們回傳主界面,把新建的儀表板移除

再次編輯Fabric Version

在Options看到Field確實是version,但顯示的是version的名稱,我們將Name改為Current(當前值),注意:Fabric Version展現的是當前值,但其他的像交易提案成功次數應該設定為Total

版本號就出來了,隨后點擊應用回到主界面

主界面的Fabric Version就顯示正常

各位小伙伴按需設計與分配可達到自己滿意的效果

使用Prometheus+Grafana監控Hyperledger Fabric的運行引數詳細流程大概就是上文所述
歡迎小伙伴討論,如有錯誤請在評論區評論或發私聊訊息,謝謝你,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/236643.html
標籤:區塊鏈
上一篇:區塊鏈著作權技術應用落地解決方案
