您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。[云安全联盟]:云原生可观测性技术研究与应用 - 发现报告
当前位置:首页/行业研究/报告详情/

云原生可观测性技术研究与应用

2023-12-15-云安全联盟艳***
云原生可观测性技术研究与应用

©2023云安全联盟大中华区版权所有1 @2023云安全联盟大中华区-保留所有权利。你可以在你的电脑上下载.储存.展示.查看及打印,或者访问云安全联盟大中华区官网(https://www.c-csa.cn)。须遵守以下:(a)本文只可作个人.信息获取.非商业用途;(b)本文内容不得篡改;(c)本文不得转发;(d)该商标.版权或其他声明不得删除。在遵循中华人民共和国著作权法相关条款情况下合理使用本文内容,使用时请注明引用于云安全联盟大中华区。 ©2023云安全联盟大中华区版权所有2 ©2023云安全联盟大中华区版权所有3 致谢 《云原生可观测性技术研究与应用》由CSA大中华区云原生安全工作组内企业云原生可观测性白皮书项目组专家撰写,感谢以下专家的贡献: 项目组组长:王亮主要贡献者: 高巍 陈磊 浦明 郑伟 申屠鹏会 杨文宏 刘刚 李卓嘉 谢奕智 研究协调员: 罗智杰闭俊林贡献单位: 北京沃东天骏信息技术有限公司安易科技(北京)有限公司北京神州绿盟科技有限公司中国工商银行股份有限公司天翼云科技有限公司 (以上排名不分先后) 关于研究工作组的更多介绍,请在CSA大中华区官网(https://c-csa.cn/research/)上查看。 在此感谢以上专家及单位。如此文有不妥当之处,敬请读者联系CSAGCR秘书处给与雅正!联系邮箱research@c-csa.cn;国际云安全联盟CSA公众号 ©2023云安全联盟大中华区版权所有4 序言 2018年,可观测性(Observability)被引入IT领域,CNCF-Landscape率先出现了Observability的分组。自此以后,“可观测性”逐渐取代“监控”,成为云原生技术领域最热门的话题之一。Gartner发布的《2023年十大战略技术趋势》中,提到了可观测性的发展趋势解读。文中谈到:“可观测性应用使企业机构能够利用他们的数据特征来获得竞争优势。它能够在正确的时间提高正确数据的战略重要性,以便根据明确的数据分析结果采取快速行动。可观测性是一种强大的工具。如果能够在战略中予以规划并成功执行。可观测性应用将成为数据驱动型决策能力建设的最强支撑。” 本白皮书介绍了可观测性在云原生场景的架构设计,阐述在云原生场景使用eBPF技术完成可观测性数据采集的技术实现及优势。云原生可观测性的应用场景涵盖了事件根因分析、安全溯源分析等主要内容,旨在阐述云原生可观测性的生产实践。云原生场景业务弹性变化节奏加快、工作负载生命周期缩短、工作负载直接的访问关系更加复杂。在轻量、多变、短生命周期的云原生环境获得足够多的数据,得以对事件根因进行分析,对入侵行为进行溯源,对未知威胁进行预测,是将可观测性能力运用至云原生安全领域后带来的安全能力提升。这也是可观测性对云原生场景安全的价值体现。 希望通过本白皮书为读者深入浅出的介绍云原生可观测性及云原生可观测性对安全能力的赋能。使得广大云原生基础设施运维者、云原生业务使用者能够借鉴本文的评估自身系统云原生可观测性的成熟度及发展战略。 李雨航YaleLiCSA大中华区主席兼研究院院长 ©2023云安全联盟大中华区版权所有5 目录 致谢4 序言5 1.可观测性概述8 1.1云原生可观测性发展8 1.2可观测性定义9 2.云原生可观测性成熟度10 2.1监控11 2.2基础可观测性11 2.3因果可观测性14 2.4主动可观测性18 3.云原生观测体系能力构建21 3.1云原生可观测性信号21 3.2云原生可观测能力构建28 3.3核心能力-基于eBPF构建云原生数据采集技术33 4.云原生可观测性应用场景40 4.1故障分析40 4.2事件预测40 4.3日志审计41 4.3监控47 4.4微服务追踪50 ©2023云安全联盟大中华区版权所有6 4.5安全检测分析53 5.优秀云原生可观测项目介绍56 5.1Prometheus项目56 5.2OpenTelemetry项目59 5.3SkyWalking项目63 附件.引用文献67 ©2023云安全联盟大中华区版权所有7 1.可观测性概述 1.1云原生可观测性发展 CNCF云原生定义对云生技术描述为:在现代动态环境(如公有云、私有云和混合云)中构建和运行可扩展的应用程序的能力。容器、服务网格、微服务、不可变基础设施和声明性API均是基于云原生技术的特征。采用云原生技术使松散耦合的系统具有弹性、可管理和可观察性。结合强大的自动化功能,能够以最少的工作量频繁且可预测地进行高影响力的更改。 Pivotal公司MattStine在2013年首次提出云原生概念。2017年MattStine 将原生特征归纳为六大点,分别是: 模块化Modularity 可观测性Observability 可部署性Deployability 可测试性Testability 可处理性Disposability 可替换性Replaceability ©2023云安全联盟大中华区版权所有8 作为六大特征之一的可观测性是保证云原生应用稳定性的基础。在云原生时代,应用规模不断扩大,复杂度愈来愈高,而其中潜藏的问题和风险也随之增多。这对支撑平台及业务自身的稳定性提出更高要求。能够支撑业务的快速迭代、故障快速响应能力、适应复杂的微服务拓扑、保证高效运维。 在数字化大趋势下,云计算成为企业数字化转型的关键。以云上开发为核心的云原生技术得到了广泛的使用。云原生在企业上云和基础实施架构上的大量应用,也对企业的运维监控安全提出了新的挑战。分布式、解耦合的新型系统架构,服务调用链长、系统行为复杂、软件系统稳定性保障困难,解决以上问题需要采用新的方式对系统进行观测。 1.2可观测性定义 在控制理论中,“可观测性是从系统外部输出的数据衡量系统内部状态的程度”。可观测性是人类对机器可以观察、理解和处理所述系统状态的功能。可观测性是在没有考虑目标的情况下决定系统在实现时应该具有哪些输出。 在IT领域,可观测性是在日志与监控指标组成的传统监控基础上,依据由日志、指标、链路追踪三种核心数据来洞悉系统运行状态。通过统一的链路追踪洞察系统服务调用链,并与日志、指标数据联动分析,可实现对云原生系统的高效故障定位与故障解决,保障云原生系统稳定性。 ©2023云安全联盟大中华区版权所有9 可观测性具有三个方面的特征,首先是度量能力,可观测性的度量能力能够帮助使用者在系统处于非常极端复杂的场景时,也能理解和解释系统当前的状态。其次是探索分析,可观测性不应该预定调试/排查模式和路径,而应该能够自由地对所有采集到的各类状态数据在各种维度和组合之间进行关联分析,不断探索分析出新的关联性。最后是按需改变,可观测性最好是在不改变原有代码的情况下,按需进行埋点。 2.云原生可观测性成熟度 研究可观测性成熟度模型的目标是提供一种可衡量、可复制的理论基础用以评估、改进可观测性体系能力。遵循PDCA模型通过对可观测性能力持续改进,提高对云原生系统的感知能力,缩短运维过程中寻找根因、排除故障的时间。 衡量和评估云原生系统可观测性的成熟度模型,可定义为如下四个级别: Level1——监控(Monitoring) Level2——基础可观测性(BasicObservability)Level3——因果可观测性(CausalObservability)Level4——主动可观测性(ProactiveObservability) 可观测性成熟度模型的每个级别,建立在前一级别已实现的基础上。 ©2023云安全联盟大中华区版权所有10 2.1监控 2.1.1目标:确定系统组件是否按预期正常工作 可观测性成熟度模型中,监控是第一个阶段。此阶段对资产、进程、资源使用等数据持续采样、度量和记录,获取实时或定期的信息和数据。跟踪单个系统组件的特定参数,度量系统组件状态。系统组件运行状态如超出预设范围,触发警报、状态更改、通知。监控级的目标之一是设置实时警报,在系统出现问题或达到预定阈值时能够及时报警。 2.1.2能力 在Level1阶段,被监控的系统各组件之间无相关性,此级别主要目标是了解系统组件是否正常工作。监控级会开始对基本的性能数据进行采集,以确保系统在负载情况下不会受到显著影响。监控级的主要目标是建立起最基本的监控能力,以确保系统的基本稳定性和可用性。 关键功能: 系统输入:事件和组件级指标系统输出:报警、日志 价值:获得基本信息,系统组件的健康状态出现问题时的警报和通知 2.2基础可观测性 ©2023云安全联盟大中华区版权所有11 2.2.1目标:确定系统故障 可观测性通常指基于对复杂系统外部输出的了解,能够了解其内部状态或状况的程度。系统越可观测,定位问题根本原因的过程就越快速越准确,而无需进行额外的测试或编码。 为保证复杂动态的系统可靠运行,需要知道系统组件是否正常运行,还需要了解它为什么不运行。当出现问题时,希望遵循“5W1H”的原则了解问题详情:who、when、where、what、why、how。 Level1监控措施基于预置规则实现告警、通知。预置规则依赖于一个关键性的假设,即能够在问题发生之前预测将会遇到的问题类型。这种方法不能覆盖足够多的场景,无法回答5W1H的问题。云原生环境是动态的、复杂的、多变的,无法事先预知可能会出现什么样的问题。因此云原生应用下的可观测性方案,应可以根据更完整、更深入的可观测性数据,实时感知事件,并提供定位可能无法预料的问题根因的能力。 可观测性成熟度Level2相较于Level1的数据具有更大的广度和深度。可观测性系统主要关注三种关键类型的数据来提供系统洞察力:指标、日志和跟踪。可观测性的这三大支柱是从微服务、应用程序、数据库、云原生基础设施中收集的,旨在提供对系统行为的更为完整的视图。 每种数据提供不同类型的信息: ©2023云安全联盟大中华区版权所有12 指标:了解服务性能和状态的数值测量--四个黄金信号:延迟、流量、错误率和饱和度。 日志:了解系统在给定时间点的行为--统中发生的相关事件(例如事务、警告、错误)的时间戳记记录 追踪:解决性能问题--显示数据如何从端到端流经应用程序的详细快照 (例如,用户请求) 可观测性强调数据的统一性,通过构建统一的平台来实现指标、日志和跟踪数据的汇聚与处理,突破单点工具的能力限制。建设统一数据平台可将各种可观测性工具整合在一个集中的界面,提高管理和维护系统的效率。 通过手工关联数据来推断事件的可疑原因,需要跨系统手动查询。在Level2中,尚未涉及自动化方法来统一和关联来自各种工具汇聚的孤立数据,准确定位问题的根本原需要大量的人力投入。 2.2.2能力 Level2阶段,理解可观测性数据之间的关系,将上下文数据结合。关键功能: 系统输入:Level1+链路、指标、日志 系统输出:Level1+图标、日志可视化综合仪表盘 ©2023云安全联盟大中华区版权所有13 价值: 通过从更多来源收集数据,更深入、广泛、全面地了解整个系统健康状况,更好地支持问题诊断 除已知故障类型外,还能够发现未知故障模式 从各种类型的数据中获得有益的洞察力--例如,跟踪有助于识别性能瓶颈,指标可提供出色的KPI,日志可用于查找软件缺陷。 2.3因果可观测性 2.3.1目标:确定问题根本原因影响面及规避方法 可观测性的核心价值在于提高排查问题的效率。可观测性工具通过分析数据,定位问题,进一步确认问题的根本性原因(RootCause)。可观测性体系用于因果判断,可以更深入全面地理解系统的运行和行为,得出系统中事件之间的因果关系。通过对因果关系分析理解,找出引发问题的根本性原因。具备因果分析能力的可观测性体系可定义为“因果可观测性(CausalObservability)”。具备因果分析能力的可观测性体系,通过收集、分析和解析足够多维度的数据,达到理解系统内事件、状态变化之间的关系,从而更深入地洞察系统运行状态。因果可观测性强调在