监控系统需要完成的功能有哪些?监控标准化指的是什么?什么样的监控系统才是好的监控系统?如何做出一个好的监控系统?

打卡Day3:今天学习了《24|分布式系统关键技术:全栈监控》,我的收获如下:

监控系统需要完成的功能

  • 全栈监控。
  • 关联分析。
  • 跨系统调用的串联。
  • 实时报警和自动处置。
  • 性能分析。

多层体系的监控

全栈监控主要包括三层监控:

  • 基础层。如CPU。
  • 中间层。如Nginx。
  • 应用层。如HTTP响应时间。

监控标准化

  • 日志数据结构化。
  • 监控数据格式标准化。
  • 统一监控平台。
  • 统一日志分析。

什么才是好的监控系统

差的监控系统特征

  • 监控数据是隔离开来的串不起来。
  • 监控的数据项太多抓不住重点。

好的监控系统特征

  • 关注整体SLA。从用户API来监控;
  • 关键指标聚合。把服务实例和主机关联起来;
  • 快速故障定位。对整个分布式系统做一个用户请求跟踪的trace监控。最好无倾入。

监控系统使用场景

  • 体检。容量管理、性能管理;
  • 急诊。定位问题、性能分析。

如何做出一个好的监控系统

  • 服务调用链跟踪(Zipkin)。
  • 服务调用时长分布(Zipkin)。
  • 服务的TOP N视图(调用量、请求耗时、热点)。
  • 数据库操作关联(JavaAgent字节码)。
  • 服务资源跟踪(CPU、MEM、I/O、DISK、NETWORK)。

分布式系统最重要的事就是把监控系统做好。收集好数据同时,更重要的是把数据关联好。这样才可能很快地定位故障,进而才能进行自动化调度。

左耳朵耗子带你重学《左耳听风》

https://time.geekbang.org/column/article/1513