http://www.7klian.com

以太坊2.0 POS挖矿教程:手把手教你在Topaz测试网举办Staking(告警篇)

./prysm.sh validator –enable-account-metrics

新建告警法则设置文档并设置法则
设置如下,我们在global部门设置了发送邮箱,在receivers部门设置了接管邮箱。
以太坊2.0 POS挖矿(ETH2 Staking)教程(二)Topaz测试网-监控篇

  - alert: ETH2 alert test
    expr: validator_balance - validator_balance offset 5m >= 0
    for: 1m
    annotations:
      summary: "ETH2 alert test"
      description: "ETH2 balance increased {{ $value }} ETH. Pubkey: {{ $labels.pubkey }}"

法则生效后不久假如收到如下名目标邮件则说明邮件发送成果正常:

查察Prometheus的告警法则是否生效
下载代码

 
个中需要修改的处所已经在行位用#注释标出。

 

 
2.0 POS挖矿(ETH2 Staking)
教程(一)Topaz测试网

搭建Alertmanager,以吸收Prometheus发来的告警信息

# Staking loss

我们需要新建一个告警法则设置文档,然后将文档添加到prometheus.yml中。
expr:PromQL查询语句,此处指假如验证者当前余额低于5分钟前的余额,则触发告警(刚触发时并不会直接发送给Alertmanager,见下面临for的表明)。想相识更多可自行搜索或查阅官方文档。

 

如图所示,Prometheus将告警内容发送至Alertmanager,Alertmanager按照设置将告警信息发送至方针。

 
概览

# Alertmanager configuration
alerting:
  alertmanagers:
  - static_configs:
    - targets:
      - alertmanager:9093 # delete comment of this line

修改完成后生存,然后利用kill -HUP PID使Prometheus从头载入设置即可。

for:该法则触发后一连多久才会将告警信息通知给Alertmanager。这里配置15分钟,即验证者当前额度低于5分钟前额度的时间持续高出15分钟时,才会将此告警信息发送到Alertmanager。

在之前的教程中已经先容了开启Staking的要领和监控不变性的方法:
设置Prometheus,将其与Alertmanager通信

我们需要查抄:1. Prometheus的告警法则是否生效。 2. Alertmanager的邮件发送成果是否正常。
目次中的alertmanager.yml为设置文件。首先我们实验通过邮件的方法发送告警信息。
 

设置Alertmanager的告警法则

搭建Alertmanager
annotations:告警内容,此处包罗summary和description。此处用{{ $value }}显示余额较5分钟前淘汰的数额,用{{ $labels.pubkey }}显示验证者地点。

修改完后生存文档退出即可。
 

Prometheus提供的独立东西Alertmanager可以轻松实现异常告警。本文将先容如何利用此东西来实现Staking余额异常告警。

global:
  resolve_timeout: 5m
  smtp_from: 'xxx@qq.com' #email will be sent through this
  smtp_smarthost: 'smtp.qq.com:465'
  smtp_auth_username: 'xxx@qq.com' #email address
  smtp_auth_password: 'xxxxxxxxxxxxx' #auth code, not password of email!
  smtp_require_tls: false
  smtp_hello: 'qq.com'
route:
  group_by: ['alertname']
  group_wait: 10s
  group_interval: 10s
  repeat_interval: 1h
  receiver: 'eth2staking'
receivers:
- name: 'web.hook'
  webhook_configs:
  - url: 'http://127.0.0.1:5001/'

- alert: ETH2 staking loss expr: validator_balance - validator_balance offset 5m < 0 for: 15m annotations: summary: "ETH2 balance(offset 5m) decreased." description: "ETH2 balance(offset 5m) decreased by {{ $value }} ETH. Pubkey: {{ $labels.pubkey }}"

这条法则的意思是验证者当前余额低于5分钟之前的余额,则触发告警。各部门表明:

Alertmanager是一个专注于发送告警信息的组件,固然由同一个团队开拓,但独立于Prometheus server。这意味着它很是适合共同Prometheus举办告警信息的发送,也可以共同其他的系统举办运作。官方示意图如下:

假如Prometheus中没有找到validator的相关指标,则需要重启验证者客户端并添加参数:
因此,要完成Staking的异常告警,我们需要举办3项事情:

 

Alertmanager很是接地气地实现了一些常见的通讯软件的设置,好比微信,见官方文档中的<wechat_config>。

到官方下载页面下载对应的Alertmanager。
在Alert页面(http://localhost:9090/alert)可看到如下显示,则说明告警法则已经乐成添加。

想仔细探究的话可以会见官方文档:https://prometheus.io/docs/alerting/overview/

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

相关文章阅读