多服务器双向心跳Go语言探针

这回是我写的。之前用php写了个类似的工具。但是php一旦线程满了,一切就都结束了。而且php挺吃内存的。。。还有脚本最大运行时间限制。

总之,就是很不好用,连我自己都弃坑了。于是我换了个语言写了个新的。

这回是用go语言写的轻量级程序,实测同时监控六台服务器,占用内存15Mb左右。并且如果不出大问题的话,我想在未来版本加入独立的报表前端程序。

可以结合这篇文章说的QQ机器人使用。

正文开始

启动程序

先从Github下载相应架构的程序并解压,以下以linux为例。

Github release地址↓

https://github.com/Mmx233/VpsBrokerR/releases/

下载解压后,会得到一个名为vbk的文件。先增加运行权限:

chmod +x vbk

然后用screen挂进后台

#安装screen
#centos
yum install screen -y
#ubuntu/debian
apt install screen -y

#挂进后台
screen -S vbk
./vbk -url https://demo.mx/api -p 123 #需自行根据下表增加参数
#此时已进入screen,完事按ctrl然后分别按下a和d即可退出screen挂进后台

v1.1启动后不报错就是成功。

启动参数说明:


说明示例默认
-p程序监听的端口。记得在防火墙放行233233
-path心跳请求的路径,必须以/开头/hb/
-url消息上报地址https://demo.mx/api
-log宕机日志开关,日志存在log文件夹,仅宕机恢复触发写日志。true
+ false
false

探针配置

请求参数说明:


说明示例必要性
time设置这一次心跳到下一次心跳的超时时间(秒)。建议比请求频率稍大些。120必须
name设置服务器别名。北京母鸡必须
sign设置鉴别服务器的方式。name
+ ip
必须
backend心跳超时后的正向请求地址。
内容必须为数字1
https://demo.mx/a.txt可选

每一个参数都是在每一次请求都可以产生变更。

消息上报

上报形式为GET请求,使用GET参数传递数据,参数内容如下:

参数说明
msg完整警报内容
name相关主机别名
time宕机恢复则为宕机时间,否则为0
type消息类型,包括down宕机、up宕机恢复、new新主机
ip相关主机ip地址

发表评论

电子邮件地址不会被公开且将被用于接收回复及审核信息,评论区非实时刷新。 必填项已用*标注