因此可以只需对prometheus进行简单的配置即可对信标链和验证者客户端进行监控。验证者状态——beaconcha.in为例 使用云主机服务提供商的的监控看板 大部分云主机服务提供商都提供了主机性能监控和告警的功能。
在上一篇教程中已经介绍了开启Staking的方法: 以太坊2.0 POS挖矿(ETH2 Staking)教程(一)Topaz测试网
由于Staking要求验证着24/7保持在线才能持续获得收益,如果验证者离线一小段时间,将会有少量的惩罚;如果长时间离线,惩罚金额会随着时间大幅上升。关于该机制的简单介绍,可见这篇文章中的“验证者激励措施”部分。
因此,有必要对Staking进行实时监控,以便在出现问题时接收到告警并及时处理,避免损失扩大。
本文将从简单到复杂,介绍几种监控的方法。
# 进入目录 cd ~/.eth2validators # 打开validatorprivate开头的文件 vim validatorprivatekey***** # 打开后找到"publickey"部分即可

验证者状态——beaconcha.in为例
tar xvfz prometheus-*.tar.gz cd prometheus-*
# 新建一个session screen -S prometheusETH2 # 启动prometheus ./prometheus --config.file=prometheus.yml # 启动完成后按住CTRL+A+D退出session
scrape_configs: # The job name is added as a label `job=` to any timeseries scraped from this config. - job_name: 'prometheus'修改完成后,通过promtool检查配置文件正确性:# metrics_path defaults to '/metrics' # scheme defaults to 'http'.
static_configs: - targets: ['localhost:9090']
# 添加以下targets以监控信标链和验证者 - job_name: 'beacon-chain' static_configs: - targets: ['localhost:8080']
- job_name: 'validator' static_configs: - targets: ['localhost:8081']
./promtool check config prometheus.yml验证无误后可以看到如下信息:
Checking prometheus.yml SUCCESS: 0 rule files found
kill -HUP PID

点击Endpoint中的链接可看到看到该target中的所有指标。 进入validator的Endpoint(http://localhost:8081/metrics),可在页面底部看到验证者相关指标:

选取其中的指标输入到Graph页面即可。例如想观测验证者的ETH余额增长情况,只需要点击菜单的Graph,输入validator_balance后点击Execute,并在下方切换到Graph标签即可查看走势(我这里有2个验证者,所以有2条曲线):

点击下方的Add Graph可添加任意数量的图表,实现多个图表的看板。
| 区块链浏览器 | 云主机监控告警 | prometheus | |
|---|---|---|---|
| 监控维度 | 验证者节点状态和余额变动 | 主机性能指标波动 | 信标链和验证者的多项指标 |
| 指标丰富程度 | 少 | 一般 | 丰富 |
| 上手难度 | 简单 | 中等 | 较为复杂 |
| 是否需要信任第三方的区块链信息? | 是 | - | 否 |
| 是否直接监控验证者? | 是 | 否 | 是 |
| 主机断电或网络断开时是否有效? | 是 | 是 | 否 |
| 风险点 | 网站数据有误、网站无法访问时无法监控 | 进程运行但执行异常时无法监控到 | 主机断电或网络断开时无法监测; prometheus进程终止或出现异常时监测功能失效。 |