本篇目录
做它的起因是我想找一个单纯的监控业务api接口的系统,检查接口状态,同时能简单监测下mysql等服务端口是否存活但是一直没找到合适的。经过接近20天的AI Coding终于基本开发测试完毕,现在分享出来,LitVMonitor这个监控系统适合非运维人员或运维监控指标不高的中小团队。

一、LitVMonitor 是什么
LitVMonitor 是一个使用 OpenCode 开发轻量级、自托管的多协议监控系统。它把「后端 + 数据库 + 调度」全部打包进一个 JAR 文件里,不需要 Docker,不需要外置数据库,也不需要在受监测服务器部署任何 Agent。
核心特点
🟢 单 JAR 启动:后端一个 java -jar 就跑起来(前端需要部署静态网页)
🟢 内嵌 SQLite:数据本地存储,零外部依赖,备份就是拷一个文件
🟢 15 种协议:从 HTTP 到 MQTT,覆盖常见与冷门场景
🟢 无 Agent:主动探测,不需要在被监控端安装任何东西
PS:配置都是写入SQLite数据库的,只要提前配置好监控真实服务器上即使不部署前端也没事只是不方便管理罢了。
技术栈
后端 Java 17 · Spring Boot 3.2.5 · MyBatis-Plus · SQLite
前端 Vue 3 · Vite · Element Plus · ECharts
技术选型互对克制,都是主流且稳定的组合。如果你想二次开发或接入自己的业务系统,上手成本很低。
二、它的主要功能是什么
1、主打HTTP接口监控(GET、POST,自定义请求头、请求Body、预请求js代码;根据返回关键字、正则、json结构体等判断是否正常)


2、辅助匿名监控 Ping、TCP、SSH、Telnet、FTP、VNC、MySQL、PostgreSQL、Redis、Memcached、MongoDB、ZooKeeper、AMQP、MQTT

所有监控项需要编排到 监控任务 中才会按计划定期执行,否则需要手动执行。监控任务有任务本身的失败定义区别于监控项的失败预警。

3、支持告警模板&告警渠道
预置告警模板,支持频率限制直到恢复后再通知,避免告警风暴。

告警渠道只要为邮件、Webhook,接入门槛低。

4、自动采集域名SSl
主要监控项执行就会自动采集域名及SSL,同时可以对域名设置SSL告警,避免出现SSL过期。

5、变量系统
所有的监控项支持引用、设置各种变量,在监控任务中通过执行顺序编排监控项接口,就可以实现接口1 登录成功获取的token 赋值给变量以便下一个监控项接口引用(任务变量只会在同一个任务中有效,不同任务之间互相隔离)。

6、其他功能
其他还有些零碎功能和功能细节就不再赘述,关于后端接口安全性也是至少做了2轮排查,AI开发的前后端系统比较容易出现权限缺漏导致的越权访问、路径穿越、供应链攻击。

另外还提供一个公开面板查看服务状态(是否公开受全局开关控制,且每个监控项都需再单独设置是否公开到面板才会最终展示)

三、项目地址
轻量级多协议监控系统(HTTP / Ping / TCP / SSH / Telnet / FTP / VNC / MySQL / PostgreSQL / Redis / Memcached / MongoDB / ZooKeeper / AMQP / MQTT),无需安装代理。支持变量系统(支持连字符变量名)、SSL证书检测、域名证书管理、API签名、预请求脚本、代理设置(含连通性测试)、多渠道告警(邮件/Webhook/钉钉/企业微信/飞书)、Uptime统计、可配置公开状态页、API Schema可视化编辑与变更检测、巡检模式、周期提醒(含事务提醒)、多主题换肤、仪表盘自动刷新与备忘录与漏洞情报导航、版本展示。

发表评论