对标腾讯的bugly
home - Bugly 文档 (qq.com)
简要概括:
- 日志数据的采集:需要确定哪些日志是重要的,比如错误日志、警告日志、用户行为日志等。可以使用Filebeat等工具来采集日志数据 。
- 日志数据的存储:MongoDB作为一个NoSQL数据库,可以用来存储大量的日志数据。Spring Boot可以整合MongoDB,通过Spring Data MongoDB来简化数据访问层的实现 。
- 日志数据的缓冲:在日志存储之前,可以使用Kafka作为日志缓冲层,避免高峰期应用对数据库的冲击,造成数据丢失问题 。
- 日志数据的筛选和处理:可以使用Logstash来对日志数据进行筛选和处理,为之后的搜索提供依据 。
- 日志数据的检索:Elasticsearch可以用来建立索引并存储日志数据,利用其强大的搜索功能来检索日志 。
- 日志数据的可视化:可以使用Kibana来实现日志数据的可视化展示,帮助开发者更直观地分析日志数据 。
- 日志数据的分析:需要对日志数据进行分析,以便及时发现和解决系统中的问题。这可能涉及到自定义的分析逻辑和算法。
- 日志数据的安全和权限管理:确保日志数据的安全,防止未授权访问,可能需要实现一些权限控制机制。
- 日志中心的监控和告警:实现对日志中心自身的监控,以及在发现异常时的告警机制。
- 日志数据的备份和恢复:定期备份日志数据,并确保在需要时可以恢复数据。
- API开发:提供API供前端或其他服务查询和获取日志数据。
- 文档和开发者指南:编写详细的文档和开发者指南,帮助开发者了解如何使用日志中心。
主要技术:
1.springboot
【黑马程序员SpringBoot3+Vue3全套视频教程,springboot+vue企业级全栈开发从基础、实战到面试一套通关】https://www.bilibili.com/video/BV14z4y1N7pg?vd_source=22c68c1ee6658e0ec1f0d244068d0708
2.mongodb:【MongoDB基础入门到高级进阶,一套搞懂mongoDB整合Springboot!(2022最新版)】https://www.bilibili.com/video/BV1yB4y1j7Q4?p=49&vd_source=22c68c1ee6658e0ec1f0d244068d0708
主要是聚合管道以及视图部分,可视化工具用navicat即可
mongodb查询优化:
MongoDB查询优化:从 10s 到 10ms-阿里云开发者社区 (aliyun.com)
3.Spring Boot Starter
Spring Boot Starter:介绍、对比、使用场景和如何自定义Spring Boot Starter 是一组便 - 掘金 (juejin.cn)
自定义一组Spring Boot Starter
4.mybatis-plus
【黑马程序员最新MybatisPlus全套视频教程,4小时快速精通mybatis-plus框架】https://www.bilibili.com/video/BV1Xu411A7tL?vd_source=22c68c1ee6658e0ec1f0d244068d0708
5.sdk
总而言之,就是将多个api接口和其他文件集合在一起的一个软件开发工具包
这个日志中心就是通过提供软件开发工具包(SDK)集成到移动应用中,从而实现崩溃监控、性能分析和运营统计等功能。
优缺点:
Logback- 优点:Spring Boot默认日志系统,配置简单,性能良好,支持SLF4J。- 缺点:在处理非常大的日志数据时可能不如Log4j2高效。- 集成:Spring Boot默认使用Logback,通常无需额外配置即可使用。
Spring Cloud Sleuth- 优点:与Spring Cloud集成良好,支持微服务间的分布式追踪。- 缺点:主要关注追踪而非日志记录,可能需要与其他日志系统结合使用。- 集成:作为Spring Cloud生态系统的一部分,可以轻松集成到微服务架构中.
Log4j2- 优点:高性能,低内存占用,灵活的配置,支持异步日志记录。- 缺点:配置相对复杂,可能需要更多资源来维护。- 集成:可以通过添加依赖和配置文件来集成到Spring Boot中 。
ELK Stack(Elasticsearch, Logstash, Kibana)- 优点:强大的日志分析和可视化能力,可处理大量数据,易于监控和告警。- 缺点:资源消耗较大,配置和维护复杂。- 集成:可以通过Filebeat或Logstash将日志数据发送到Elasticsearch,再通过Kibana进行可视化 。
我推荐logback:
推荐使用Logback。Logback是Spring Boot默认的日志系统,它提供了良好的性能和可靠性,同时配置起来也相对简单。
- 默认支持:Spring Boot默认使用Logback,无需额外配置即可开始使用。
- 配置简单:通过
application.properties
或application.yml
文件可以轻松配置日志级别和输出格式。 - 灵活性:支持高级配置,如异步日志记录、日志滚动等。
- 社区支持:作为一个成熟的日志框架,Logback拥有广泛的社区支持和丰富的文档资源。
版权归原作者 kaiwest 所有, 如有侵权,请联系我们删除。