Skip to content

i18n-site/alive

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

alive : 极简主义的监控 & 状态页 (无需数据库即可部署)

演示网站

截图演示

桌面

手机

设计特性

无需数据库即可部署

监控和报警都插件化

./conf/plugin.yml 可以用相对路径引用外部插件

设计初衷

监控有很多复杂的逻辑 , 比如配置 orchestrator 自动切换主从的 mysql 高可用 , 那么应该监控 mysql 主从拓扑是不是正确 , 有没有脑裂 。

监控和自愈应该是一体的 , 比如发现 IP 挂了 , 应该去屏蔽 cloudflare 上解析的 ip , 发现恢复了 , 应该去启用 ip 。

现在有的方案想实现我的这些需求 , 都太重了。

干脆自己写一个 , 所有的监控都插件化 , 按需启用

免费部署

用下面的方案可以免费部署

后端部署到 fly.io

默认会启动两个后端 , 只保留一个即可 , 比如 :

fly machine list
fly machine destroy d8d9999b292058 --force

前端部署到 cloudflare

推送代码到 github 的 main 分支 , 会自动触发 cloudflare page 的 webhooks 来部署

绑定自动代码库

绑定域名

本地运行

运行 ./sh/conf_init.sh 初始化配置

修改 ./conf/plugin.yml 启用插件

运行 ./plugin.sh 生成 rust 代码

./dev.sh srv 启动后端 , ./srv/ssl/up.sh 启动本地 https 代理

./htm/dev.sh 启动前端

代码结构

  1. ./doc.sh 生成文档 (比如 ,./doc.sh alive_api)
  2. ./htm 前端
  3. ./alive_api/api.proto 后端返回数据是 protobuf 格式
  4. ./srv 后端
  5. ./srv/ssl/up.sh 后端的本地 https 代理 (开了才能配合前端调试)
  6. ./watch 监控插件
  7. ./new.watch.sh xxx 新建监控插件
  8. ./alter 报警插件
  9. ./new.alter.sh xxx 新建报警插件
  10. ./sh/conf_example.sh 从实际的配置导出演示的配置文件

状态页面本身的监控

可以用 cron-job.org 监控

后续计划

后续计划暂无排期 , 只是备忘

  • 基于报警插件 , 可以对接后端数据库 , 持久化报警日志
  • 现在后端返回的数据有 runed, cost_sum , avg10 , 可以用展示监控服务访问延时的变化 , 但是前端没做展示 (可以在服务延时异常的时候显示前端警告)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published