Coda Protocol 如何监控Coda节点运行正常

当运行一个Coda服务时无论是用于Produce出块,还是用于Snark的压缩,保证节点7X24小时在线不出问题都是最重要的。那么如何能保Coda的节点一切运行正常的。本文Bit Cat分享一下我们正在使用的办法。

获取当前块高脚本(Coda节点机器执行)

在Coda启动节完节点后可以通过:

coda client status

命令获取到 Coda node 节点的相关信息,形如:

在结果信息中的可以看到有一条数据:Block height: 11257,这个就是当前节点块高的信息。

配置Zabbix Agent(Coda节点机器执行)

1,安装

在Coda节点服务器上安装Zabbix Agent,详见Zabbix官网,本文不再赘述。

2,连接

配置Zabbix Agent连接Zabbix Server。

sudo vim /etc/zabbix/zabbix-agent.conf

确保以下字段配置正确:

Server={Zabbix Server地址}

ServerActive= {Zabbix Server地址}

Hostname= {Zabbix Agent主机名}

3,配置参数

配置Zabbix Agent的用户自定义参数。

sudo vim /etc/zabbix/zabbix-agent.conf

加入一以下配置字段:

UserParameter=get_height,coda client status | grep 'Block height:'

其中的get_height 是用于获取本机Coda块高用户自定义脚本。

4,启动

重启Zabbix Agent让配置生效

sudo systemctl restart zabbix-agent

配置Zabbix Server(Zabbix Server机器执行)

1,安装

在Zabbix Server服务器上安装Zabbix Server,详见Zabbix官网,本文不再赘述。

2、测试

登录已经安装好Zabbix Server的服务器,并执行以下命令测试Zabbix Agent是否配置成功

sudo zabbix_get -s {Zabbix Agent地址} -k get_height

可以发现成功获取到 Coda Node的块高信息。若Zabbix Server没有安装zabbix_get,执行以下命令安装:

sudo apt install zabbix-get

3、配置:

1)添加 Coda 节点主机

注意以下重要参数,填写后保存:

主机名称:随意填写

群组:选择合适的

Agent代理程序的接口:填写被监控的Zabbix agent的IP和端口

2)创建监控项

本文的配置使用的是Zabbix的模板功能,完成模板创建后再绑定到被监控的Coda主机上,你也可以直接在Coda主机的资源里直接创建相应的监控器和触发器。

注意以下重要参数,填写后保存:

名称:随意填写

键值:与Zabbix Agent中配置文件中配置的一样。

更新时间:按需填写,Coda目前平均几分钟出一个块,所以填写15-30分钟也是合理的。

3)创建触发器

注意以下重要参数,填写后保存:

名称:随意填写

严重性:按需选择

表达式:下图表达示的意思是,get_height这个值如果在监控时间内没发生改变的话就满足了触发条件

4)创建动作

创建动作可以在Coda节点块高没有更新的时候采用相应的处理方法,可以发邮件、钉钉以及电话等,根据自己的实际情况进行配置。

注意以下重要参数,填写后保存:

条件:按需求但严重级别要高于上面的触发器条件。

操作:操作可以配置邮箱以及电话等,这些都需要在Zabbix的用户组中进行配置。

上面的一系列配置完成后,就可以清晰的知道Coda的节点状况了。你还可以跟据实际情况再进些一行操作的配置,如,发现Coda节点块高没有更新的时候进行什么操作。