201 微服务-服务监控

监控对象

微服务监控对象可以按照从前端到后端的维度进行划分。

  • 用户端监控。在用户直接使用的功能上增加监控。例如某个功能用户的点击次数,点击按钮后的响应时间等等。
  • 接口监控。对后台服务提供的接口进行监控,这些接口既有前端与后端交互的接口,也有后端服务之间互相调用的接口。
  • 服务器监控。后台服务器健康状态的监控,例如CPU,内存,I/O等等。
  • 中间件监控。对Redis、Kafka、数据库等中间件的监控。

监控系统核心功能

一个完整的监控系统,至少包含以下四个核心功能。

数据采集

如何将采集数据,常用的做法有。

  • 系统主动上传。服务通过网络通信方式主动将数据上传到指定的地方。
  • 生成日志。服务将信息打印到日志中,再通过日志收集任务统一处理。

数据上传

可以采用同步后者异步的方式上传。

  • 同步方式。通过UDP协议上传。
  • 异步方式。通过Kafka、MQ等消息中间件上传。

数据聚合

收集到数据非常零散,因此需要进行加工处理,按照监控需要的维度重新聚合。

如果数据量很大,还需要具备大数据处理能力。

数据展示

聚合好的数据最终需要展示给运维人员查看,并且能够设置一些自动监控的功能。

上篇201 微服务-服务追踪
下篇201 微服务-服务调用