以太坊2.0 POS挖礦(ETH2 Staking)教程(二)Topaz測試網(wǎng)-監(jiān)控篇

在上一篇教程中已經(jīng)介紹了開啟Staking的方法:
以太坊2.0 POS挖礦(ETH2 Staking)教程(一)Topaz測試網(wǎng)

由于Staking要求驗證著24/7保持在線才能持續(xù)獲得收益斗躏,如果驗證者離線一小段時間派草,將會有少量的懲罰;如果長時間離線掂墓,懲罰金額會隨著時間大幅上升铝宵。關于該機制的簡單介紹打掘,可見這篇文章中的“驗證者激勵措施”部分。
因此鹏秋,有必要對Staking進行實時監(jiān)控碱鳞,以便在出現(xiàn)問題時接收到告警并及時處理岸浑,避免損失擴大钳枕。
本文將從簡單到復雜梦重,介紹幾種監(jiān)控的方法。

準備工作——獲取驗證者public key

1. 從存款交易獲取

打開metamask百拓,找到那筆32ETH的存款交易琴锭,然后點擊“通過etherscan瀏覽”晰甚。可看到那筆交易對應的驗證者public key决帖。

2. 從驗證者密鑰目錄查看

進入密鑰目錄后查看validatorprivate****的文件厕九,找到"publickey"部分即可。

# 進入目錄
cd ~/.eth2validators
# 打開validatorprivate開頭的文件
vim validatorprivatekey*****
# 打開后找到"publickey"部分即可

區(qū)塊鏈瀏覽器查看驗證者狀態(tài)

最簡單的方式就是通過訪問區(qū)塊鏈瀏覽器網(wǎng)站監(jiān)控驗證者狀態(tài)地回。https://beaconcha.in或者https://beacon.etherscan.io扁远,輸入Public Key即可查看當前狀態(tài)和歷史收益。

驗證者狀態(tài)——beaconcha.in為例

使用云主機服務提供商的的監(jiān)控看板

大部分云主機服務提供商都提供了主機性能監(jiān)控和告警的功能落君。如果在云主機上進行Staking,可使用云服務上提供的資源監(jiān)控告警功能亭引。
信標鏈客戶端占用內(nèi)存大約在2.5GB-3.5GB之間绎速,進程如果終止內(nèi)存會導致內(nèi)存驟降,可通過內(nèi)存使用率/使用量的異常進行側面監(jiān)控焙蚓。
同時可對網(wǎng)絡流量纹冤、機器是否正常運行設置更多維度的監(jiān)控。

通過prometheus監(jiān)控

Prometheus是一款流行的實時監(jiān)控工具购公。按照要求開發(fā)服務并設置監(jiān)聽端口后萌京,可通過prometheus訪問端口獲取數(shù)據(jù)進行監(jiān)控。
prysm已經(jīng)內(nèi)置了針對prometheus的監(jiān)聽服務宏浩,因此可以只需對prometheus進行簡單的配置即可對信標鏈和驗證者客戶端進行監(jiān)控知残。
如果想自行研究,可參考官方教程比庄。以下是簡要步驟:

tar xvfz prometheus-*.tar.gz
cd prometheus-*
  • 用screen新建一個session并啟動prometheus:
# 新建一個session
screen -S prometheusETH2
# 啟動prometheus
./prometheus --config.file=prometheus.yml
# 啟動完成后按住CTRL+A+D退出session
  • 修改配置文件prometheus.yml
    默認的配置文件底部可看到- targets: ['localhost:9090']求妹,表示進程會從本機9090端口抓取數(shù)據(jù)。9090是prometheus提供的監(jiān)控自己運行指標的端口佳窑。prysm的信標鏈和驗證者的指標端口分別是8080和8081制恍,將兩個端口加入到配置文件的targets即可。完成后的prometheus.yml如下:
# my global config
global:
  scrape_interval:     15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
  evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
  # scrape_timeout is set to the global default (10s).

# Alertmanager configuration
alerting:
  alertmanagers:
  - static_configs:
    - targets:
      # - alertmanager:9093

# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
  # - "first_rules.yml"
  # - "second_rules.yml"

# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: 'prometheus'

    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.

    static_configs:
    - targets: ['localhost:9090']

  # 添加以下targets以監(jiān)控信標鏈和驗證者
  - job_name: 'beacon-chain'
    static_configs:
    - targets: ['localhost:8080']

  - job_name: 'validator'
    static_configs:
    - targets: ['localhost:8081']

修改完成后神凑,通過promtool檢查配置文件正確性:

./promtool check config prometheus.yml

驗證無誤后可以看到如下信息:

Checking prometheus.yml
  SUCCESS: 0 rule files found
  • 使prometheus重新載入配置文件
    通過ps -aux | grep prometheus找到prometheus運行的進程號(PID)净神,并通過以下命令通知該進程重新載入配置文檔:
