VPSHUB/app/开发文档.md

1.8 KiB
Raw Permalink Blame History

程序运行

  1. 用户需先向程序config内添加以下几项定义量 ACCOUNTAPI_KEYWAY

  2. 用户运行install.sh脚本 脚本会先检测config.yml中的配置文件 缺少ACCOUNTAPI_KEYWAY向用户询问填写什么同时WAY默认为ping问句以红色展示 若用户填写http则让用户填写域名可以访问的路径通过英文逗号分隔域名 随后用户可添加例外参数脚本检测到例外内的IP主机关机时直接跳过不进行开机

  3. 脚本运行 创建名为idc_monitor的systemd服务持续化运行当前路径下的main.py

程序逻辑

    1. 隔一段时间SPAN便根据WAY来探测目标存活 若为ping则直接ping一遍所有的IP地址 若为域名则使用HEAD方法探测相应域名是否正常响应
    1. 若存在不通的情况,进行如下操作 使用config.yml中的JWT请求VPS列表并挨个查询VPS状态是否为on开机 若返回响应码为405即响应报文为
    {
        "status": 405,
        "msg": "请登陆后再试"
    }
    

    重新请求JWT并存储随后再次请求VPS列表并查询状态

    1. 若均为开机状态,记录日志:什么时间点 - 发生了什么情况实际没有机器关机可能是禁ping或者服务器网站状态异常
    1. 若发现有机器关机则使用开机接口on进行开机
    1. 所有机器都操作完成后隔60秒再次查询刚才尝试开机操作的几台机器是否开机成功若不超过则再来一遍
    1. 尝试开机操作两次后还是非开机状态则中断本次循环进入SPAN间隔准备下一次循环
    1. 以上所有操作均需记录为日志,分为正常日志和异常日志(例如:未发现存在机器关机,开机失败等)