一. 通过搜索生产环境的日志
- 这种方式适合小范围集群或者单体服务,绝对不适用大量集群的情况,大量集群日志会分散到多个服务器,具体调用哪台服务器根本就不知道,所以成本很高
- 做法就是在方法开头 和 结尾 或者 在catch中抓取写日志log
二. 采用AOP拦截异常问题
- 通过AOP进行拦截,将拦截到的异常信息放入MQ中,然后在消费者中处理这条异常,可以主动通知开发者异常的接口名,时间,报错类型,报错原因,报错行数等相关信息。也可以存储到DB,开发者自行去看即可。
- 这种做法好处就是,直接把报错具体信息拦截,并主动发送给开发者,避免了开发者自己去查日志而浪费时间
- 需要开发者自己手写所有的相关逻辑
三. 通过链路追踪SkyWalking等。
- 可以监控整个服务状态,如果服务发生了报错 或 故障。
- 可以主动通知开发者异常所在,以及一场相关信息,当然也会把异常信息显示在可视化界面中。
- 除了监控异常报错,还可以监控服务所占用的CPU,内存等信息
- 无需开发者去手写相关逻辑,SkyWalking已经写好了,方便省事
- 搭建SkyWalking的时候,需要每个服务都加入SkyWalking相关文件