5.1 层次划分
- 基础设施层:对于云主机、操作系统、云服务包括可用性在内的基础指标监控。
- 工具层:编排工具的可观察性。
- 应用环境层:对应用服务器、DB、MQ、缓存等中间件的观察。
基础设施层的监控大多由云平台提供商直接负责。
工具层由其核心产品以及周边生态提供。 对于微服务云原生开发者来说,关注点集中在应用环境层。
5.2 核心概念
日志(LOgging):ELK等日志收集系统,是分布式系统监控的早期形态。
指标(Metrics): Prometheus监控是基于指标的典型系统.
追踪迹(Tracing): 分布式追踪。 比如ZipKin。
5.3 分布式追踪
5.3.1 概述
5.3.2 常见的开源解决方案
ZipKin是起步最早、社区最完善的分布式追踪解决方案。
5.4 应用性能管理(APM, application performance management)与可观察性平台
APM系统为单体/分布式应用提供了全面的可视化展现建议、性能分析建议、性能诊断和优化建议。
- 分布式追踪: 分布式追踪能完成日志的绝大部分功能,提供根号的使用内存而非文件系统,解决性能定位问题。
- 非侵入式的语言探针: 分布式追踪对代码有侵入,Service mesh是非侵入的探针。
- 轻量化:
- 低延迟分析:
5.5 Apache SkyWalking(APM系统)