[‼️]: ✏️README.mdt # alive : 极简主义的监控 & 状态页 (无需数据库即可部署) ## 截图演示 ### 桌面 ![](https://p.3ti.site/1712811993.webp) ### 手机 ## 设计特性 无需数据库即可部署 监控和报警都插件化 `./conf/plugin.yml` 可以用相对路径引用外部插件 可以用下面的案免费部署 ## 设计初衷 监控有很多复杂的逻辑 , 比如配置 orchestrator 自动切换主从的 mysql 高可用 , 那么应该监控 mysql 主从拓扑是不是正确 , 有没有脑裂 。 监控和自愈应该是一体的 , 比如发现 IP 挂了 , 应该去屏蔽 cloudflare 上解析的 ip , 发现恢复了 , 应该去启用 ip 。 现在有的方案想实现我的这些需求 , 都太重了。 干脆自己写一个 , 所有的监控都插件化 , 按需启用 ### 免费部署 前端部署到 cloudflare 后端部署到 fly.dev # 本地运行 运行 `./sh/conf_init.sh` 初始化配置 修改 `./conf/plugin.yml` 启用插件 # 代码结构 0. `./doc.sh` 生成文档 (比如 ,`./doc.sh alive_api`) 0. `./htm` 前端 0. [`./alive_api/api.proto`][./alive_api/api.proto] 后端返回数据是 protobuf 格式 0. `./srv` 后端 0. `./srv/ssl/up.sh` 后端的本地 https 代理 (开了才能配合前端调试) 0. `./watch` 监控插件 0. `./new.watch.sh xxx` 新建监控插件 0. `./alter` 报警插件 0. `./new.alter.sh xxx` 新建报警插件 0. `./sh/conf_example.sh` 从实际的配置导出演示的配置文件 ## 后续计划 后续计划暂无排期 , 只是备忘 - 基于报警插件 , 可以对接后端数据库 , 持久化报警日志 - 现在后端返回的数据有 `runed`, `cost_sum` , `avg10` , 可以用展示监控服务访问延时的变化 , 但是前端没做展示 (可以在服务延时异常的时候显示前端警告)