关于可观测能力,阿里云的思考与实践 原创 精选
嘉宾丨周小帆
整理丨千山
审校 | 云昭
随着云原生架构开始落地实践,应用架构从单体系统逐步转变为微服务,越来越多企业意识到可观测能力已经成为云原生的基础设施与必备能力。
那么,最近被频频提及的可观测性,相比监控、APM等名词,区别在哪里?日前,51CTO特邀阿里云资深技术专家周小帆,围绕可观测技术的演进等议题进行了采访。
51CTO:为什么需要可观测性?它是云原生时代的必然产物吗?
周小帆:可观测性不是一个新鲜的名词,云原生时代被再次提及是一个必然的结果。云原生架构所倡导的微服务、DevOps模式,同时带来了效率、可用性的提升与复杂度的增加,而增强可观测性成了降低复杂度的唯一手段。传统监控手段仅仅能够做到问题被动发现,而可观测性则要求不仅发现问题,更对于问题现象背后本质给出明晰解释。可观测性背后指标、日志、事件、链路数据,以及诊断工具的结合使用,为事前预防、事中处理、事后复盘提供了重要决策依据。可观测性是基础设施自动化的基石,优秀的可观测性是确保云原生红利高效释放的前提条件。
行业中时常会有“APM已死,可观测已来”的论调,我不太认同。相反,我认为APM的产品形态已经是在传统监控基础之上做到了”第一波进化“,首次实现了可观测三大支柱(指标、链路、日志)在应用层相互融合的最佳实践。
云原生时代的可观测,是将APM产品中的一些经典技术与理念,升级、延伸、泛化至整个云的技术架构和组织,促进更紧密的协同、覆盖更多场景、发挥更大价值。企业数字化转型让业务成败与IT基础设施稳定性关联愈发紧密,业务在线化凸显了用户体验的重要性。正如其发展历史,可观测性不是一个新鲜概念,它原本就无处不在。而在云时代,随着散落在各处的可观测数据被不断连接,小到问题定位发现,安全风险识别,大到全局成本管理、稳定性治理甚至是业务增长,都依赖于可观测技术和数据,可观测性成为了度量企业IT治理水平的重要指标。
大家今天期望能够得到的“可观测产品”,实际上大部分是在上一代APM产品基础之上的“第二波进化”,他们需要具备海量可观测数据的存算能力,以应用为中心,向上关联业务成败与用户体验,向下覆盖基础设施与云服务监控,一站式满足除了IT稳定性以外的多种核心诉求。
微服务下可观测面临的挑战
51CTO:微服务下的可观测能力建设有哪些难点?
周小帆:系统的可观测与故障根因分析作为重要的运维场景,随着系统架构、资源单位、资源获取方式、通信方式演进过程,遭遇巨大挑战。而这些挑战,也在倒逼着可观测相关技术发展,接下来我们以微服务举例:
随着Spring Cloud和Dubbo等常见微服务框架被广泛应用,微服务架构接受程度不断提升,由最初以机器为核心的云服务器ECS上云,到以容器为核心的容器化云原生部署;为了更加敏捷,开始以应用为核心的微服务化。在云原生下的微服务可观测主要面临三个挑战:
- 发现难:从云服务器ECS到容器Kubernetes,微服务架构复杂度提升,观测对象复杂度提升,监测数据覆盖不全。
- 定位难:随着多种治理能力深入,可观测要求高,服务框架复杂度增加,技术门槛提升,数据本身复杂度提升,数据关联性差。
- 协作差:随着组织角色变化,可观测不只是运维工作。
除此之外,还有微服务配置混乱,不好梳理;微服务应用上Kubernetes之后,出现线程池满,却找不到原因等一系列问题。因此,微服务可观测要解决在客户端输入请求后,能感知其在各服务间进行采集、传输、处理、存储的状态,进而预测、定位、解决系统运行过程中出现故障的问题。而这些问题,阿里巴巴在自身建设可观测体系的过程中也都遭遇过。
阿里巴巴可观测技术探索之路
51CTO:阿里内部是基于什么诉求开始构建可观测能力?经历过哪几次重要的迭代?
周小帆:作为最早进行云原生改造的互联网企业,阿里巴巴探索与实践可观测技术由来已久,并经历过以下几个阶段:
- 第一代 – 一站式:脱胎于阿里巴巴「鹰眼」产品的应用实时监控服务ARMS诞生,为企业提供应用性能管理(APM)能力与前端监控、云拨测等数字化体验(DEM)能力;
- 第二代 – 连接应用:与应用托管与治理产品无缝集成,覆盖观测、安全、业务稳定性等多个刚需场景。
- 第三代 – 超越一站式:1+1+1>3,让阿里云积累的可观测技术、开源可观测事实标准、客户存量与自研的可观测数据资产做无缝融合,全面拥抱Prometheus、Grafana、Opentelemetry等开源标准,打造云原生时代完整可观测数据生态与产品套件—阿里云可观测套件。
第一代:脱胎于阿里巴巴「鹰眼」产品的应用实时监控服务ARMS诞生
关键词:从单体走向微服务,自下而上的爆发式增长
2013年,随着阿里巴巴业务快速发展,应用从单体走向微服务,微服务体系催生出去中心化组织架构,产生自下而上的爆发式增长,并快速向DevOps模式演进,工程师们以自助模式向基础软件寻找更多答案。也是从这个阶段开始,监控走向“可观测”的畅想已初备雏形。统一PaaS层快速催生统一可观测基础设施,但微服务下的可观测能力建设初期遇到以下两个难点:指标基数发散、微服务拆分过细、埋点精度不断上升等因素带来的“单笔交易可观测成本”的急剧上升;三代探针技术与管控体系演进带来的可观测数据来源质量问题,以及大规模探针管控与稳定性保障。
关键词:业务中台背后的数字化运营,引领自上而下的稳定性治理体系
与此同时,随着业务中台诞生,为了更好的应对季节性电商大促、多变的业务形态,服务治理、混沌工程等产品诞生出来,碎片化的可观测能力逐渐被整合在一起,引领自上而下的稳定性治理体系,构建以业务SLO为核心的稳定性治理体系。通过日志链路指标和诊断工具的整合,阿里巴巴内部APM产品的实用性得到大幅提升,被大家所熟知的「鹰眼」雏形初现。观测能力和管控能力相融合:全链路灰度包括像全链路、灰度、全链路压测、混沌工程这样的复杂治理手段,包括像容量评估,微服务之间的强弱依赖评估这样的分析场景,都充分集成到现有可观测能力中。并在此阶段以应用为中心,以管控集成、领域知识积累为主,让数据在一些封闭场景内能够实现价值最大化。
2017年,阿里巴巴将内部锤炼多年的监控工具对外服务,应用实时监控服务ARMS正式商业化。作为云原生一体化可观测性平台,ARMS提供全栈式性能监控和端到端全链路追踪诊断能力。同时,结合阿里云日志服务SLS的日志数据分析能力以及云监控丰富的云服务与基础设施监控能力,用户可以轻松完成用户体验、应用服务、云产品、容器的一站式监控。
第二代:与应用托管与治理产品无缝集成,覆盖观测、安全、业务稳定性等多个刚需场景
伴随着企业加快数字化转型步伐,导致IT系统更新频繁,应用复杂度急剧升高。微服务、容器化等技术也逐渐在传统企业中兴起,而云服务也成为企业大规模运营数字业务所必备的技术服务。以用户体验为核心的应用性能管理(APM)受到广泛关注,并在帮助企业实现数字化转型及智能化运维的道路上表现出巨大的价值。体验为王时代催生向上覆盖业务连续性,向下连接基础设施稳定性的一体化可观测产品形态。
为了进一步提供更加完善的产品能力,继2017年发布前端监控,2021年阿里云推出云拨测产品。从用户端角度来观测系统可用性,为云上用户提供开箱即用的企业级被动式及主动拨测式应用监测解决方案,为用户体验优化提供坚实、可靠的可观测分析工具。
第三代:让阿里云积累的可观测技术、开源可观测事实标准、客户存量与自研的可观测数据资产做无缝融合
可观测需求在云原生时代的爆发式增长,以及基础设施的标准化,使得可观测开源、商业化项目不断涌现,国内可观测市场心智逐步形成,Prometheus、Grafana、Opentelemetry等可观测标准也逐渐形成。也正基于此,阿里云接连推出Prometheus监控服务、Grafana服务等可观测产品,并于6月推出阿里云可观测套件ACOS,进一步整合阿里云相关可观测产品与场景,帮助企业提供更丰富、更完整的可观测能力,同事大幅节省搭建可观测系统的资源和运维开销。
51CTO:目前使用阿里云可观测产品套件的具体落地场景有哪些?
周小帆:得益于云原生开源生态蓬勃发展,工程师可以轻而易举地建设一套监控体系,比如使用Prometheus+Grafana搭建基础监控,或使用SkyWalking或Jaeger搭建追踪系统,亦或使用ELK或Loki搭建日志系统。可观测技术百花齐放,导致目前面临最大问题不在于功能缺失,而在于数据的割裂。对运维团队而言,不同类型可观测数据分散存储在不同后端,排查问题仍需在多系统之间跳转,效率得不到保证。
今天的客户,不得不在商业化可观测产品、开源自建与存量的可观测资产之间做出艰难选择。
解决这种割裂的方式有两种,一种方式是打造全自研的一站式可观测产品,替换客户现有方案。但历史实践告诉我们,一站式的方案往往会形成另一座数据孤岛。
因此,我们走了另一条道路:向下,提供标准化数据接口,整合阿里云上碎片化的可观测产品,并做到可以连接客户存量的可观测数据资产;向上,提供可自由定制的产品界面,帮助客户形成自己独有的、1+1+1>3、无厂商锁定的可观测解决方案。阿里云可观测套件,从可观测体系设计视角,全面满足企业不同观测场景:
- 针对于基础设施层
Prometheus监控服务对包括云服务器ECS、容器Kubernetes、VPC在内的各类云服务以及消息队列等三方中间件进行观测。并与各种云服务快速联动,迅速进行扩缩容或负载均衡,从而更快的解决问题。
- 针对应用层
基于阿里云自研Java探针的应用监控全面满足应用监控需求。相较于开源工具,在数据质量、探针性能、分析能力等方面具有大幅强化。即使使用开源SDK或探针,也可以通过Opentelemetry将数据上报到应用监控平台。
- 针对用户体验层
过移动监控、前端监控、云拨测等模块,全面覆盖用户在不同终端上的体验与性能。
- 统一告警与管理
于各层采集的数据、告警信息进行统一告警以及根因分析,直接通过Insight呈现发现结果。并集成钉钉、企业微信等协作平台更加高效地进行问题发现并处理跟踪。
- 统一界面
不管是应用实时监控服务ARMS、Prometheus监控的上报数据,还是日志服务、Elasticsearch、MongoDB等各种数据源,都可以通过全托管Grafana服务进行统一的数据可观测数据呈现,建立统一的监控大盘。
阿里云对可观测领域的思考
51CTO:阿里云可观测产品相较市场上的同类产品,首创性和差异化优势在哪里?
周小帆:Gartner曾预测,2023年全球可观测市场规模预计将达到164.94亿美元。2024年将有30%企业会通过可观测技术来提升数字化业务运行性能。热潮之下,不管是老牌厂商、初创公司都在可观测领域迸发出强劲的产品能力。相较市场上的同类产品,阿里云也有着自己思考与差异化优势。与众多第三方服务或开源自建方案不同,阿里云可观测套件实现多层次连接,全面打破数据孤岛,挖掘数据背后的业务价值。
第一,向上形成兼容开源标准的统一观测界面
与应用实时监控服务ARMS的应用层监控(APM)、前端体验监控(RUM)、基于eBPF技术的K8s监控、云监控等阿里云自研可观测产品双向连接,将可观测数据与分析能力以开放标准(PromQL)、统一开放界面(Grafana)的形式提供给用户,便于用户的再集成与二次加工。ARMS也全面支持OpenTelemetry SDK进行自定义埋点的增强。
第二,向下连接阿里云可观测数据存储类产品
统一诸如日志服务SLS、Elasticsearch服务等可观测数据存储,以及散落在异构数据存储设施中(如Clickhouse、Lindorm、RDS)的可观测数据,实现可观测数据源管理与异构数据间无缝探索。
第三,横向连接阿里云所有应用管控产品与中间件产品
阿里云所有应用管控(Serverless应用引擎SAE、容器服务ACK、函数计算FC、企业级分布式应用服务EDAS等)与中间件产品全面拥抱开源可观测标准,并与可观测套件进行连接。目前,已有超过50款阿里云云服务通过Prometheus标准进行观测。
第四、全面拥抱开源
阿里云作为国内可观测领域的引领者,积极拥抱开源生态,提供Prometheus监控服务、Grafana服务、兼容OpenTelemetry、Skywalking等主流开源协议的链路追踪服务,共同形成新一代阿里云可观测套件。使用标准化技术向下连接存量、碎片化可观测数据,向上帮助客户形成自己独有、无厂商锁定的可观测解决方案,实现真正的客户成功。
第五、打造可观测数据生态
自2017年与Elastic公司合作打造Elasticserach服务后,阿里云先后与Grafana Labs、博睿数据、谐云、袋鼠云等企业达成战略合作,与阿里云自研可观测体系无缝集成,把引领业界标准的优秀产品与技术服务带给阿里云的海量客户,提供更丰富、优质、低门槛的可观测服务与能力。
51CTO:能否结合具体用户案例对于阿里云可观测产品的部署和实践效果予以说明。
周小帆:以2022年北京冬奥会举例,作为历史上第一届核心系统全面上云的奥运会。依托阿里云的政务云与公有云的40多款产品与服务,实现冬奥会官方App冬奥通、新闻发布会系统、比赛记时记分系统、运动员评论系统等30+应用全面上云。为了对云上资源进行多维度采集与观测,满足北京冬奥会赛事期间现场值班人员对云上资源整体运行风险的提前预知,以及故障时快速定位、诊断问题需求。阿里云依据冬奥组委业务特点,从三个层次对观测指标进行选取:
- 应用层监控
服务每秒接收的请求数、每个请求的耗时、失败的请求数等应用层技术参数。
- 基础资源监控
云服务器ECS CPU利用率、内存利用率、磁盘空间,POD CPU利用率、内存利用率、磁盘空间,RDS CPU使用率、内存使用率、IOPS使用率、磁盘空间,Redis CPU使用率、内存使用率, CSG前端读写速率、共享缓存使用率、用户态空间使用率、Trottling状态。
- 网络层监控
带宽情况、活跃连接数、限速丢包率、专线健康检查丢包率等核心网络参数。
基于以上需求,冬奥组委选择阿里云可观测套件来构建整个可观测体系。北京冬奥组委业务系统分为生产环境和测试环境,重点对生产环境进行监控。在构建信息系统总体监控大盘时,首先基于Tag编写PromSQL语法提取出生产环境的资源;同时考虑到ECS、RDS、Redis、SLB等资源数量很多,再重点对TOP 10资源使用情况进行观测以便更好的发现风险,提升服务的可用性。同时,对于北京冬奥会赛事运行期间重要的业务系统,像成绩系统、评论员解说系统等每个关键信息系统都构建单独Grafana监控大盘。对SLB流量、QPS使用率、HTTP请求不同返回状态码重点监控。
由于冬奥通后台应用为Java系微服务架构,且包含近千个Kubernetes Deployment应用实例,为了更好对容器服务集群及其上面运行的应用进行一体化监控,冬奥组委基于应用实时监控服务ARMS的Prometheus构建容器集群监控大盘。在同一张大盘上看到多个数据源,包括集群事件日志、基于ebpf无侵入式的应用指标、网络指标等。冬奥组委通过一张大盘的关联分析逻辑,从总览到细节,通过多数据源、多角度的可观测能力进行不同维度的排查。
基于阿里云可观测套件,冬奥组委在最短时间内快速搭建一套完整的可观测体系,为奥林匹克国际官网、奥林匹克频道OCS、奥林匹克广播服务公司OBS等,涵盖比赛场馆票务、新闻发布会系统、冬奥会官方App冬奥通、广播数据推送、自动化媒体标注、国际实时信号转播、数据仓库、人员抵离ADS、网约车出行RHP等众多业务场景保驾护航,保障北京冬奥会顺利举办。
在历经全球级项目大考之外,阿里云可观测产品矩阵凭借其完备的功能、良好的生态集成能力以及出色的成本优势,收获了行业的认可。阿里云应用实时监控服务ARMS在今年获得了中国信通院的可观测产品先进级认证,阿里云连续两年进入Gartner APM与可观测魔力象限,今年更是成为了唯一入选的中国企业。在Forrester的容器、Serverless产品能力评测中,可观测相关的产品能力分数也得到了满分认证。
可观测领域七大技术与应用趋势
51CTO:可观测能力将来有标准化的可能吗?从监控到可观测性,运维转型的整体趋向呈现什么样的态势?
周小帆:在可预见的未来,可观测领域将形成一定意义的标准化。各大厂商、开源项目都在推进标准的统一。首先是指标,Prometheus作为云原生时代指标数据标准已经形成共识;链路标准也随着OpenTracing和OpenTelemetry的推行而逐渐占据主流;在日志领域,虽然其数据结构化程度较低难以形成数据标准,但采集存储分析侧涌现出Fluentd、Loki等开源新秀;另一方面,Grafana作为可观测数据展示标准也愈加明朗。但标准虽然统一,但我们也要看到基于统一标准的开源撕裂程度比想象得更为惨烈。
同时,在标准化之外,我们看到可观测领域可预见的七大技术与应用趋势:
- 构建以应用为中心的观测视角:以应用为单位关联指标、链路与日志。利用逐渐成熟的eBPF探针技术快速实现全局应用可观测,无侵入应用探针为主 + OpenTelemetry为辅实现代码级可观测能力。
- 聚焦业务成败与用户体验:精准度量用户体验,关联业务成败。前后端可观测数据打通,实现业务全链路快速问题定位。
- 连接应用管控链路:与运维变更管控体系紧密衔接,实现监-管-控一体化能力。融合安全治理与可观测技术,全面降低IT风险。集成混沌工程、性能测试,数据驱动稳定性治理常态化。
- 打破部门墙,建立高效协同机制:建设以SLO驱动的应急响应体系,引入ChatOps机制,实现去中心化协同。借助数据标签体系快速构建团队及个人可观测视图。
- 标准化指标监测体系建设:围绕Prometheus生态构建新一代可观测基础设施,拥抱分布式云架构,建设全局指标监控体系。聚焦指标质量而非数量,持续治理监控体系的有效性。
- 统一可观测界面:“Unify your data, not your database”,借力Grafana可视化体系实现异构存储的统一呈现。
展望未来,阿里云认为“观测力”将成为云计算时代每个工程师的核心竞争力。阿里云上越来越多云服务通过主流开源标准将自身运行状态充分白盒化,更好地被云服务使用者集成。工程师们将逐步采纳Monitoring as code的方式,实现可观测左移。相比以往,可观测能力构建将成为编写业务逻辑与实施运维自动化的关键环节。
作为管理者,通过可观测技术辅助研发运维的效能管理、IT成本分析将逐渐成为必备技能;同时管理者也会逐步借力可观测数据,数字化驱动团队成员之间的协作与沟通,以及用于识别企业安全风险。
万物皆可云的时代,可观测性让云变得更易用。可观测的巨大价值正在逐步兑现,我们从监控走进可观测,但不仅仅止步于观测,分析、洞察并实现高质量的决策与业务创新才是观测的最终目的,阿里云也将不断提供这个领域优质的产品与服务。
嘉宾介绍
周小帆,阿里云资深技术专家,目前就职于阿里云云原生应用平台,负责阿里集团APM系统鹰眼(EagleEye)与阿里云应用实时监控服务(ARMS)等技术产品。在可观测相关领域有超过九年的实战经历,在分布式链路追踪、日志处理平台和监控告警系统的建设与应用有丰富经验。其他技术相关的经验包含微服务治理、分布式数据处理、应用PaaS等。
栏目介绍
“T前线”是51CTO内容中心专为技术人物开设的深度访谈栏目之一,通过邀请技术界内的业务负责人、资深架构师、资深技术专家等对当下的技术热点、技术实践和技术趋势进行深度的解读和洞察,推动前沿科技的传播与发展。