VPSHUB/新开发文档.md
2026-05-29 23:09:58 +08:00

70 lines
4.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

### WEB运行
#### 配置文件 config_add.php
用户可访问config_add.php添加VPS配置项
初次访问该php页面时用户需设置网页自定义访问密码API_PASS运行输入大小写字母以及数字最低8位数
存在API_PASS时需跟参数?pass=API_PASS才允许访问
用户点击添加配置按钮,新列出一列,分别是:
旧数据也会读取并展示
序号自动生成网站类型魔方、阿里云、腾讯云等网站链接若为魔方则设置为可填腾讯云为https://cvm.tencentcloudapi.com/阿里云后面再写账户魔方账户邮箱或手机号其他云后续添加密钥魔方输入API KEY是否开启自动开机监控魔方默认开启其他云默认关闭
1. 用户点击添加数据后,在./app/db/文件夹内生成sqlite数据库 vps.db用于存储该类数据
2. 首次添加后自动调用所有API进行VPS列表查询查询结果记录在./app/db中的vpslist.db中之后此类查询每天仅需查询一次是否开启自动开机监控标记为开启时vps的最后一列section也标记为True
3. 进行ping访问测试后将结果记录于./app/db/中的status.db中保留最近三十天数据
记录项目标IP地址或域名状态正常或异常延时单位ms 毫秒)
每天0点时总结前一天中各VPS的ping响应数据记录在该数据库中的新表 vps_summary 中。该表需包含以下字段VPS标识vps_id、统计日期date、平均延迟avg_latency_ms、最大延迟max_latency_ms、最小延迟min_latency_ms。同时分级记录延迟分布情况延迟低于100ms的次数count_under_100、100ms~300ms的次数count_100_to_300、300ms~500ms的次数count_300_to_500以及延迟超过500ms或ping异常的丢包/超时次数count_abnormal。根据延迟表现计算高可用评分100ms以内权重最高300ms以内为良好500ms以内为可用超过500ms标记为低可用异常则标记为不可用。记录为新字段服务器可用性优秀/良好/一般/不可用)
4. 首次使用网页并添加数据后,调用./app/install.sh进行system服务注册
#### 首页 index.php
1. 查询是否存在API_PASS若存在则需跟参数?pass=API_PASS才能访问
2. 若不存在则跳转至config_add.php页
获取到的认证token存储于./app/token.php中记录为两小时后续调用API时超时或提示失效再重新获取
3. 右上角放置“添加配置源”的按钮
4. 查询vps.db并依次获取vps列表并查询其状态信息使用v1/hosts/:id接口获取VPS的CPU核数操作系统内存大小系统盘大小以及带宽大小提供开机、关机、硬重启按钮
5. 左上角新建一个按钮用于手动再次获取vps列表以及信息不再自动获取信息。
#### 魔方页 mofangidc.php
所有智简魔方的操作API以及相关函数存储在此网页下
### Python运行
#### 安装
通过install.sh自动安装
功能点:
1. 探测当前系统是否存在idc_monitor的系统服务若不存在则进入第二步若存在则重启一下该服务
2. 读取python版本并探测是否存在pip自动下载python-pip
3. pip下载所需环境和依赖项
4. 新建一个idc_system的系统服务持续化运行当前路径下的monitor.py脚本
#### 读取配置
1. 读取vpslist中的数据则对其进行ping测试
2. 测试结果保存至status.db中
获取到的认证token存储于./app/token.php中记录为两小时
3. 若section为True且ping测试失败调用API对该机器进行状态查询若返回状态为关机则尝试开机隔60秒后再进行状态查询并再次尝试开机60秒后查询还是为异常的话则记录异常进入下一个循环多台机器关机时依次进行状态查询和开机然后间隔60秒再进行操作不同的机器不需要间隔