从架构角度来看 Java 分布式日志如何收集(Sleuth/Zipkin)

作者/分享人:张振华
向 Ta 提问
曾经先后在驴妈妈,携程,要买车公司担任过Java高级工程师、架构师、开发主管、技术经理等职务。在电商公司工作期间,负责过PC站和后端服务的平台架构、实现和升级。 目前在做一些Java架构工作。前后从业10几年没有离开Java,2015年出版《Java并发编程从入门到精通》。2018年出版《Spring Data Jpa从入门到精通》。 网名:张振华.Jack

在实际工作中会发现身边的同事或者一些公司,搭建和构建日志系统的时候走了很多的弯路,有用 Logback 的有用 Log4j 的,有自定义 Aappender 改变日志格式的,有异步推送到日志系统的,有用 ELK 的,有用国内开源 Cat 的。开源的 Cloud 框架有用 Sleuth 的,有用 Zipkin 的,而也有直接用 OpenTracking 的。可能五花八门什么样的都有,作者通过这篇文章,来看一下我们生产环境的日志是如何收集的。

通过此篇 Chat 我们可以了解到如下内容:

  1. OpenTracing 是什么?
  2. Spring Cloud Sleuth 我们如何使用?
  3. Zipkin 扮演什么角色?
  4. Spring Logging 为我们做了哪些工作?
  5. ELK 应该怎么样来收集我们的日志?
  6. 如何利用 Sentry 独立收集异常和警告日志?
  7. 一个日志系统的正确架构思想是什么?
  8. 我们的生产 Framework-Logging 做了哪些工作?

我们这篇 Chat 的中心是谈谈怎么从全局来看这件事,把实战经验给大家分享一下。由于篇幅有限可能不能谈里面的实现原理,主要是实际操作,完成整体认识。

实录内容提要:

  1. 目前微服务盛行,这个业务可能夸多个系统,怎样设计日志系统,在出现问题时怎样,才能快速定位不同系统间的请求是同一笔请求,例如系统间日志能否有一个统一的 ID?
  2. OpenTracing 与 Zipkin 如何做选择?
  3. Server ZipkinUI 和 Jaeger 如何做选择?
  4. Sleuth 依赖 Filter 并配置一定的 Percentage 这样性能会成线性下降,你如何看这样的问题?在生产环境下查问题的时候才打开吗?
  5. JMS 日志跟踪是如何实现的?
  6. DBtracing 如何实现的?
  7. 有没有代码地址可以参考?
  8. 集成的时候坑有哪些?
  9. 日志系统架构的本质是什么?
  10. 日志级别该如何划分?
  11. 架构师最重要的素质是什么?
  12. 阿里有对 Java 日志部分做约束吗?
已有227人预订
预订达标
文章出炉
交流日期
     
05月06日
05月22日
05月28日 20:30
查看文章评论/提问
江中芦苇
大牛,此篇提纲挈领,想复现的话还得去查,可否出一个系列课,手把手的教大家如何搭,如何用,结合项目代码讲解,最好是文章加视频
张振华
有些格式可能手机上,不是特别清楚,大家可通过电脑去看的更清晰一些点哦!
喜欢雨天的我
大佬,这个项目的实例代码有吗?
张振华: 有,回头给个github地址
张振华
参加本chat的小伙伴们有福利了,当天交流的时候,尾部有彩蛋,赠书一本书,条件是:1。至少参加过老师的一篇达人课。 2:至少有老师的三个5星的chat评价。 3:此chat文章中下面的书和本chat分享朋友圈50个赞。 (本活动截止时间是Chat分享当天晚上9:40.)。条件都达到的取朋友圈点赞数最多的第一名。赠书《Spring Data JPA入门到精通》一本。详情可以问chat小编。
小胡子。
涉及依赖太多了吧 elk jaeger sentry,在一个空白项目组中推进太困难了吧。。。
张振华: 还好吧?
你可能还喜欢
Docker 入门之个人博客搭建教程
一念成魔
JVM 精华知识点汇总
胡玉洋
MySQL 数据同步双机互备
小闲丶
前端游戏框架哪个好
cba
美团客户端响应式框架 EasyReact 开源
美团技术团队
Spring Boot 最佳入门实践
老王
微信扫描登录