云原生热门话题|什么是可观测性-Observability
Posted 魏小言
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了云原生热门话题|什么是可观测性-Observability相关的知识,希望对你有一定的参考价值。
code杂坛:关注一线大厂 “ 互联网时讯、各技术栈、产品、开源社区、等最新讯息 ”
— 1 —
可观测性引入
“可观测性” 术语源于几十年前的控制理论。在许多实际问题中,控制系统的状态变量不是由直接测量得到的,而是通过某种观测方法得到的,由某种观测系统所得到的结果能否真实反映系统的状态就是控制系统的可观测性。可观测性表示输出可以完全反映系统状态的特性,就像汽车方向盘下的各项仪表盘一样,实时动态告诉我们车辆的时速、耗油、灯光、暖风……等状态特征。
"可观测性",也可称为 “遥测”。将对象参量的近距离测量值传输至远距离的测量站来实现远距离测量的技术。
2018 年,”可观测性“被引入互联网领域,用于描述云原生环境下服务的状态变量。CNCF-Landscape 引进并组织创建 Observability 分组,“可观测性“ 逐步成为云原生技术领域最热门话题之一。
— 2 —
可观测性与监控
随着技术、组织的发展,监控外延衍生成了可观测。或者说,在云原生环境下,可观测性成功取代了传统的监控。
2.1 云原生技术
监控的衍生离不开技术的发展,最大的发展因素之一就是 云原生技术。
21世纪初,正如 Mark Andreessen「硅谷著名风投机构Andreessen Horowitz联合创始人——硅谷未来预言家」所说:“ 软件正在吞噬世界 ”。软件服务无处不在,BaiDu、Alibaba、Tencent….一些大厂如雨后春笋,强势的入侵争霸传统行业。
21世纪中后期,将会是:“ 云服务将会取代软件,万物皆云端…..”
随着云基础的发展,云可提供 “按需的,自主弹性的算力、网络、和存储资源的环境“,支持软件价值的持续交付,使企业在复杂的市场中拥有真正的竞争力。各大厂商纷纷拥抱云原生技术,正是如此,给传统的技术架构带来了巨大冲击,其中也包含了监控方面。
随着业务日益复杂,软件架构复杂度也攀升。为保证服务的高可用、高性能,出现了各种微服务拆分策略,使一个服务功能实现变成了基于分布式的多服务协作模式。此时监控对象也由传统的单体结构,变成了分布式的多个微服务,数据规模、链路长度、服务管理、服务器资源耦合度…都迎来了挑战。
服务上云之后,微服务大都基于 Docker 容器部署,Kubernetes 服务治理。资源弹性伸缩且实时变化,如何应对这种场景做监控,对传统的监控更是迎头一棒。
2.2 DevOps
可观测性的孵化成长离不开组织文化的变革,最大的变革因素之一就是 DevOps。
DevOps 提倡的是打破单个团队之间的隔阂(例如:架构、开发、IT、安全和QA),以更好地促进团队合作,更好地激励每个团队成员朝着相同的目标前进。
在云原生的技术架构中,服务链路相互交错复杂,单单维护监控的运维同学无法高效根除问题。从错误告警入手排除故障比较容易,但探究问题深层次原因就需要熟悉业务代码,通过追溯源码发现问题根源,然而传统的运维同学是与业务开发解耦的。
传统的监控将以系统可用性、稳定性为主要目标诉求。在面对数字转型中的大环境中,我们强调聚焦业务,用户视角,智能决策。
我们不仅仅需要系统的可用、稳定,我们更需要去主动发现问题,提升用户体验及潜在问题;分析系统数据,提供未来趋势预测;以用户的视角看待系统,优化完善系统;这些都对监控提出了更高的要求。
那么如何面对这些挑战呢?可观测性提供了解决之道。
— 3 —
可观测性三大要素
可观测性围绕系统状态将数据分为三种维度,分别是:metrics、log、trace。
基于这三个维度,经过数据采集、聚合、分析加工之后,可提供系统全方位的,实时的状态特征。有了系统的特征信息,我们就可以知晓系统的负载、资源的消耗、业务规模的变化趋势…等等,并且可以据此分析系统的潜在问题及优化方向和优化空间,甚至可辅助业务决策。
-
Metrics
-
metrics 数据指标,可以是物理指标,也可以是业务指标。
-
-
Log
-
log 离散事件,是单位功能的事件记录。
-
-
Trace
-
trace 访问事件,是单次请求的访问记录。
-
三种维度,每一种有独特的定义及意义,也都有其值得称赞的成熟产品。在 metrics 维度,有 拥抱云原生的 Prometheus 组件;在 log 维度,有基于 Lucene 的 Elasticsearch 组件;在 trace 维度,有 lightStep 组件;
如果说每个维度都是一个门派的话,那么同时支持三种维度的就是江湖,比如 OpenTelemetry 组件…
有了核心维度,如何进行数据的采集、加工、关联…呢?
3.1 数据标准化
这就不得不提数据格式的标准化。由于篇幅有限,可关注后续文章。
猜你喜欢
code杂坛:关注一线大厂 “ 互联网时讯、各技术栈、产品、开源社区、等最新讯息 ”
#架构|高可用|高性能|高并发|高容错|HTTP|网络|云原生|面试#
以上是关于云原生热门话题|什么是可观测性-Observability的主要内容,如果未能解决你的问题,请参考以下文章