- 首页
- 作品
- 从0到1实战微服务架构
- 微服务日志监控
微服务日志监控
与前端或移动端产品不同,微服务运行于后台,我们不能直观的观察到服务端的运行状况。因此,合理地记录日志是检查服务端运行状态,查找问题的有效手段。
服务端日志的常见用途有:
业务日志:对一些分支条件进行简单记录,方便日后排查。
异常记录:记录运行时异常或业务逻辑异常,方便事后排查。
性能定位:日志系统一般自带时间戳,可以通过此方法排查函数调用的时间消耗。
对于微服务架构,记录下来日志只是第一步,如何使用日志是更大的难点。
试想在微服务的分布式系统下,有多种微服务,每个微服务又存在多个副本,日志文件可能散落在几百个不同的路径下。
这种情况下,面临着如下挑战:
如何快速找到某个微服务的所有(或某个)副本的日志?
微服务之间存在调用,如何从一次完整的调用角度,来分析相关服务的日志?
如何对异常日志进行预警?
上述挑战实际对应了日志监控的三个问题,即
微服务日志的收集、管理与查询
微服务的调用链跟踪
微服务异常日志的预警
本章将从微服务的日志系统展开讨论,探讨了使用Logback记录微服务日志的相关问题。
接着,我们讨论如何实现调用链的跟踪,并引入了TraceId类库。
最后,讨论如何使用"EBLK架构"对微服务的日志进行收集、管理、查询。
下一节:在正式讨论微服务架构前,有必要用简短的篇幅,讨论下微服务以及这种架构风格的优点和缺点。