littlebot
Published on 2025-04-08 / 6 Visits
0

【源码】基于Spring Boot和ELK的日志管理系统

项目简介

本项目是基于Spring Boot和ELK(Elasticsearch, Logstash, Kibana)构建的日志管理系统,致力于提供功能完备的日志解决方案,支持系统日志与操作日志的记录、存储、分析及可视化。通过集成Canal、Kafka、Filebeat等中间件,达成高效且可扩展的日志处理流程。

项目的主要特性和功能

1. 日志记录

  • 系统日志:记录代码层面日志信息,方便开发与测试人员调试程序和排查问题。
  • 操作日志:记录管理员和用户在系统中的操作,如账号权限分配、订单处理、库存更新等,便于后续分析和存档。

2. 日志解决方案

  • Canal:基于MySQL数据库增量日志解析,提供增量数据订阅和消费,通过监听数据库Binlog记录数据变更操作日志。
  • 文件日志:以文件形式记录日志,解决操作人记录、日志区分和日志文案生成等问题,支持基于AOP注解的日志记录,实现日志与业务逻辑解耦。
  • ELK:集成Elasticsearch、Logstash和Kibana,实现日志的收集、存储、分析和可视化,引入Kafka和Filebeat提升日志处理性能和扩展性。

3. 日志处理流程

  • Canal:监听MySQL的Binlog,记录数据变更操作日志,通过Kafka进行消息传递。
  • Filebeat:轻量级日志收集工具,将日志发送到Kafka进行缓冲。
  • Logstash:消费Kafka中的日志数据,进行格式转换后存储到Elasticsearch。
  • Elasticsearch:分布式搜索引擎,存储和索引日志数据。
  • Kibana:可视化工具,用于查询、分析和展示日志数据。

安装使用步骤

1. 环境准备

  • 安装Java 8或更高版本。
  • 安装MySQL数据库,并配置Binlog。
  • 安装Elasticsearch、Logstash和Kibana,并确保它们能正常运行。
  • 安装Kafka和Filebeat,并配置相关参数。

2. 项目配置

  • 复制项目代码到本地。
  • 配置项目中的application.properties文件,设置数据库连接、Kafka地址、Elasticsearch地址等参数。

3. 启动项目

  • 启动Spring Boot应用: bash cd simple-log-solution-scl mvn spring-boot:run
  • 启动Canal、Kafka、Filebeat、Logstash、Elasticsearch和Kibana。

4. 日志查看

  • 访问Kibana(默认地址为http://localhost:5601),创建索引模式并查看日志数据。
  • 通过Kibana的Dashboard功能,进行日志的查询、分析和可视化。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】