一、项目的简单架构说明
前文 serv00和ct8主机一键安装哪吒探针和多主机保活 - TypeCodes 介绍了 https://github.com/vfhky/serv00_ct8_nezha 项目的使用方法,这一篇文章简要通过两个流程图来说明一下整个项目的大体流程。
二、脚本安装流程
当执行 python3 main.py
安装哪吒 dashboard 或者 agent 时,会进入到如下流程:
三、crontab 进程监控和主机间保活
安装完成后,会生成一个 crontab,通过这个 crontab 来监控哪吒 dashboard 或者 agent 以及自定义的进程,保持进程处于运行状态。
当进程被 serv00 或者 ct8 主机自动 kill 掉时(使用 PM 2 脚本被 kill 的概率很大),能够自动重新拉起进程。
最后会通过ssh私钥登录其它主机,并执行保活脚本,保证所有主机的哪吒进程都处于运行状态。
四、其它
整个项目开发采用 python3 shell
的方式,其中 python 用于主要逻辑处理,shell 主要用于一些简单的命令操作。