serv00和ct8主机一键安装哪吒探针和多主机保活

2024-08-29 12:28:24 浏览数 (1)

一、背景

基于 serv00ct8 这种配置较低的主机,比较适合用来做探针。目前还没发现能自动安装哪吒面板和 agent 客户端的脚本,以及多主机间动态保活,所以写了这个 github 项目: https://github.com/vfhky/serv00_ct8_nezha。

企业微信机器人通知企业微信机器人通知

二、特点

代码语言:javascript复制
1、支持分别安装最新版本的哪吒dashboard和agent客户端,且安装时基本一路点确认即可,无需复杂操作;
2、弃用PM2,使用脚本进行进程监控,尽量避免被serv00或者ct8杀掉;
3、自动生成crontab,实现进程监控和主机保活;
4、对于多个主机,可以实现相互保活;
5、多个主机之间的通信,使用ssh公私钥,无需暴露主机密码;
6、支持 青龙面板 或者其它云主机对自己的serv00或者ct8主机进行进程监控和保活;
7、支持自定义进程保活,例如自己写的任何一个服务,可以在monitor.conf配置文件中简单配置即可;
8、支持企业微信机器人、企业微信app应用、tg、pushPlus等监控通知。

三、使用步骤

代码语言:javascript复制
1、下载脚本: git clone https://github.com/vfhky/serv00_ct8_nezha.git
2、进入项目: cd serv00_ct8_nezha
3、修改配置文件: vim config/host.eg 然后添加需要保活的主机信息。
4、开始安装: python3 main.py 。

四、配置文件说明

config配置目录下面有4个模板文件,其中host.egsys.eg这两个配置文件是需要手工配置,其它两个文件都不需要修改,系统会自动根据相关逻辑生成对应的xxx.conf配置文件。

4.1 主机配置模板 host.eg

host.eg模板文件是填写需要保活的主机信息。例如当前要保活另外一个s9的serv00机器(用户名是vhub),那么填写:

代码语言:javascript复制
s9.serv00.com|22|vhub|password
4.2 系统常量模板 sys.eg

这个是系统配置文件,可以配置企业微信机器人、tg、pushPlus 等监控通知等功能。

4.3 进程监控模板 monitor.eg

用于进程监控:当进程不存在时(例如被serv00系统自动杀掉),会自动重新拉起进程。当安装完哪吒dashboard和agent后,系统会自动生成类型以下的配置。当然也可以手工追加其它进程来实现该进程的监控保活。

代码语言:javascript复制
/home/vfhky/nezha_app/agent|nezha-agent|sh nezha-agent.sh|foreground
/home/vfhky/nezha_app/dashboard|nezha-dashboard|./nezha-dashboard|background
4.4 多主机心跳保活模板 heartbeat.eg

当手工配置了host.eg主机模板并手工执行安装后,系统会根据这个模板自动生成主机需要保活的主机信息。示例如下:

s9.serv00.com|22|vhub

五、安装过程记录

下面是安装过程的一些截图:

生成ssh公私钥生成ssh公私钥
安装哪吒dashboard 安装哪吒dashboard
安装哪吒agent安装哪吒agent
生成进程监控和多主机保活的crontab生成进程监控和多主机保活的crontab

六、监控消息推送

项目支持企业微信机器人、企业微信 app 应用、tg、pushPlus 等推送方式。推送效果如下:

6.1 企业微信机器人:
企业微信机器人通知企业微信机器人通知
6.2 企业微信 app 应用:

注意,企业微信应用需要在企微后台设置 企业可信IP,也就是需要添加 serv00 或者 ct8 主机的 ip,否则会报错:

代码语言:javascript复制
{"errcode":60020,"errmsg":"not allow to access from your ip, hint: [1724584289591812691117273], from ip: 你的serv00主机ip, more info at https://open.work.weixin.qq.com/devtool/query?e=60020"}
企业微信机器人通知企业微信机器人通知
6.3 TG通知:
TG通知TG通知

七、架构说明

下一篇文章会简单说一下业务架构,详见:serv00和ct8主机一键安装哪吒探针和多主机保活(二) - TypeCodes

0 人点赞