加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 云计算 > 正文

2023年,可观测性迎来哪些新走向?

发布时间:2023-07-07 14:11:59 所属栏目:云计算 来源:
导读:尽管“可见性”是古老的术语之一,但最近由于云原生的发展,它变得既熟悉又令人困惑,而可观测性成为降低这种复杂度的唯一手段,因此被推到了前所未有的重要地位。

Gartner将应用可观测性(Applied Obs
尽管“可见性”是古老的术语之一,但最近由于云原生的发展,它变得既熟悉又令人困惑,而可观测性成为降低这种复杂度的唯一手段,因此被推到了前所未有的重要地位。

Gartner将应用可观测性(Applied Observability)列为“2023年十大战略技术趋势”之一,并指出,到2026年,70%成功实现可观测性的企业机构,将能够降低决策延迟,帮助目标业务或IT流程建立竞争优势。

那么,云原生时代的可观测性有哪些新挑战和新趋势?

1.云原生带来可观测性变革

可观测性,是指通过分析系统的Metrics(指标)、Traces(链路)、Logs(日志)等数据,构建完整的观测模型,从而实现故障诊断、根因分析和快速恢复。

对此,谷歌有一个很简单的表述,快速排障(troubleshooting),即可观测性的核心价值。

尽管近年来可观测性颇有一点“网红”气质,但可观测性也是由传统监控演进而来的。

传统监控是面向运维视角的,从系统外部视角去观察系统的运行状态,应用规模普遍较小且服务之间没有互相依赖,更多是通过阈值来监控单体主机的日志和性能指标。

随着云原生技术的发展,基于容器和微服务化的应用规模更加庞大,服务之间依赖呈现为网状结构,复杂的云上环境以及分布式系统的复杂性、动态性,使得故障定义、调用追踪非常不明朗。

例如,虽然很多容器化应用上线有着开箱即用、快速发布的这些好处,但也有很多的网络流量抓取不到。

在这种情况下,其实很难通过传统的方式进行网络流量抓包分析,云环境网络流量监控“黑盒”的短板也逐步暴露了出来。

以往的日志、性能指标监控能力,就需要补充面向云网络的流量日志与性能指标,同时结合动态的全链路追踪能力,实现多维数据的关联分析,提供整体应用的可靠性保障。

因此,云原生可观测性被提出来了,要求从系统内部出发,基于“白盒化”的思路去监测系统内部的运行情况,不仅发现问题,更对于问题现象背后的本质给出明晰解释。

而可观测性背后的指标、日志、事件、链路数据,以及诊断工具的结合使用,就为事前预防、事中处理、事后复盘提供了重要决策依据。

可以说,可观测性是基础设施自动化的基石,优秀的可观测性是确保云原生红利高效释放的前提条件。

2.可观测性的三大维度

云原生计算基金会CNCF将数据库的可观测性分解为一至三个更具体的技术方向之一进行研究,分别是:分布式事件日志、链路追踪和聚合度量。

日志(Logging)

日志的职责是记录离散事件,通过这些记录事件后分析出程序的行为,譬如曾经调用过什么方法,曾经操作过哪些数据等等。

输出日志的确很容易,但收集和分析日志却可能会很复杂。面对成千上万的集群节点,迅速滚动的事件信息,数以TB计算的文本,传输与归集都并不简单。

目前,事件日志可观测产品已经是一片红海。

日志管理方案大都包含日志收集、日志聚合、日志存储与分析几个模块,具体过程是日志收集工具与应用程序容器一起运行,并直接从应用程序收集消息,然后将消息转发到中央日志存储以进行汇总和分析。

常见的日志管理工具包括ELK Stack、Fluentd、Loki等。其中,Elastic Stack日志解决方案几乎覆盖了日志管理的全流程。

度量(Metrics)

度量是指对系统中某一类信息的统计聚合,主要目的是监控和预警,如某些度量指标达到风险阈值时触发事件,以便自动处理或者提醒管理员介入。

度量常用的工具包括:Zabbix、Nagios、Prometheus,及相关高可用部署方案如Prometheus-operator、Thanos。

追踪(Tracing)

追踪的主要目的是排查故障如:分析调用链的哪一部分、哪个方法出现错误或阻塞,输入输出是否符合预期等等。

云原生时代,追踪不只局限于调用栈了,一个外部请求需要内部若干服务的联动响应,这时候完整的调用轨迹将跨越多个服务,同时包括服务间的网络传输信息与各个服务内部的调用堆栈信息。因此,分布式系统中的追踪常被称为“全链路追踪”。

同时,追踪方面的情况与日志、度量也有所不同。

追踪是与具体网络协议、程序语言密切相关的,各个服务之间是使用HTTP还是gRPC来进行通信,会直接影响追踪的实现,各个服务是使用Java、Golang还是Node.js来编写,也会直接影响到进程内调用栈的追踪方式。

这决定了追踪工具本身有较强的侵入性,通常是以插件式的探针来实现,也决定了追踪领域很难出现一家独大的情况,通常要有多种产品来针对不同的语言和网络。

近年来各种链路追踪产品层出不穷,市面上主流的工具既有像Datadog这样的一揽子商业方案,也有AWS X-Ray和Google Stackdriver Trace这样的云计算厂商产品,还有像SkyWalking、Zipkin、Jaeger这样来自开源社区的优秀产品。

总的来说,日志、度量、追踪三者打通,最大的价值是能做到全链路错误寻根,即从发现请求Metric指标异常,通过指标关联分析,并逐层下钻到明细Trace追踪和具体Error Log,全流程自动化从宏观到明细的错误发现和根因定位。同时,系统还支持多种数据类型的异常处理,包括sql语句、excel表格、txt文件、xml文件等。

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!