一、青龙面板
前文 serv00和ct8主机一键安装哪吒探针和多主机保活(二) - TypeCodes 介绍了 https://github.com/vfhky/serv00_ct8_nezha 项目的架构,这一篇文章主要是介绍如何使用青龙面板来调用项目监控进程和主机保活。
二、操作步骤
由于项目的进程监控和多主机保活的入口是 heart_beat_entry.sh
脚本,所以我们只需要在青龙面板中添加定时任务,通过 ssh 私钥来登录主机并执行这个脚本。
2.1 环境变量
在青龙面板中添加以下 3 个环境变量,用于后面的 shell 脚本。
代码语言:javascript复制1、SERV00_SSH_PRIVATE_KEY : 由serv00_ct8_nezha生成的ssh私钥,也就是~/.ssh/id_ed25519文件中的内容
2、SERV00_SSH_HOST : 主机host,例如: s7.serv00.com , s1.ct8.pl
3、SERV00_SSH_USER : 主机用户名
2.2 新建脚本
进入青龙面板中的 脚本管理
菜单,然后新建一个名为 serv00_ct8_nezha
的目录,再新建一个名为 monitor.sh
的脚本位于该目录下。脚本内容如下:
#!/bin/bash
echo "$(date): 开始执行远程命令"
echo "$SERV00_SSH_PRIVATE_KEY" > /tmp/id_rsa
chmod 600 /tmp/id_rsa
REMOTE_USER=${SERV00_SSH_USER:-root}
echo "$(date): 尝试连接到 ${REMOTE_USER}@${SERV00_SSH_HOST}"
if ssh -i /tmp/id_rsa -o StrictHostKeyChecking=no $REMOTE_USER@${SERV00_SSH_HOST} "/usr/home/${REMOTE_USER}/serv00_ct8_nezha/heart_beat_entry.sh"; then
echo "$(date): 远程命令执行成功"
else
echo "$(date): 远程命令执行失败"
fi
rm /tmp/id_rsa
echo "$(date): 脚本执行结束"
2.3 定时任务
在青龙面板的 定时任务
菜单下面新建一个定时任务,要执行的命令/脚本为 task serv00_ct8_nezha/monitor.sh
。
2.4 手工执行查看效果
在青龙面板上手工执行这个定时任务,然后在 serv00 或者 ct8 主机上使用 ps
命令查看执行执行情况:
2.5 查看项目日志
在 serv00 或者 ct8 主机上进入 serv00_ct8_nezha 目录后,使用 tail -f log/main.log
查看项目日志。
注:下图中的主机用户和主机名已经用 shell 命令进行了锐敏: