本文发布于361天前,最后更新于339天前,其中的信息可能有所发展或是发生改变。
1.前言
Rust 版 ServerStatus 云探针
项目地址:zdz/ServerStatus-Rust: ✨ Rust 版 ServerStatus 探针、威力加强版 (github.com)
2.快速体验
代码语言:javascript复制# for CentOS/Debian/Ubuntu x86_64
mkdir -p /opt/ServerStatus && cd /opt/ServerStatus
# apt install -y unzip / yum install -y unzip
wget --no-check-certificate -qO one-touch.sh 'https://raw.githubusercontent.com/zdz/ServerStatus-Rust/master/one-touch.sh'
bash -ex one-touch.sh
# 部署完毕,打开 http://127.0.0.1:8080/ 或 http://<你的IP>:8080/
# 自定义部署可参照 one-touch.sh 脚本
3.统一管理
代码语言:javascript复制# 下载脚本
wget --no-check-certificate -qO status.sh 'https://raw.githubusercontent.com/zdz/ServerStatus-Rust/master/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:p1@127.0.0.1:9394
bash status.sh -i -c http://h1:p1@127.0.0.1:8080
# 更多用法:
❯ bash status.sh
help:
-i,--install 安装 Status
-i -s 安装 Server
-i -c 安装 Client
-i -c conf 自动安装 Client
-up,--upgrade 升级 Status
-up -s 升级 Server
-up -c 升级 Client
-up -a 升级 Server和Client
-un,--uninstall 卸载 Status
-un -s 卸载 Server
-un -c 卸载 Client
-un -a 卸载 Server and Client
-rc,--reconfig 更改 Status 配置
-rc 更改 Client 配置
-rc conf 自动更改 Client配置
-s,--server 管理 Status 运行状态
-s {status|start|stop|restart}
-c,--client 管理 Client 运行状态
-c {status|start|stop|restart}
-b,--bakup 备份 Status
-b -s 备份 Server
-b -c 备份 Client
-b -a 备份 Server and Client
-rs,--restore 恢复 Status
-rs -s 恢复 Server
-rs -c 恢复 Client
-rs -a 恢复 Server and Client
-h,--help 查看帮助
若无法访问 Github:
CN=true bash status.sh args
4.服务端说明
4.1 配置文件 config.toml
代码语言:javascript复制# 侦听地址, ipv6 使用 [::]:9394
grpc_addr = "0.0.0.0:9394"
http_addr = "0.0.0.0:8080"
# 默认30s无上报判定下线
offline_threshold = 30
# 管理员账号,不设置默认随机生成,用于查看 /detail, /map
admin_user = ""
admin_pass = ""
# hosts 跟 hosts_group 两种配置模式任挑一种配置即可
# name 主机唯一标识,不可重复,alias 为展示名
# notify = false 单独禁止单台机器的告警,一般针对网络差,频繁上下线
# monthstart = 1 没启用vnstat时,表示月流量从每月哪天开始统计
# disabled = true 单机禁用
# location 支持国旗 emoji https://emojixd.com/group/flags
# 或国家缩写,如 cn us 等等,所有国家见目录 web/static/flags
# 自定义标签 labels = "os=centos;ndd=2022/11/25;spec=2C/4G/60G;"
# os 标签可选,不填则使用上报数据,ndd(next due date) 下次续费时间, spec 为主机规格
# os 可用值 centos debian ubuntu alpine pi arch windows linux
hosts = [
{name = "h1", password = "p1", alias = "n1", location = "