开源项目 | SpringBoot+XXL-JOB 构建的汽车之家开源的监控平台,支持多种报警消息发送方式。
一、项目概述
Frostmourne(霜之哀伤)是汽车之家经销商技术部监控系统的开源版本,用于帮助监控几乎所有数据库数据(包括Elasticsearch, Prometheus, SkyWalking, MySql 等等)。如果你已经建立起了日志系统, 指标体系,却苦恼于没有一个配套监控系统,也许它能帮到你。使用本系统得当,至少可以做到线上应用出了什么问题,相关开发能第一时间了解报错情况,知道问题出在哪里, 可以快速响应处理,几乎先于所有人知道线上的情况,也因为心中有数所以可以从容应对各种问询,一点都不慌,你们团队值得拥有。
二、 开发调试特性
调试环境要求
-
JDK 8 ~ 14
-
Node 16.14.2 (推荐)
-
Yarn 1.22.10 (推荐) 或 Npm 8.7.0
-
MySQL 5.7.8+
-
Elasticsearch 6.3.2+
启动frostmourne-monitor项目, 启动参数增加:
-Dmysql.host=localhost -Dmysql.user=root -Dmysql.password=example -Dlog.console.level=INFO
MySQL相关参数修改为自己环境的,active profile设置为local, 测试地址: http://localhost:10054 使用VS Code打开frostmourne-vue目录,进行前端调试。执行如下命令:
# install dependencyyarn install# 建议不要直接使用 cnpm 安装以来,会有各种诡异的 bug。可以通过如下操作解决 npm 下载速度慢的问题yarn install --registry=https://registry.npm.taobao.org# developyarn dev
会自动打开: http://localhost:9528
搭建本地开发调试环境或者需要做二次开发遇到什么困难的都可以加群沟通,欢迎各路英雄多多PR
技术说明项目基于Java8实现,详细请看:技术说明
三、 部署教程
依赖环境
-
JDK 1.8
-
Maven 3.2.x+
-
MySQL 5.7.8+
在项目frostmourne主目录下执maven构建命令:
mvn -U clean package -DskipTests=true
前端项目frostmourne-vue会自动把资源构建到frostmourne-monitor的resources/dist下,所以你只需要部署frostmourne-monitor即可。
frostmourne-monitor已经配置了assembly打包,target目录下会生成zip包,你只需要将zip包解压,然后根据自己的 环境修改应用配置文件application.properties文件和环境变量配置文件env,然后执行如下命令启动:
./scripts/startup.sh
执行如下命令停止应用:
./scripts/shutdown.sh
五、 系统特性
-
只需要写一条数据查询就可以轻松搞定监控
-
多种数据源支持:Elasticsearch, HTTP, SkyWalking, Prometheus, InfluxDB, MySQL/TiDb, ClickHouse, SqlServer, PING, IotDB, Telnet
-
数值计算类型监控:count, min, max, avg, sum, unique count, percentiles, standard deviation; Elasticsearch数据支持分桶
-
多种报警消息发送方式:钉钉(机器人)、企业微信(机器人)、飞书机器人、Email、短信、HTTP
-
多种消息格式:text, markdown
-
灵活的报警消息Freemarker模板定制,支持变量占位符;消息模板管理
-
分布式调度实现,每个监控都是独立调度,互不影响
-
报警消息附带日志查询短链接,直达报警原因
-
数值同比,环比监控
-
HTTP数据监控, Javascript表达式判断是否报警; PING连通监控, Telnet端口连通监控
-
前端简单易用:监控管理、测试、另存、执行日志和历史消息
-
Elasticsearch数据查询、分享和下载
-
报警消息抑制功能,防止消息轰炸;也有报警升级功能,避免故障相关方长时间得不到通知。
-
自带账号,团队,部门信息管理模块,也可自己实现内部对接
-
集成LDAP登录认证
-
权限控制,数据隔离,各团队互不影响
企业微信机器人报警截图展示: (查看完整功能截图展示)
五 、功能截图
六、项目源码
开源地址:
扫描下方二维码并回复【yfrostmourne】获取项目源码。
往期推荐
写在最后
专注分享开源项目整套解决方案,完全开源、可学习、可商用、宝藏库。
完整开源项目后端技术栈:Spring6、JDK17、SpringBoot、Spring Cloud、Docker、Nginx、Redis、MongoDB、MySql不管你技术提升还是接私活都可以用到。
完整开源项目前端技术栈:vue3、vite3、TypeScript/4、Ant-Design-Vue/3.2、element-plus/2.2、uniapp、H5网页、PC、微信小程序等最新的技术。
每天提供一个超棒的开源项目包含:物联网平台、WMS系统、ERP系统、OMS系统、知识社区、个人博客系列。
欢迎加入【前端开源实验室读者交流群】,群内聊天学习摸鱼为主,不定时会分享一些技术要点和优质学习资源,有一群有趣有料的小伙伴在等你哦!
进群方式:加柚子哥微信回复 进群,按提示操作即可进群。
版权申明:内容来源网络,版权归原创者所有。除非无法确认,我们都会标明作者及出处,如有侵权烦请告知,我们会立即删除并表示歉意。