数字化进程的推进,使得不同企业对于数字化可观测产品提出了各种差异化的需求。本文先是具体分析了不同类型的企业对于可观测产品的直接需求和痛点,描述了可观测产品的所能提供的更丰富的实际应用场景。紧接着从开源产品,国外商业产品,以及databuff产品分别阐述各自的解决方案特性。最后,本文给出了针对不同类型企业选择可观测产品所需要考虑的主要策略和原则方针。
1、国内企业对可观测产品的需求**
1.1需求和痛点
随着数字化进程的推进,国内外IT架构的演变正以肉眼可见的速度进行着。IT架构变得越来越先进和复杂。数字化转型走在前面的那批企业采用了混合云架构部署信息系统;更多的企业正在经历从传统架构到数字化架构的变迁;还有少部分企业还正处于数字化转型起步的阶段。
不同企业对于可观测产品的需求差异很大
对于数字化转型进度领先的企业,他们迫切需要的是一种能够帮助他们了解云上应用系统运行质量,定位云应用系统故障问题的可观测工具。在面对大量的微服务时,能够梳理清楚微服务之间的全链路调用关系。
而对于正在经历数字化架构转变的企业,他们的IT架构最为复杂。不同的部门独立自建自己的监控工具,管理起来难度大,所以迫切需要统一监控工具。
处于数字化转型起步阶段的企业,往往还很依赖传统的监控工具,zabbix,prometheus,elk等等。所以,他们需要一款能够将这些传统监控工具进行整合的可观测工具,并帮助他们平时难以定位的系统问题。
1.2可观测产品能够解决的问题
基本价值
可观测产品应具备统一数据采集、统一数据模型、统一数据治理、统一数据存储、统一数据分析的能力。将不同来源的可观测数据信号统一融合。实现从基础设施,网络,中间件,云平台,到服务以及业务的全链路监控。此外,基于全域数据之间的关联关系,能够实现故障的预测,以及故障的根因定位。
高级应用价值
还可以提供对业务数据的统一分析能力,从而以统一的处理流程完成对业务数据的建模,避免复杂的数据etl,支撑更快捷的业务决策。
能够提供端到端全链路分析能力,进一步分析每个用户的数字化操作体验,从而有助于优化业务操作流程,有针对性地优化业务操作性能。
还能够实现与企业内部DevOps流程进行打通集成,通过对接ITSM和CICD系统,能够及时发现产品研发生产过程中隐藏的问题,将问题提前暴露。
2、现有的可观测解决方案
目前市面上的可观测产品和解决方案琳琅满目,分别在技术成熟度,产品能力和特色上有着不同的表现。下面我们主要以开源产品、国外商业产品以及databuff产品为例来主要说明他们之间各自的特点。
2.1 可观测开源套件和框架
skywalking
在国内应用广泛。作为apache顶级项目,skywalking社区活跃度高,更新速度快。支持云原生环境,前端监控,基础设施监控等功能。采集探针技术的可扩展性非常高,可根据自己的需求定制。目前国内很多企业都把skywalking集成到自己的测试和生产环境中。skywalking后端技术组件采用的是elasticsearch,数据存储成本高,后端性能差。
pinpoint
产品体验良好,界面美观度高。与此同时,监控粒度较细,能够实现代码堆栈级别的监控。然而,pinpoint的存储后端依赖hbase技术组件,整体技术架构比较重,运维成本较高。同时,pinpoint探针在运行时性能消耗较大,对业务的整体性能影响比较大,因此通常无法大规模在业务生产环境推广使用。
signoz
遵循opentelemetry标准,产品界面美观度和布局体验上优于skywalking。后端存储技术组件采用clickhouse,从而在性能上和存储成本上优于skywalking的elasticsearch。signoz的局限性也很明显。产品整体上和一体化可观测能力差异较大,主要侧重于apm功能。社区活跃度不高。支持的技术组件有限。
pixie
一款用于k8s环境的开源可观测产品,主要采用ebpf技术对环境的信号数据进行采集,支持一体化监控的产品能力。可对流量数据中的通信协议进行深度解析。但是,ebpf采集技术抓不到代码级别的堆栈性能数据。pixie的后端数据存储采用的组件是elasticsearch,存储成本高,并且性能较差。
2.2 国外可观测厂商产品
dynatrace
dynatrace在gartner《APM和可观测性魔力象限》报告中,连续14年被评为“领导者”,并且在forrester wave 2022 AIOps调研报告中排名第一,是可观测领域真正意义上的巨擘。dynatrace同时支持saas版和本地版部署,可观测功能齐全,产品体验优异,AI分析能力突出,将预测式AI,因果式AI,生成式AI相结合。dynatrace应用场景非常丰富,处在行业先进应用场景探索的先锋,生态建设能力强。产品在实际使用过程中,运行非常稳定,性能方面很强。
datadog
datadog在gartner《APM和可观测性魔力象限》报告中,连续4年被评为“领导者”。目前datadog仅支持saas版,可观测功能齐全,产品使用上比较炫酷,具备完善的异常检测,预测和根因分析能力。datadog应用场景丰富,生态建设能力强。因此,在国外也是一款受欢迎的可观测产品。
new relic
new relic在gartner《APM和可观测性魔力象限》报告中,连续7年被评为“领导者”。new relic在可观测领域称得上是老牌劲旅。可观测功能齐全,完善的异常检测,预测和根因分析能力。new relic支持场景化的告警功能,但是在扩展性的应用场景能力上,不如dynatrace和datadog丰富。
2.3 Databuff
Databuff是一套非常优秀的可观测解决方案。它具备了多项优势,能够解决客户在可观测方面的关键需求和痛点。
基于故障场景的根因定位
databuff基于第一性原理实现故障根因定位,多年以来,积累了500+种故障场景的认知。通过不断实践,研究出了高性能轻交付的定位算法。不同于现在市面上主流的基于tracing,基于告警以及基于AI的定位方式,databuff基于第一性原理的故障定位,强调各种场景的专家经验的能力,定位效果更精准。与此同时,为了不断验证各类场景下故障定位的准确性,我们基于混沌工程平台做故障场景的高频注入和测试。
高性能可观测数据底座
完全自研的时序数据库和全量链路数据存储,针对可观测场景研发和优化。对于可观测信号数据,具有极高的写入性能,以及极高的数据压缩比,对于硬件资源的消耗很小。数据检索的性能也数倍优于目前主流的开源技术组件。
融合网络的全链路分析
通常意义上采集的全链路数据中,只包含服务端的性能消耗统计。databuff实现将网络性能集成在每一次全链路业务调用数据中,对于一次全链路业务请求,不仅包含每个服务的执行性能情况,还包含主机之间的网卡访问性能,主机网卡和交换机之间的性能,更有利于进行性能问题定位。
统一数据治理工具
databuff自研了一套统一数据治理网关,并且定义了一套统一的数据模型。通过数据治理网关的图形化拖拉拽功能实现etl数据处理流的定义,从而将来自不同的数据源数据融合到可观测平台。目前我们已经实现了对skywalking,zabbix,prometheus等主流成熟监控工具的对接兼容,实现了对可观测统一标准框架opentelemetry的集成对接。
总体来说,开源产品存在着各种性能上、产品体验上的问题,对于研发资源投入有限的企业来说很难很好的实现二次开发。国外顶尖商业产品采用了大量先进的技术,因此,价格非常昂贵。而databuff产品重在解决国内企业的关键痛点和需求,性价比极高,因此极力推荐。
3、可观测产品选择策略
不同的企业,根据自身的实际情况,可以考虑不同的可观测产品选择策略。具体情况总结如下:
1)对于处于初创阶段的企业,业务规模一般很小。然而,企业具有很强的研发能力,可以安排专业运维人工选择开源产品进行搭建和维护。但是开源产品的实际运行稳定性风险较高,可以提前预留基础架构研发资源对产品使用到探针以及底层组件进行深入了解和日常运维。
这里推荐使用skywalking。作为apache顶级项目,社区活跃,遇到问题时,可以较为方便地进行技术交流和讨论。skywalking支持的技术组件多,探针性能相对稳定。
2)对于长期小规模IT建设的企业,由于对于研发资源的投入有限,企业往往没有太多精力维护开源的可观测产品。这时购买商业化可观测产品会更加划算。企业可以安排IT管理人员合理挑选商业化可观测产品,以订阅的方式进行购买。
3)对于业务规模庞大的互联网企业,研发实力雄厚。可选择策略会更多。
这类企业的业务体量大,业务职能团队复杂,会存在较多的个性化需求,同时对于已有的运维工具,监控体系的整合工作量也不容小觑。企业可以考虑基于skywalking或者pinpoint进行二次开发,或者基于opentelemetry框架从头开始自己建设。
但是自行开发可观测产品也会面临一些问题。首先,可观测产品大概率不是企业的核心战略方向,持续投入研发资源浪费精力。其次,可观测核心技术具有一定的专业门槛,例如底层数据库技术,ebpf采集探针技术。一旦互联网企业打算触及到这些技术,选择和成熟的可观测厂商进行合作是一个更好的选择。
4)对于大型央国企类企业,IT的建设规模同样会很大。然而这类企业的研发能力有限,一般直接选择购买可观测商业产品。
在可观测商业产品的选择中,需要考虑多种因素。首先,一般央国企类企业都非常重视数据安全,产品需要能够支持本地化部署。其次,企业应先考虑解决直接痛点。例如,大量微服务的全链路监控和故障定位,统一监控工具以及对开源监控工具的兼容。接下来,企业需要重点考虑购买成本。从软件成本上分析,国外可观测商业产品很昂贵,近年来由于政策影响再加上信创推动因素,国外可观测厂商服务会出现断层的问题。从硬件成本角度来看,可观测产品需要不间断接入各类信号数据,需要选择底层存储性能强,数据压缩率高的可观测产品。再次,对于个性化需求强的央国企,在选择商业可观测厂商时,应考虑是否具备同行业的实际案例,从而降低实施周期。最后,企业可以考虑产品是否满足各个团队的日常使用需求,功能是否齐全完备。