经验:应云而生,一文看懂端到端的可观测体系构建 | Q推荐
优采云 发布时间: 2022-10-11 05:05经验:应云而生,一文看懂端到端的可观测体系构建 | Q推荐
作者 | 张亚文
2021年初,可观察性的概念在国内市场上鲜有提及,但到了2021年下半年,与可观察性相关的讨论和实践开始层出不穷,知名公司Grafana甚至直接整合原来的监控工具。改成可观察性栈,推送了一系列服务。可观察性真的能解决传统监控系统面临的诸多问题吗?如何构建一个可观察的系统?本期亚马逊云技术技术讲座特邀观察云CEO蒋硕淼分享《构建端到端可观察系统的最佳实践》。
1 为什么可观测性突然“出圈”
可观察性似乎是一个新词,但它的起源比我们意识到的要早得多。可观测性首先由匈牙利出生的工程师鲁道夫卡尔曼提出,用于线性动态系统。从信号流图中,如果所有内部状态都可以输出到输出信号,则系统是可观察的。Burt Wiener 1948 年出版的《控制论——动物和机器的控制与交流科学》一书中也提到了可观察性。控制理论中的可观察性是指系统可以从其外部输出推断其内部状态的程度。
随着云计算的发展,可观察性的概念逐渐进入计算机软件领域。为什么最近可观测性如此火爆?
姜硕淼认为,这很大程度上是由于系统复杂度增加所致。IT系统的本质是一个数字系统。过去系统本身结构简单,多为单体结构,基础设施相对固定,可以通过监控查看系统。然而,随着云原生时代的到来,管理对象逐渐从单一主机到云端,再到云原生分布式复杂系统。传统的面向基础设施的监控、简单的日志、简单的APM都无法解决问题。,因此,需要建立系统的完全可观测性。
可观察性中使用的主要数据类是指标、日志、链接。它们通常被称为“可观察性的三大支柱”。
三大支柱至关重要,正是通过这三个维度的数据,开发人员才能确定应用系统的状态。与传统监控相比,可观察系统具有诸多优势。
传统监控面向已知问题,只能检测并通知那些可能发生的已知故障,如:CPU>90%。主要监控对象为IT对象,仅针对服务器端组件,解决基本运维问题。
可观察性可以帮助发现和定位未知问题。其核心是不断采集系统产生的各种核心指标和数据,通过数据分析保障和优化业务。比如发现某城市的小程序客户端支付失败率很高,从而判断是否是代码层面导致这样的异常。可观察性主要不仅监控IT对象,还监控面向云、分布式系统、APP/小程序的应用和业务。
在分享中,姜硕淼提到,随着基础设施的发展,传统的监控将逐渐被可观察性所取代。
他将构建可观察性的价值总结为以下五点:
2 开源还是SaaS,建立可观察性的正确方法是什么?
与传统的监控系统相比,建筑可观测性具有很多优势和价值。那么如何建立可观察性呢?
首先,要尽可能采集所有组件系统所有相关方面的基础数据,包括云、主机、容器、Kubernetes集群、应用程序和各种终端。实时采集这些数据的成本并不高,但如果不采集,一旦系统故障需要排查分析,就无法有效评估当前状态。
二是明确构建系统可观测性的责任。谁是这个组件的builder,谁负责定义这个组件的SLI,谁负责采集所有相关的基础数据并构建相应的dashboard,谁负责相关组件的SLO,需要追究责任。
第三,开发人员负责可观察性。作为软件质量工程的一部分,开发人员应该公开他们自己的开发系统的可观察性数据。如果说单元测试是为了保证最小的代码单元的可用性,那么开发者标准化可观察性基础数据的公开。将是生产系统可靠性的必要条件。
四是要建立统一的指标、日志、链接规范,统一团队的工具链。即采用相同的指标命名约定、相同的日志格式、相同的链接系统。如果遵循 OpenTelemetry 标准后仍然存在差异,可以定义一个统一的 TAG 规范连接整个系统,例如:所有错误都是 state:error。
五是要不断优化提升整体可观测性。对于整个系统的可观察性,包括数据采集、视图构建、TAG系统建立,这些步骤都需要时间,过去的方法不能使用,因为覆盖或构建的仪表盘在事故中没有发挥作用。处理问题。每个未观察到的故障都是进一步增加可观察范围的绝佳机会。
从可观测性构建的路径不难看出,过程非常复杂。那么,主流的施工方式有哪些?姜硕淼介绍了两种最常见的可观测性构建方法,即通过开源构建和使用SaaS产品构建。
得益于开源生态系统的蓬勃发展,可观测性的建设有很多选择。开源方式搭建需要搭建者对从前端数据采集到后端数据处理的相关知识有非常详细的了解,包括数据展示、报警等周边功能。因此,这种方法适用于实力足够或学习和时间成本相对充足的团队。
使用成熟的 SaaS 产品构建可观察性是比开源更有效的方法。姜硕淼以云观测产品为例,介绍了这种方式的四大优势。
如前所述,可观测性的构建是基于“云”。不仅如此,观测云本身也是一个完整的云原生产品。观测云中的整套产品,包括数据平台,都部署在亚马逊云技术的EKS上,基于容器进行编排。观测云的整体架构非常简单,就是将海量数据通过代理统一,进入数据平台,然后通过平台的能力提供完整的可观测性。整个系统分为核心平台层、Web层和数据访问层。核心平台层完全由观察云自研,不开源。Web 上层在核心数据处理平台上有一套与平台对接的 API。姜硕淼说:“对于客户来说,更推荐直接选择观望云的SaaS产品。如果客户愿意,也可以完全隔离部署在亚马逊上,也很方便,但整体成本比直接上要高一些。”采用 SaaS 产品。
为什么选择亚马逊云技术?主要基于以下几点考虑:
除了作为一个完整的云原生产品之外,云观测系统还有几个非常有趣的设计。首先,在 采集 方面:
其次,在存储查询端,观察云统一查询语法,用户无需关心底层数据存储,简单易用。
第三,在分析方面,Observation Cloud实现了所有数据的串联,并构建了一个统一的查看器,以类似于多维分析和列表的方式对原创数据进行分析。用户可以构建自己的查看器。另外,由于数据量较大,为避免前端对用户浏览器造成过大压力,观察云可采集按指定百分比数据,并提供SLO/SLI面板帮助客户构建自己的应用系统整体可靠性。措施。
3 构建端到端可观察系统的实际案例
在对概念和技术层面进行了详细介绍后,姜硕淼以一个电商客户为例,讲解了如何构建端到端的可观察系统。
案例中电商客户面临的问题是:从客户下单到入库再到最终财务核算的交易流程,一个订单需要近10个接口调用,任何一个环节都可能出现问题,比如程序问题,网络异常、库存卡顿等。目前还没有有效的监控工具来监控订单过程。问题一般由门店员工报告,然后运维人员参照流程按顺序排查问题。他们非常被动,工作量很大。每天运维人员需要检查业务接口是否已经完成。
为这个客户搭建一个端到端的可观察系统的过程大致分为四个步骤: 第一步是对被观察对象的集成访问进行梳理。使用Observation Cloud产品,整个接入过程大约30分钟即可完成。
第二步,统一查看分析。具体步骤是:首先监控用户体验,然后查看行为下连接到后端的链接,点击具体链接进入链接查看器,最后查看对应链接的日志。
第三,通过查看器实现业务的可观察性。
第四,通过SLO监视器进行预警。
电商客户通过观察云完成端到端的可观察性构建后,将订单流程中的节点状态可视化,可以通过订单号检索到订单流程的节点状态,其中流程为卡住了,什么错误信息一目了然。从用户界面、网络、后端服务到依赖的中间件和操作系统,任何故障都可以提供清晰的追溯和分析。不仅如此,观测云还提供实时异常监控和告警,确保问题能够及时发现和处理。
除了电商领域的应用,观云的SaaS产品也适用于很多应用场景。观测云官网有完整的系统可观测性建设最佳实践。有兴趣的小伙伴可以直接去观察云官网查看相应的文档。
经验:历时三年精心打造的Discuz众大云采集插件解决了历史疑难问题
Discuz应用中心地址:@csdn123_news.plugin
【温馨提示】
01.安装此插件后,您可以编写自己的采集规则或输入您的网站 关键词,一键批量采集任何内容到您的论坛或门户专栏,群发。
02.已成功发布的内容可以推送到百度数据收录界面进行SEO优化,采集和收录双赢。
03.插件可以设置定时采集关键词,同步更新任意网站栏目内容,然后自动发布内容,实现网站无人值守自动更新> 内容。
04.可以自动批量注册大量马甲用户,然后使用马甲用户批量发布内容。你可以在短时间内添加很多优质的内容和用户,别人是不知道是采集创建的。
05.有一个匹配的客户端chrome扩展。除了价值1000元的官方免费采集规则外,你还可以编写采集规则实现任意网站采集并发布。
06. 外挂上线三年多,经历了千余天的辛勤耕耘。根据大量用户的反馈,经过多次升级更新,插件功能成熟稳定,易懂易用,功能强大,已升级多站。长期安装使用,是每个站长必备的插件!
【本插件特点】
01. 可以批量注册背心用户,用于发帖和评论的背心与真实注册用户发布的背心外观一模一样。
02. 批量采集和批量发布,并在短时间内将任何优质内容转载到您的论坛和门户。
03.可调度采集自动发布,实现无人值守。
04.采集返回的内容可以进行简繁体、伪原创等二次处理。
05.支持前台采集,可以在前台授权指定的普通注册用户使用这个采集器,让普通注册会员帮你采集内容。
06.来自采集的内容图片可以正常显示并保存为帖子图片附件或门户文章附件,图片永不丢失。
07.图片附件支持远程FTP存储,让您可以将图片分离到另一台服务器。
08. 图片将添加您的论坛或门户设置的水印。
09.已经采集的内容不会重复两次采集,内容不会重复重复。
10. 采集发布的帖子或门户文章和群组与真实用户发布的完全相同,其他人无法知道他们是否是采集器发布的。
11.浏览量会自动随机设置,感觉你的帖子或传送门文章的浏览量和真实的一样。
12.可以指定发帖者(楼主)、传送门作者文章、群发帖。
13、采集的内容可以发布到论坛任意版块、门户任意栏目、群内任意圈子。
14、发布的内容可以推送到百度数据收录界面进行SEO优化,加快网站百度索引量和收录量。
15、采集内容数量不限,采集次数不限,让你的网站快速填满优质内容.
16.插件内置文本提取算法,支持采集any网站任意栏目内容。
17、可以一键获取当前实时热点内容,然后一键发布。
18、可以编写自己的采集规则,实时同步更新任意网站采集的内容。
【这个插件给你带来的价值】
1.让你的论坛注册会员多,人气高,内容丰富。
2、使用定时发布的自动采集、一键批量采集等代替人工发布,省时、省力、高效,不易出错。
3、让你的网站与海量新闻网站分享优质内容,可以快速提升网站的权重和排名。
【用户保障】
1、严格遵守官方插件开发规范。此外,我们团队还会对插件进行大量的测试,以保证插件的安全、稳定和成熟。
2、购买本插件后,如因服务器运行环境、插件冲突、系统配置等原因导致插件无法使用,可联系技术人员(),如48内无法解决小时,将全额退款给购买者!!您不必担心购买后无法使用该插件。如果实在用不上,一分钱都不收。
3、在使用过程中,如果发现bug或者用户体验不好,可以向技术人员报告(邮件:)。经评估,情况属实,将在下一个升级版本中解决。请注意插件升级更新。
4.插件提供免费试用版,购买前请安装试用版体验插件的各项功能,试用满意后再购买。