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

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

一、青龙面板

前文 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 的脚本位于该目录下。脚本内容如下:

代码语言:javascript复制
#!/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 命令查看执行执行情况:

serv00或ct8主机执行命令serv00或ct8主机执行命令
2.5 查看项目日志

在 serv00 或者 ct8 主机上进入 serv00_ct8_nezha 目录后,使用 tail -f log/main.log 查看项目日志。

注:下图中的主机用户和主机名已经用 shell 命令进行了锐敏:

serv00或ct8主机执行命令serv00或ct8主机执行命令

0 人点赞