驗證人工具介紹 ---Tenderduty 2
先說成果:
傳送門:https://tenderduty.sq-face-res.ml/
Tenderduty 是甚麼?
Tenderduty 是Tendermint chains的全面監控工具,主要的功能是提醒驗證人他們的簽點沒有按時簽署區塊。隨著version 2的發展,已經加入其他功能。
安裝方法
跟著他的安裝方法便好,都很清楚和簡單。要注意,如果build from source, Golang version要求v1.18以上。
主要工作:修改Config.yml
使用Tenderduty v2 最主要是要修改config.yml。文件內的example-config.yml有很詳細Comment指引你如何修改Config.yml。我在此指出對我最重要的幾點
修改Dashboard和通知設定
(line10) hide_logs: no
這行是控制 Dashboard 會否展示Logs。如果你期望Dashboard公開給所有人看,應改做yes,因為logs 會顯示你Node的ip address
(line29-33)Discord setting
如果你有自己的Discord bot,你可以把webhook資料放進去,有任何事情便會用Discord bot 通知你。(但我沒有用Discord bot,沒有設定)
(line36-42)Telegram setting
如果有Telegram bot,你可以把API_key 和Chat ID 放進去。我是用Telegram通知自己的,所以我問TG Bot_father拿了自己的API Token,找出了Chat ID,放了進去,然後在line 38的enabled: 改了 yes。Tenderduty 便通知我了。
Tenderduty 還支援pagerduty,不過我沒有用過,所以跳過。
修改Chain 資料
之後,要修改Chain資料。最重要是Chain_id 要正確,Valoper_address要正確:必需是Operator address (xxxxvaloperxxxxx),以我的節點為例,Chihuahua的validator地址是chihuahuavaloper1x8drn3260ezg3se6j7w7wqhy090u4wsjt9raj8。之後是一些Alert設定,按你喜歡的設定便好了
最後是Nodes的設定,記得不要用public nodes,不要因為自己的工具打爆public nodes。Tenderduty都設定了,如果你的nodes全都死了,會自動使用public nodes。
加入第二條(或以上)的Chain
由user-friendly name 開始複製,直到最後 (line48起),或者用以下的Code
chains: "Osmosis": chain_id: osmosis-1 valoper_address: osmovaloper1xxxxxxx... alerts: consecutive_enabled: yes consecutive_missed: 5 telegram: enabled: yes nodes: - url: tcp://localhost:26657 - alert_if_down:yes
加入所有後,便完成了!
完成後,便可以開始使用
docker-compose up -d 或 ~/go/bin/tenderduty
完成!之後便可以到http://localhost:8888看到你美麗的Dashboard 了!然有甚麼問題時,tenderduty 亦會透過你選擇的Alert方法提示你!
Reference:
https://github.com/blockpane/tenderduty
開發者Twitter: https://twitter.com/blockpane
後記:
1) 安裝Tenderduty v2的體驗太好,忍不住要寫一篇文歌頌一下。亦真心推薦。
2) 我知道用Freenom 不好...不過之前用來Test時買了,既然未到期便「用住先」啦...還有,想改個帥氣一點的名字才買Domain,大家有提議嗎?