IT领域的可观测性,源自自动控制领域。
控制领域中,研究可观测性的目的是提供基于系统内部状态(白盒),而非系统外部输出(黑盒)进行控制的理论依据。
在IT领域中,简单而言,可观测性就是为复杂IT系统寻求白盒监控能力。
随着业务系统不断上云,容器、微服务、持续发布等云原生技术被广泛采用,从而为IT系统的可控性带来了全新挑战。为保障云原生应用的稳定性(控制的目的就是稳定),可观测技术被越来越多的企业所采用。
可观测技术的本质,是通过系统的外部数据,分析系统的内部状态,从而做出控制指令。针对于IT系统,尤其是面相云原生应用,可观测技术应包含如下需求:
1)零侵扰:传统APM/NPM等工具,要么需要应用程序中打桩插码,要么需要基础设施中分光镜像,均会对IT系统进行侵扰。可观测技术使用外部数据做分析,因此采用零侵扰的方式获取监控数据,无需打桩插码、分光镜像,而是通过开放系统架构直接获取监控数据。零侵扰的另一方面是要求低功耗,不能因为采集数据而影响应用或基础设施性能,通常采集点功耗不能超过业务功耗的1%。
2)多维度:要保障云原生应用稳定运行,可观测技术必须包含多维度数据分析能力。具体来说,要将应用的API、容器、主机、网络等监控数据进行全栈关联分析。传统的APM工具,可以定位代码层问题,却无法追踪容器或主机网络服务引起的故障。而传统的NPM工具,又不能关联应用的TraceID从而追踪穿越NAT、LB等网元的流量。因此,多