我们需要什么样的监控工具(三)
-
通过通过前两篇文章,我们描述了一个基本的好的监控工具应该具备的特征,即
- 简单易用:通过合理的概念及抽象,让普通客户能快速试用监控工具并获得专业的监控体验。
- 功能全面:能通过丰富的插件覆盖客户的基本使用需求,从而快速构建适合客户业务需求的监控系统。
目前市面上的监控工具基本能满足其中一个或全部两个特征,我们用下表做个简单的对比总结:
但是随着业务系统日趋复杂,企业对监控工具提出了更高的要求,即本文将要讨论的场景覆盖能力(而目前市面上的监控工具受限于其设计理念和系统模型很难满足)。在理解这个场景覆盖能力之前,我们需要看看现今的企业服务系统的状况。
首先,企业业务系统已经从最初的单机系统逐步演成了一个多层次的,基于微服务的分布式系统;早期一台或少数几台机器就可以稳定提供服务,到了现在动辄需要数百台服务器,除了实现业务服务的各种微服务外,还有中间或底层的各种服务或模块构成的逻辑层,且这些服务模块还往往存在动态迁移的情况。
其次,由于人力成本的提升,企业会越来越专注于自身业务的需求,对非核心业务的需求会更多依赖底层支撑系统或外部服务模块,企业要么不会特别关注实现工作机制,要么没有技术能力进行完全的把控(比如一些使用Kubernetes的中小企业中,绝大部分并没有能力完全把控Kubernetes集群)。
由此可见,先进的业务系统是多层次的、复杂的动态系统;面对这种系统,使用基于传统监控工具构造业务监控系统对开发运维人员带来了极大的挑战:开发运维人员除了要了解自身业务系统之外还需详细理解其它相关服务或模块或系统的工作运行方式,这对企业来说无疑会带来额外的成本,成为一个沉重的负担,甚至无法完成的使命。
但如果仔细分析,这些非业务核心的模块或系统往往是场景化的(如存储系统、资源管理系统等,运营支撑平台);如果能有一个提供基本场景覆盖能力的监控工具,则可以帮助客户解决绝大多数问题,从而让客户的开发运维人员能更好的关注其核心业务系统。
择维士正是观察到了这个趋势,从而推出了数象智云监控解决方案。数象智云监控解决方案包括了众多覆盖各种基本场景的一揽子监控解决微方案;企业根据自身需要,可选用一个或多个微方案快速进行监控系统构建,并在此基础上不断进行微调和扩展,最终构建出一个完全与企业业务系统匹配的全面监控系统。
作为例子,我们可以用择维士数象智云所提供的服务性能监控(简称SPM)为例。服务性能监控在数象智云中是一个非常独立的监控方案,其要解决的场景是,如何从外部对企业服务系统的各个方面进行全方位的监控,比如
- 企业服务的可达性、可用性和可靠性
- 用户访问时的基本性能特征
- 服务的安全特性是否能有效保护企业服务和用户数据
- 其它一些企业特殊的监控需求
基于场景覆盖理念,择维士数象智云的服务性能监控将所有的技术细节进行封装,极大降低了用户的使用和理解难度;在SPM中,客户只需要提供一个服务入口,并结合服务特殊业务需求定义一个或多个巡检步骤,即可完成如下功能
- 监控服务域名系统是否安全可靠(如是否快到期,是否收到一些安全攻击如域名污染等)
- 监控服务安全证书是否正常工作(如证书日期、证书有效性等)
- 用户访问链路的性能指标及用户体验的量化指标(如域名解析时间、连接建立时间、服务访问时间、可靠性、可用性等)
- 对核心功能的可用性进行巡检和性能监控(如保证关键服务正常工作,端到端功能完成性能等)
- 帮助客户管理服务的用户服务协议(即SLA),提前对可能影响SLA的情况进行预警等
另外一个例子是,数象智云提供了对基本运行平台的一揽子支持,以Kubernetes为例,在传统的监控工具中,为了监控一个Kubernetes集群,用户需自行添加Kubernetes的Node,Pod,Service的监控插件,构建其之间的相关关系等;但由于Kubernetes自身的复杂度,很少有用户能正真理解Kubernetes中的这些概念,更不用说合理选择和安装相关的监控插件了。择维士数象智云中因此提供了一个一揽子的微方案:用户只需在集群中一键完成安装,则可获得完整的集群监控能力,包括
- 集群Node,Pod,Service和其它对象状态
- 集群事件、异常状态
- 集群节点的日志,关键服务或Pod的日志
- 服务、Pod,Node之间的交互关系
- 以及其它很多常用的功能
择维士数象智云通过提供这样的场景覆盖能力,结合其简单易用、全面丰富的功能插件,足以成为企业客户理想中的监控工具;这也正是择维士的理念和目标,择维士坚信基于场景的监控能力将会成为新一代监控工具的关键特征,而新一代监控工具必将全面取代现有监控工具,让客户更快、更好、更轻松的构建企业特有的,匹配自身业务系统的监控系统。