TypeCodes

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

一、背景

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

企业微信机器人通知

二、特点

1支持分别安装最新版本的哪吒dashboard和agent客户端且安装时基本一路点确认即可无需复杂操作
2弃用PM2使用脚本进行进程监控尽量避免被serv00或者ct8杀掉
3自动生成crontab实现进程监控和主机保活
4对于多个主机可以实现相互保活
5多个主机之间的通信使用ssh公私钥无需暴露主机密码
6支持 青龙面板 或者其它云主机对自己的serv00或者ct8主机进行进程监控和保活
7支持自定义进程保活例如自己写的任何一个服务可以在monitor.conf配置文件中简单配置即可
8支持企业微信机器人企业微信app应用tgpushPlus等监控通知
9自动备份哪吒dashboard面板数据库到 七牛云存储腾讯云cos阿里云oss 这三种云存储平台

三、使用步骤

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),那么填写:

s9.serv00.com|22|vhub|password

4.2 系统常量模板 sys.eg

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

4.3 进程监控模板 monitor.eg

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

/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公私钥

安装哪吒dashboard

安装哪吒agent

生成进程监控和多主机保活的crontab

六、监控消息推送

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

6.1 企业微信机器人:

企业微信机器人通知

6.2 企业微信 app 应用:

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

{"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通知

七、架构说明

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

打赏支持

Comments »