ServerStatus 部署

邱秋 • 2023年11月29日 • 阅读:195 • linux

Rust 版 ServerStatus 威力加强版,保持轻量和简单部署,增加以下主要特性:

使用 rust 完全重写 server、client,单个执行文件部署
多系统支持 Linux、MacOS、Windows、Android、Raspberry Pi
支持上下线和简单自定义规则告警 (telegram、wechat、email、webhook)
支持 http 协议上报,方便部署到各免费容器服务和配合 cf 等优化上报链路
支持 vnstat 统计月流量,重启不丢流量数据
支持 railway 快速部署
支持 systemd 开机自启

服务端部署

mkdir -p /opt/ServerStatus/server

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

bash status.sh -i -s

服务会自动启动.

默认安装就好 , 相关配置在 /opt/ServerStatus/server/config.toml

  • 修改host部分. 就是要监控的主机列表.
  • 修改告警的相关信息
  • 其它不要动.

然后防火墙或者安全组, 开启8080 和 9394 端口

每次修改 配置文件 重启服务即可:

sudo systemctl restart  stat_server.service

客户端

就是要被监控的主机.

mkdir -p /opt/ServerStatus/client

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

bash status.sh -i -c grpc://账号:密码@服务主机IP:9394
# 或者 ,二选一, 建议 用8080
bash status.sh -i -c http://账号:密码@服务主机IP:8080

服务会自动启动. 帐号和密码在 服务端的 /opt/ServerStatus/server/config.toml里配置. 所以客户端, 不需做任何配置.

接口集成

服务端部署之后就可 在浏览器看了: http://服务主机IP:8080

一般情况下肯定是要集成进自己的系统的 .尽管他提供了UI界面. 还有许多好看的主题. 但是集成是必须的.

只需要代理一下接口即可 http://服务主机IP:8080/json/stats.json

服务管理脚本说明

# 下载脚本
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: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

我,秦始皇,打钱!