首发开源 ServerStatus-Tiny 轻量化跨平台多服务器一站式监控平台
ServerStatus-Tiny 多服务器一站式监控平台 简介说明ServerStatus-Tiny多服务器探针监控平台便携版2022.10.1基于 ServerStatus-Hotaru 开发开发 后端为 PHP 接口，以实现 Windows/Linux 均可架设服务端小改 UI界面-VUE，优化卡片显示增加 树莓派(Raspberry)、Termux、Linux 旗帜增加 双栈 IPV6/IPV4 监控支持、增加国内服务器在线监控支持增加 单个服务器监控IP地址数据、在线时间字段适配 Termux，能够监控 termux，支持androd7+，无root/root均可修复 跨平台支持，已测试: Mac、Windows 2012、Ubuntu、Termux(Android 10、Android 6)、Raspberry 2B+兼容 兼容原版 ServerStatus、ServerStatus-Hotaru、ServerStatus-Tokyo总结：无需docker、支持跨平台、支持Termux演示图前言二开这个项目主要是由于原项目需要 docker 部署服务端，要跑一个 caddy 的服务端；无奈于架设比较繁琐，其实主要原因是我需要在 Windowserver 2012 云服务器不支持虚拟化，无法跑不了 docker 也就安装不了服务端；之后尝试了一下在树莓派上面跑，估计是硬件太久远了也跑不起来，socket 一直重连！！！我需要监控一下几个 Termux 服务，试了一下都跑不了，各种报错于是，重写了～ps: 写 shell 脚本时............一言难尽使用说明主题: 基于 Vue 3 和 Semantic UI ServerStatus 监控: 基于 ServerStatus 服务器后端: PHP所有客户端/服务端均做了兼容处理理论上兼容原版 ServerStatus、ServerStatus-Hotaru、ServerStatus-Tokyo若只喜欢本项目WEB界面：可以只替换本项目 WEB 覆盖目标WEB目录，并配置好PHP环境即可若只需要兼容 Termux 可以只使用 client.sh(无root推荐)、status-psutil.py(有root推荐)欢迎fork、PR[注]!!! 客户端中需要修改配置，socket模式/后端模式 _二选一！！！_为了兼容原项目预留的[已测试平台]均以 WindowsServer2012 作为PHP服务端，运行在本项目 Backend 模式下MacOS Python3.10 psutil==5.5 客户端 status-psutil.py 正常Windows Python3.8 psutil==2.2.1 客户端 status-psutil.py 正常Raspberry 2B+ Python3.8 psutil==2.2.1 客户端 status-psutil.py 正常Termux - Android 6 rooted Python3.7 psutil==2.2.1 客户端 status-psutil.py 正常Termux - Android 10 rooted Python3.10.11 psutil==2.2.1 客户端 status-psutil.py 正常Termux - Android 10 No root 客户端 client.sh 正常 (网速/流量读取不到)一键脚本# 服务端 | 手动指派网站目录 php >= 5 git clone https://github.com/zsuroy/ServerStatus-Tiny cd WEB # 跨平台客户端 | 若 psutil 报错 > 装2.2.1 git clone https://github.com/zsuroy/ServerStatus-Tiny cd clients pip install -r requirements.txt python3 status-psutil.py # Linux 可选客户端 | 特指 termux(无root推荐) git clone https://github.com/zsuroy/ServerStatus-Tiny cd clients bash client.sh配置修改只介绍本项目后端模式的修改，socket模式的配置，请参考底部相关项目链接服务端接口 app.php; 前台 config.jsdefine("FILE_NAME", "./json/stats.json"); //文件名 define("PSK", "123"); //PASSWORD客户端# [Client-psutil.py] # backend mode: post the status data to the web SERVER = "http://127.0.0.1/debug/stats/app.php" # 服务端api接口地址：可以直接域名或ip或完整路径 PORT = 80 # 后端模式端口无用 USER = "SUE-1" # 主机名：标示作用 PASSWORD = "123" # 随机生成个复杂的密码与服务端保持一致 INTERVAL = 5 # 更新间隔，单位：秒 SERVERINFO = {"name": "MAC", "type": "KVM", "host": USER, "location": "CN", "region": "CN"} # 公共信息 # ===> either socket or backend mode shoule be saved. # public settings following CHECKSOURCE = 1 # 网络通讯正常测试源 [0: GFW, 1; CN] # [client.sh] SERVER="http://192.168.1.4/debug/stats/" # api_url: begin with "http(s)" or only ip address(domain) PORT=35601 # 端口无用 USER="SUROY-DEMO" # hostname PASSWORD="123" # the verified password INTERVAL=1 # Update interval BACKENDMODE=0 # 后端模式: 0启动 SOURCEID=1 # 网络通讯正常测试源 [0: GFW, 1; CN] SERVERINFO="\"name\":\"Nova4e\",\"type\":\"termux\",\"host\":\"${USER}\",\"location\":\"CN\",\"region\":\"termux\",\"custom\":\"\","数据模版开发了包括但不限于以下模版{ "name": "显示名","type":"架构","host":"主机名-唯一标示","location":"地区","region":"地区-旗帜","custom":"用户自定义显示内容","online4":"IPV4状态","online6":"IPV4状态","uptime":"服务器在线时间","load":"服务器负载","memory_total":"总内存","memory_used":"已用内存","swap_total":"swap","swap_used":750628,"hdd_total":"硬盘大小","hdd_used":25600,"cpu":0,"network_rx":3020,"network_tx":1020, "network_in": 40924739, "network_out": 14312368,"updated":"上次更新时间戳","ip":"IP地址"} { "name": "Linux","type":"Arm","host":"SUROY","location":"CN","region":"linux","custom":"","online4":true,"online6":false,"uptime":"7d 12:36","load":1.25,"memory_total":9768472,"memory_used":1249760,"swap_total":2393756,"swap_used":750628,"hdd_total":213780,"hdd_used":25600,"cpu":0,"network_rx":3020,"network_tx":1020, "network_in": 40924739, "network_out": 14312368,"updated":1664829323,"ip":"192.168.1.4"}特殊旗帜：树莓派raspberry、Termuxtermux、Linuxlinux、海盗旗pirate、彩虹旗rainbow、trans替换旗帜即替换 region 属性内容运行有问题请查看 注意事项二次开发请查看 开发说明注意事项device总结 [Termux] 无root推荐 client.sh、有root推荐 status-psutil.py其余设备均用 status-psutil.py目前存在的问题Termux: client.sh 无法获取流量/网速数据新发现问题请提交ISSUE，我会尽快跟进解决开源地址Fork、PR～～https://github.com/zsuroy/ServerStatus-Tiny