当运行一个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节点块高没有更新的时候进行什么操作。