Rust 版 ServerStatus 云探针

一、面板机设置部分

1、安装面板

#安装必要插件
apt update -y && apt install -y curl socat wget nano unzip

#新建文件夹并进入目录
mkdir -p /opt/ServerStatus && cd /opt/ServerStatus

#下载one-touch.sh脚本
wget --no-check-certificate -qO one-touch.sh 'https://raw.githubusercontent.com/zdz/ServerStatus-Rust/master/scripts/one-touch.sh'

#运行one-touch.sh脚本
bash -ex one-touch.sh

面板部署完毕,打开 http://<你的IP>:8080/

2、反向代理,使用科技lion脚本,依次选择10-23。

http://<你的IP>:8080做好反向代理,反代后网址为:https//status.67890.de

#科技lion脚本
curl -sS -O https://kejilion.pro/kejilion.sh && chmod +x kejilion.sh && ./kejilion.sh

3、编辑面板机客户端配置文件

nano /etc/systemd/system/stat_client.service

将反代网址填入配置文件如下

[Unit]
Description=ServerStatus-Rust Client
After=network.target

[Service]
User=root
Group=root
Environment="RUST_BACKTRACE=1"
WorkingDirectory=/opt/ServerStatus
# EnvironmentFile=/opt/ServerStatus/.env
ExecStart=/opt/ServerStatus/stat_client -a "https://status.67890.de/report" -u h1 -p p1
ExecReload=/bin/kill -HUP $MAINPID
Restart=on-failure

[Install]
WantedBy=multi-user.target

# /etc/systemd/system/stat_client.service
# journalctl -u stat_client -f -n 100

#下载服务脚本
wget --no-check-certificate -qO status.sh 'https://raw.githubusercontent.com/zdz/ServerStatus-Rust/master/scripts/status.sh'

#重启面板机客户端使设置生效
bash status.sh -c restart

#服务脚本用法

# 下载脚本
wget --no-check-certificate -qO status.sh 'https://raw.githubusercontent.com/zdz/ServerStatus-Rust/master/scripts/status.sh'

# 安装 服务端
bash status.sh -i -s

# 安装 客户端
bash status.sh -i -c
# or
bash status.sh -i -c protocol://username:password@master:port
# eg:
bash status.sh -i -c grpc://h1:[email protected]:9394
bash status.sh -i -c http://h1:[email protected]:8080

# 更多用法
bash status.sh

help:
    -i,--install    安装 Status
        -i -s           安装 Server
        -i -c           安装 Client
        -i -c conf      自动安装 Client
    -u,--uninstall  卸载 Status
        -u -s           卸载 Server
        -u -c           卸载 Client
    -r,--reset      更改 Status 配置
        -r          更改 Client 配置
        -r conf         自动更改 Client配置
    -s,--server     管理 Status 运行状态
        -s {start|stop|restart}
    -c,--client     管理 Client 运行状态
        -c {start|stop|restart}

若无法访问 Github:
    CN=true bash status.sh args
# 可能有点用

二、客户机客户端安装

#安装必要插件
apt update -y && apt install -y curl socat wget nano unzip

#新建文件夹并进入目录
mkdir -p /opt/ServerStatus && cd /opt/ServerStatus

nano client.sh

如果是部署到ARM架构,记得按照注释修改OS_ARCH变量,文件内容如下:

#!/bin/bash
set -ex
 
WORKSPACE=/opt/ServerStatus
mkdir -p ${WORKSPACE}
cd ${WORKSPACE}
 
# 下载, arm 机器替换 x86_64  aarch64
OS_ARCH="x86_64"
latest_version=$(curl -m 10 -sL "https://api.github.com/repos/zdz/ServerStatus-Rust/releases/latest" | grep "tag_name" | head -n 1 | awk -F ":" '{print $2}' | sed 's/\"//g;s/,//g;s/ //g')
 
wget --no-check-certificate -qO "client-${OS_ARCH}-unknown-linux-musl.zip"  "https://github.com/zdz/ServerStatus-Rust/releases/download/${latest_version}/client-${OS_ARCH}-unknown-linux-musl.zip"
 
unzip -o "client-${OS_ARCH}-unknown-linux-musl.zip"
 
# systemd service
mv -v stat_client.service /etc/systemd/system/stat_client.service
 
systemctl daemon-reload
 
# 启动
systemctl start stat_client
 
# 状态查看
systemctl status stat_client
 
# 使用以下命令开机自启
systemctl enable stat_client
 
# 停止
# systemctl stop stat_client
 
# https://fedoraproject.org/wiki/Systemd/zh-cn
# https://docs.fedoraproject.org/en-US/quick-docs/understanding-and-administering-systemd/index.html
 
# 修改 /etc/systemd/system/stat_client.service 文件将IP改为你服务器的IP或你的域名

#运行.sh文件
bash -ex client.sh

#修改stat_client.service配置文件
nano /etc/systemd/system/stat_client.service

只修改ExecStart=/opt/ServerStatus/stat_client这一行,如果是HTTP记得将https改成http,不使用vnstat的话,请删除-n,即只保留-a "https://status.67890.de/report" -u 用户名 -p 密码

[Unit]
Description=ServerStatus-Rust Client
After=network.target
 
[Service]
User=root
Group=root
Environment="RUST_BACKTRACE=1"
WorkingDirectory=/opt/ServerStatus
# EnvironmentFile=/opt/ServerStatus/.env
ExecStart=/opt/ServerStatus/stat_client -a "https://status.67890.de/report" -u h2 -p p2 -n
ExecReload=/bin/kill -HUP $MAINPID
Restart=on-failure
 
[Install]
WantedBy=multi-user.target

# /etc/systemd/system/stat_client.service
# journalctl -u stat_client -f -n 100

修改完成后先重载文件再重启客户端服务:

systemctl daemon-reload
systemctl restart stat_client

查看客户机客户端运行状态

systemctl status stat_client

三、面板机/opt/ServerStatus目录下,编辑config.toml文件

nano config.toml

hosts部分设置客户机信息

#重启面板机服务端使设置生效
bash status.sh -s restart

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注