kill -HUP PID
  • 查看監(jiān)控指標
    通過本機訪問http://localhost:9090即可看到prometheus的圖形化監(jiān)控頁面。如果使用linux云主機溉委,則需要開放9090,8080,8081三個端口并通過瀏覽器訪問服務器鹃唯。
    點擊菜單欄的Status >> Targets可看到配置文件中設置的targets:
    targets

    回到prometheus
    點擊Endpoint中的鏈接可看到看到該target中的所有指標。
    進入validator的Endpoint(http://localhost:8081/metrics)瓣喊,可在頁面底部看到驗證者相關指標:
    驗證者的metrics

    選取其中的指標輸入到Graph頁面即可俯渤。例如想觀測驗證者的ETH余額增長情況,只需要點擊菜單的Graph型宝,輸入validator_balance后點擊Execute八匠,并在下方切換到Graph標簽即可查看走勢(我這里有2個驗證者絮爷,所以有2條曲線):
    查看余額走勢

    點擊下方的Add Graph可添加任意數(shù)量的圖表,實現(xiàn)多個圖表的看板梨树。

優(yōu)缺點

以上不同的監(jiān)控方式各有優(yōu)劣坑夯。對比如下:

區(qū)塊鏈瀏覽器 云主機監(jiān)控告警 prometheus
監(jiān)控維度 驗證者節(jié)點狀態(tài)和余額變動 主機性能指標波動 信標鏈和驗證者的多項指標
指標豐富程度 一般 豐富
上手難度 簡單 中等 較為復雜
是否需要信任第三方的區(qū)塊鏈信息? -
是否直接監(jiān)控驗證者抡四?
主機斷電或網(wǎng)絡斷開時是否有效柜蜈?
風險點 網(wǎng)站數(shù)據(jù)有誤、網(wǎng)站無法訪問時無法監(jiān)控 進程運行但執(zhí)行異常時無法監(jiān)控到 主機斷電或網(wǎng)絡斷開時無法監(jiān)測指巡;
prometheus進程終止或出現(xiàn)異常時監(jiān)測功能失效淑履。

綜上,較為保險的做法是主機性能指標監(jiān)控+prometheus藻雪,另外亦可將prometheus部署在另一臺機器上秘噪,這樣當主機宕機或網(wǎng)絡斷開時也能觀測到異常指標。

監(jiān)控有了勉耀,告警呢指煎?

說了這么多,難道需要一個人啥事不干整天盯著指標嗎便斥?當然不是啦至壤,下一篇就會介紹如何對異常進行告警。不要錯過哦枢纠。

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末像街,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子晋渺,更是在濱河造成了極大的恐慌宅广,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,042評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件些举,死亡現(xiàn)場離奇詭異跟狱,居然都是意外死亡,警方通過查閱死者的電腦和手機户魏,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評論 2 384
  • 文/潘曉璐 我一進店門驶臊,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人叼丑,你說我怎么就攤上這事关翎。” “怎么了鸠信?”我有些...
    開封第一講書人閱讀 156,674評論 0 345
  • 文/不壞的土叔 我叫張陵纵寝,是天一觀的道長。 經(jīng)常有香客問我星立,道長爽茴,這世上最難降的妖魔是什么葬凳? 我笑而不...
    開封第一講書人閱讀 56,340評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮室奏,結果婚禮上火焰,老公的妹妹穿的比我還像新娘。我一直安慰自己胧沫,他們只是感情好昌简,可當我...
    茶點故事閱讀 65,404評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著绒怨,像睡著了一般纯赎。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上南蹂,一...
    開封第一講書人閱讀 49,749評論 1 289
  • 那天犬金,我揣著相機與錄音,去河邊找鬼碎紊。 笑死佑附,一個胖子當著我的面吹牛樊诺,可吹牛的內(nèi)容都是我干的仗考。 我是一名探鬼主播,決...
    沈念sama閱讀 38,902評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼词爬,長吁一口氣:“原來是場噩夢啊……” “哼秃嗜!你這毒婦竟也來了?” 一聲冷哼從身側響起顿膨,我...
    開封第一講書人閱讀 37,662評論 0 266
  • 序言:老撾萬榮一對情侶失蹤锅锨,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后恋沃,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體必搞,經(jīng)...
    沈念sama閱讀 44,110評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年囊咏,在試婚紗的時候發(fā)現(xiàn)自己被綠了恕洲。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,577評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡梅割,死狀恐怖霜第,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情户辞,我是刑警寧澤泌类,帶...
    沈念sama閱讀 34,258評論 4 328
  • 正文 年R本政府宣布,位于F島的核電站底燎,受9級特大地震影響刃榨,放射性物質(zhì)發(fā)生泄漏弹砚。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,848評論 3 312
  • 文/蒙蒙 一喇澡、第九天 我趴在偏房一處隱蔽的房頂上張望迅栅。 院中可真熱鬧,春花似錦晴玖、人聲如沸读存。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,726評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽让簿。三九已至,卻和暖如春秀睛,著一層夾襖步出監(jiān)牢的瞬間尔当,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,952評論 1 264
  • 我被黑心中介騙來泰國打工蹂安, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留椭迎,地道東北人。 一個月前我還...
    沈念sama閱讀 46,271評論 2 360
  • 正文 我出身青樓田盈,卻偏偏與公主長得像畜号,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子允瞧,可洞房花燭夜當晚...
    茶點故事閱讀 43,452評論 2 348