首页 > 其他分享 >开源项目 | SpringBoot+XXL-JOB 构建的汽车之家开源的监控平台,支持多种报警消息发送方式。

开源项目 | SpringBoot+XXL-JOB 构建的汽车之家开源的监控平台,支持多种报警消息发送方式。

时间:2023-10-13 09:36:28浏览次数:32  
标签:SpringBoot 项目 报警 JOB 开源 Elasticsearch 监控 frostmourne

 

一、项目概述

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

五、 系统特性

  1. 只需要写一条数据查询就可以轻松搞定监控

  2. 多种数据源支持:Elasticsearch, HTTP, SkyWalking, Prometheus, InfluxDB, MySQL/TiDb, ClickHouse, SqlServer, PING, IotDB, Telnet

  3. 数值计算类型监控:count, min, max, avg, sum, unique count, percentiles, standard deviation; Elasticsearch数据支持分桶

  4. 多种报警消息发送方式:钉钉(机器人)、企业微信(机器人)、飞书机器人、Email、短信、HTTP

  5. 多种消息格式:text, markdown

  6. 灵活的报警消息Freemarker模板定制,支持变量占位符;消息模板管理

  7. 分布式调度实现,每个监控都是独立调度,互不影响

  8. 报警消息附带日志查询短链接,直达报警原因

  9. 数值同比,环比监控

  10. HTTP数据监控, Javascript表达式判断是否报警; PING连通监控, Telnet端口连通监控

  11. 前端简单易用:监控管理、测试、另存、执行日志和历史消息

  12. Elasticsearch数据查询、分享和下载

  13. 报警消息抑制功能,防止消息轰炸;也有报警升级功能,避免故障相关方长时间得不到通知。

  14. 自带账号,团队,部门信息管理模块,也可自己实现内部对接

  15. 集成LDAP登录认证

  16. 权限控制,数据隔离,各团队互不影响

    企业微信机器人报警截图展示: (查看完整功能截图展示

    image.png

五 、功能截图

   

 

六、项目源码

开源地址:

扫描下方二维码并回复【yfrostmourne】获取项目源码。

 

往期推荐

人人可用的开源数据可视化分析工具

面向中小企业级erp、oms、wms全套解决方案

开源支付系统、支持微信支付宝

SpringBoot + Vue 的智能停车场管理平台

多门店分销的开源前后端分离商城系统

全端开源电商系统支持小程序、H5、PC商城

后台、小程序、uniapp前后端分离完整全开源商城

开源物联网基础开发平台

开源人脸识别登录系统

写在最后

专注分享开源项目整套解决方案,完全开源、可学习、可商用、宝藏库。

完整开源项目后端技术栈: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系统、知识社区、个人博客系列。

 

 

欢迎加入【前端开源实验室读者交流群】,群内聊天学习摸鱼为主,不定时会分享一些技术要点和优质学习资源,有一群有趣有料的小伙伴在等你哦!

进群方式:加柚子哥微信回复 进群,按提示操作即可进群。

版权申明:内容来源网络,版权归原创者所有。除非无法确认,我们都会标明作者及出处,如有侵权烦请告知,我们会立即删除并表示歉意。

 

标签:SpringBoot,项目,报警,JOB,开源,Elasticsearch,监控,frostmourne
From: https://www.cnblogs.com/mlgm/p/17761132.html

相关文章

  • Java也能做OCR!SpringBoot 整合 Tess4J 实现图片文字识别
    前言今天给大家分享一个SpringBoot整合Tess4j库实现图片文字识别的小案例,希望xdm喜欢。文末有案例代码的Git地址,可以自己下载了去玩玩儿或继续扩展也行。话不多说,开整吧。什么是Tess4j库先简单给没听过的xdm解释下,这里要分清楚Tesseract和Tess4j的区别。Tesseract是一个......
  • 【开源】给ChatGLM写个,Java对接的SDK
    作者:小傅哥-百度搜小傅哥bugstack博客:bugstack.cn沉淀、分享、成长,让自己和他人都能有所收获!......
  • 4款.NET开源的Redis客户端驱动库
    前言今天给大家推荐4款.NET开源免费的Redis客户端驱动库(以下排名不分先后)。Redis是什么?Redis全称是REmoteDIctionaryService,即远程字典服务。Redis是一个使用C语言编写的、开源的(遵守BSD协议)、支持网络、可基于内存亦可持久化的日志型、Key-Value的NoSQL数据库。NewLife.......
  • springboot整合jpa sqlite
    前言最近有关项目需要用到SQLITE,我先是使用Mybatis去连接SQLITE,然后发现SQLITE对BLOB支持不好,在网上看到相关教程可以写mapper.xml文件,加一个handler解决BLOB支持的问题,但是又发现Mybatis还对SQLITE的自增主键不支持,不能正常自增主键,而且Mybatis读取几十MB的BLOB文件很慢,最后换到......
  • 开源之夏学生访谈——张冠璟:用行动让兴趣结晶
    自我介绍请简单介绍下自己以及自己的开源经历大家好,我叫张冠璟,目前本科四年级,在苏州科技大学就读计算机科学与技术专业,爱好健身、玩音乐,座右铭是:“有转移环境之能力,而不为不良环境所屈服”,理想是成为行动力的化身,做自己所热爱之事。虽然也称不上是接触开源,但我记得第一次使用c......
  • SpringBoot获取Bean的工具类
    1、beanName默认是类名首字母小写下面的类:beanName=bean1@ComponentpublicclassBean1{publicStringgetBean1(){return"Bean1";}}修改beanName下面的类:beanName=bean2New@Component("bean2New")publicclassBean2{......
  • powerjob 任务与工作流配置示例
    powerjob任务与工作流配置示例官方文档:https://www.yuque.com/powerjob/guidence/ysug77参数描述该截图来自项目官方文档:官方处理器(内置的任务处理器)官方文档:https://www.yuque.com/powerjob/guidence/official_processor官方源码:https://github.com/PowerJob/PowerJob/t......
  • 开源DNN加速器Gemmini
      ucb-bar/gemmini:Berkeley'sSpatialArrayGenerator(github.com) GemminiTheGemminiprojectisdevelopingafull-system,full-stackDNNhardwareexplorationandevaluationplatform.Gemminienablesarchitectstomakeusefulinsightsintohowd......
  • cerbos 开源语言无关的授权解决方案
    cerbos实现了与casbin类似的功能,但是casbin需要自己基于adapter实现数据存储的处理,cerbos核心主要是配置策略,然后基于传递的数据进行check参考架构业务使用 说明策略定义上与casbin以及awsiam的一些玩法比较类似,但是cerbos提供了grpc以及restapi接口,实现了多......
  • 开源许可证是什么?
    开源许可证是一种针对开源软件使用者的约束,通过它,用户可以免费使用、修改、共享版权软件。也就是说,没有许可证的软件,就等同于保留版权,虽然开源了,用户只能看看源码,不能用,一用就会侵犯版权。开源许可证实际上就是一种法律许可。主要意义就是保护项目贡献者和使用用户。倘若没有许可......