项目简介
本项目是基于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】