一、为什么要监控
1.问题定位
假设客户端查询一些东西的时候,需要经过网关,然后服务A调用服务H,服务H调用K,服务K调用MySQL,当查询不出来的时候,我们不能快速定位到底是哪个服务的问题,这就需要服务监控,可以更好的找出问题。
2.性能分析
和问题定位差不多,如果客户查询的时候,响应时间长,不知道是哪个服务的问题,所以也需要服务监控,进行性能的分析。
3.服务关系
因为服务与服务直接存在远程调用,有时候微服务非常多的时候,我们就不好维护了。
4.服务告警
当一个服务宕机时,可以快速的找到是哪一个服务出现了问题。
二、skywalking
一个分布式系统的应用程序性能监控工具( Application Performance Managment ),提供了完善的链路追踪能力, apache的顶级项目(前华为产品经理吴晟主导开源)。
使用方式:网上资源较多,这里只要知道。
三、面试题
面试官:你们的微服务是怎么监控的?
候选人:我们项目中采用的skywalking进行监控的
1. skywalking主要可以监控接口、服务、物理实例的一些状态。特别是在压测的时候可以看到众多服务中哪些服务和接口比较慢,我们可以针对性的分析和优化。
2. 我们还在skywalking设置了告警规则,特别是在项目上线以后,如果报错,我们分别设置了可以给相关负责人发短信和发邮件,第一时间知道项目的bug情况,第一时间修复。