運維福音!一文了解區塊鏈運維監控平臺

買賣虛擬貨幣

導語:區塊鏈運維監控平臺的建立旨在將各個地區不同節點透過監控的方式將資料進行視覺化展現,便於為運維人員提供各節點基礎監控和業務監控服務,並透過監控告警將節點故障的發生到響應處理的過程時間最小化,提高運維人員對節點的運維管理效率。

1

區塊鏈運維監控平臺的必要性

監控,是網際網路工業鏈上非常重要的一環,監控的目的就是防患於未然以及事後覆盤。

區塊鏈技術的核心優勢本就是去中心化、集體維護、時序資料等,搭建區塊鏈運維監控平臺的主要目的是為了實時監控自有節點健康狀態,及時響應節點故障,保障節點的持續穩定執行,以減少因節點故障而造成的經濟損失。

2

區塊鏈運維監控平臺的基礎架構

區塊鏈運維監控平臺提供了方便的批次部署主機監控的方式,可以自動化安裝Zabbix-agent,大大縮減了部署的時間,透過自定義監控項,完成對應用的監控的不同的資料的採集,利用Grafana友好的顯示效果圖,展示節點主機的CPU、記憶體、網路、磁碟、以及業務相關的監控資訊,透過ElasticSearch來儲存歷史資料,延長了歷史資料的保留時長。

區塊鏈運維監控平臺是透過Ansible、Zabbix、Grafana、MySQL、ElasticSearch來實現:

基於Ansible編寫Role角色,來實現批次部署和自動化,自動區分Centos和Ubuntu系統,並安裝Zabbix-agent、新增磁碟監控指令碼。

透過Ansible的Playbook來分發不同業務上的應用的指令碼,透過指令碼來獲取監控資料。

透過編寫Zabbix的自定義模板來獲取資料並設定告警,將主機、監控項、觸發器等資訊儲存在MySQL,將歷史資料儲存在ElasticSearch。

利用Grafana呼叫Zabbix-api來獲取主機資料,並展示不同的監控資料。

區塊鏈運維監控平臺基礎架構圖,如圖1所示。

圖1:區塊鏈運維監控平臺基礎架構圖

現區塊鏈運維監控平臺,監控約100個節點,MySQL存放了約4000可用監控項,1500個觸發項。如有需求的話,Zabbix每秒鐘可處理上萬條資料。ElasticSearch中儲存的歷史資料,如不考慮成本問題的話,資料可長期存放。

3

區塊鏈運維監控平臺的監控項

作為一套完整的區塊鏈運維監控平臺,不僅僅是對主機的基礎項的監控,還有區塊鏈節點相關業務的監控項。區塊鏈運維監控平臺節點監控項分為兩種:一種是節點基礎監控項,一種是區塊鏈業務監控項。透過對這些監控項使得運維人員可以更加直觀的瞭解各節點狀態,也方便了開發和測試人員對專案的測試和調優。

3.1、區塊鏈基礎監控項

首先關於監控平臺的節點主機基礎監控項。關於這些節點主機基礎監控項運維人員需要知道:節點主機的CPU是如何工作的其使用率、需要佔用多少的Memory、磁碟的使用比例、網路流量的消耗、磁碟的IOPS、每秒上下文切換。確認了這些節點主機基礎的監控項後還需要明確對其報警的閾值是多少後,需要設定達到了這個值就透過郵件或者電話的報警方式通知運維人員,引起注意。

具體區塊鏈基礎監控項展示圖,如圖2所示。

圖2:區塊鏈基礎監控項展示圖

3.2、區塊鏈業務監控項

除了節點主機的基礎監控之外,還有節點業務相關的監控項。比如:節點主機Peers的連線數、節點主機的塊高同步數、節點主機RPC埠的響應時間、PlatON程序的狀態、單個節點在驗證節點中的排位數、控制代碼數、區塊鏈交易Pending數量資訊、NTP服務狀態;周邊應用等狀態資訊。

具體區塊鏈業務監控項展示圖,如圖3所示。

圖3:區塊鏈業務監控項展示圖

根據需求將各個節點的某些單個指標整合集合至各自的單個節點指標版塊,這樣便於對比檢視狀態,這樣對使用者的觀看更加友好,不用點進節點監控項裡一個一個檢視。

比如像節點的塊高趨勢、節點的排名、節點的程序狀態這些監控項。在同一版塊展示能夠實時、直觀的瞭解和對比這些指標。

舉例對於區塊鏈塊高的整合單個指標版塊展示圖,如圖4所示。

圖4:區塊鏈單個指標版塊展示圖

4

區塊鏈運維監控平臺告警方式

區塊鏈運維監控平臺告警方式分為郵件告警和電話告警:

一般告警--只透過郵件告警,將告警郵件傳送到告警郵箱。

嚴重告警--將告警郵件傳送到告警郵箱,並告警到二級運維人員郵箱,透過電話告警通知值班人員,當電話告警並沒有引起值班人員注意時,則電話通知備崗值班人員。

具體區塊鏈運維監控平臺告警設計圖,如圖5所示。

圖5:區塊鏈運維監控平臺告警設計圖

5

區塊鏈運維監控平臺的穩定性

區塊鏈運維監控平臺,其監控資料重要性不言而喻,提供安全可靠的資料保障是運維部門的職責所在。

如果區塊鏈運維監控平臺資料庫只有一臺伺服器那麼很容易就產生單點故障的問題,比如說這臺伺服器訪問壓力過大而沒有響應或者崩潰,那麼服務就不可用,再比如這臺伺服器出現意外情況,導致整個資料庫的資料全部丟失,就會造成重大的安全事故。

為了避免服務的不可用性以及保障資料的安全可靠性,至少需要部署兩臺或兩臺以上的伺服器來儲存資料庫資料,也就是需要將資料複製多份部署在多臺不同的伺服器上,即使有一臺伺服器出現故障了,其他伺服器依然可以繼續提供服務。

區塊鏈運維監控平臺透過MySQL主從、ElasticSearch叢集的方式,來實現了區塊鏈運維監控平臺的高可用。大大提高了區塊鏈運維監控平臺的穩定性。

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;