监控系统需要完成的功能有哪些?监控标准化指的是什么?什么样的监控系统才是好的监控系统?如何做出一个好的监控系统?
打卡Day3:今天学习了《24|分布式系统关键技术:全栈监控》,我的收获如下:
监控系统需要完成的功能
- 全栈监控。
- 关联分析。
- 跨系统调用的串联。
- 实时报警和自动处置。
- 性能分析。
多层体系的监控
全栈监控主要包括三层监控:
- 基础层。如CPU。
- 中间层。如Nginx。
- 应用层。如HTTP响应时间。
监控标准化
- 日志数据结构化。
- 监控数据格式标准化。
- 统一监控平台。
- 统一日志分析。
什么才是好的监控系统
差的监控系统特征
- 监控数据是隔离开来的串不起来。
- 监控的数据项太多抓不住重点。
好的监控系统特征
- 关注整体SLA。从用户API来监控;
- 关键指标聚合。把服务实例和主机关联起来;
- 快速故障定位。对整个分布式系统做一个用户请求跟踪的trace监控。最好无倾入。
监控系统使用场景
- 体检。容量管理、性能管理;
- 急诊。定位问题、性能分析。
如何做出一个好的监控系统
- 服务调用链跟踪(Zipkin)。
- 服务调用时长分布(Zipkin)。
- 服务的TOP N视图(调用量、请求耗时、热点)。
- 数据库操作关联(JavaAgent字节码)。
- 服务资源跟踪(CPU、MEM、I/O、DISK、NETWORK)。
分布式系统最重要的事就是把监控系统做好。收集好数据同时,更重要的是把数据关联好。这样才可能很快地定位故障,进而才能进行自动化调度。