自2006年至今,云计算商用领域已经历了十余载的发展。云也从概念普及进入到广泛应用阶段,云服务变成了像水电一样的基础服务,已经是行业共识。
云发展速度快、成长空间大,监控场景复杂
最新Gartner的报告预测到2019年公有云市场将达到2062亿美元,较2018年将会增长17.3%,然而这个规模依然只占全球范围内IT支出的5.4%(据Gartner预测,2019年全球IT支出将达到3.8万亿美元)。从这些数据可以看出,未来相当长一段时间,云计算业务还将继续处于快速发展阶段,并且有着巨大的增长空间。
随着云服务的快速发展,部署在云上的业务系统越来越多,规模也越来越大,与此同时针对云上业务系统的监控也就变得越来越重要。Gartner报告显示,尽管已经有39%的上云企业为其系统定制了监控解决方案,但整体上来说,监控系统的覆盖范围还有很多需要完善的地方,尤其是针对混合云业务场景的监控。
为客户提供完整的云上系统监控解决方案
调研典型上云客户业务系统发现,中大型客户更倾向于将系统构建在混合云环境之上,并依赖公有云提供的计算、网络、存储等服务,来实现自身业务的弹性,而小型客户则更多的直接将业务系统部署到云上,并且出于运维和研发成本的考虑,所依赖的云服务种类和数量越来越多。
对于一个典型的云系统的监控来说,除了要关注云系统的模块架构组成外,还要关注其依赖的云服务,同时从业务价值的角度出发,还要关注服务的连通性和性能,当有故障的时候,需要能够提供对应的手段去定位和分析产生问题的原因。
通过分析,可以得出云上客户对监控的需求如下:
支持云上服务监控,如云磁盘、对象存储、数据库、大数据等云服务监控。
支持跨云主机或与用户自建环境组成的混合云场景监控。
支持客户业务系统以及客户业务价值监控,支撑客户日常运维与运营行为。
预留扩展能力,提供相应机制或开放API接口,供其它故障处理系统、变更管理系统感知监控目标的状态变化,并依此构建完整的运维体系。
实现思路: 服务模型屏蔽差异
标准组件提升系统能力
构建服务模型屏蔽服务间模型差异
云由服务提供商提供的一系列计算、存储、AI应用类服务组成,每种服务的业务模型都不尽相同。如虚机、块存储的实例模型,数据库、缓存、容器服务的集群模型。语音识别、语音合成、人脸识别服务提供的API或API集合模型。构建在这些云服务资源之上的系统,由于业务场景不同,也会呈献出或繁或简的架构形态。
为了应对结构复杂、模型多变的云上需求,提供可扩展、适应性强的监控能力,就需要定制出一套标准的模型出来,对上屏蔽不同云服务资源模型与客户业务系统资源模型的差异,对下支撑标准监控能力建设,这就是服务管理模型。服务模型要解决如下两个问题:
抽象实体模型特征,针对云服务资源或客户业务系统按功能、结构划分出来的具有一致性功能的实体。
刻画模型间关系,用于描述或定义不同类型的实体间层级或关联关系,支撑不同实体间指标数据计算。
围绕服务模型构建可伸缩监控能力
由于服务模型屏蔽掉了业务模型的差异,在监控能力建设方面,就可以围绕服务模型构建标准化的采集、计算、存储、异常检测、告警、可视化等能力。通过形式多样的采集手段实现监控对象指标的收集,再通过计算和模型间关系实现业务指标的转换,并将对应结果存储起来,供后续的异常检测分析与可视化使用。
打造从云资源到客户业务系统到终端
用户价值的全栈监控产品
在标准化的监控能力建设完成之后,要做的是细分客户监控场景,并针对性的打造细分场景监控子产品。
用户在使用云系统的整个过程可以简化为上图所示模型。用户通过公共网络连接到服务,对应的用户请求通过入口服务完成转发,由具体的部署在容器、虚机或物理机上应用服务进程完成处理并返回给用户,当然在处理的过程中通常会涉及到不同应用服务进程间调用和对云服务资源的调用。根据监控的场景,将监控的场景细分为以下几个场景:
站点监控,监测客户服务的连通性与可用性,监测分布在不同地理位置或网络的用户的访问服务的状态和性能。
应用(系统)监控,监控应用或系统的资源使用情况及健康状态,通过进程、日志、脚本、Http、端口、语义等多种手段。
主机监控,监测应用进程运行的主机/容器等宿主环境的资源使用情况与健康状态。
云服务监控,监测云上业务系统依赖的云服务资源状态和性能。
业务监控,从业务价值的角度去分析对应变化以及追踪导致这些变化的可能诱因。
结束语: 扩展监控生态,护航云上业务
通过云监控提供的实时异常检测机制和可视化效果,不仅可以让客户对自身业务现状、以及支撑业务的系统状态了然于胸,还可以在问题发生时帮助客户快速定位故障,保障业务价值的连续稳定。同时,通过监控系统通过预留的接口可以方便实现与外部自系统对接,与其它自动化系统共同构建监控运维生态,为云上客户业务系统的稳定保驾护航。
本文介绍了我们云上监控产品的愿景与设计思路,接下来,我们还会深入的介绍如何使用百度云上的监控、运维管理产品来定制构建自己的解决方案,敬请期待!
作者简介Mason 百度资深研发工程师
负责百度智能运维(Noah)云监控平台的架构设计与研发工作,致力于推进监控能力在公有云及私有云场景落地。