关于云计算:我们是如何构建自己的可观测性的

3次阅读

共计 2312 个字符,预计需要花费 6 分钟才能阅读完成。

引言

近日,对于云平台本身的可靠性问题又成为大家关注的焦点。零碎肯定会有故障,置信作为用户都能了解,但用户须要在故障产生后,能尽快通晓造成故障的根本原因和修复打算,以便无效调整受影响的业务来升高损失;也须要在一次故障解决后,开发运维团队能够总结出经验教训,来晋升本人治理经营能力,和提出之后的预防措施。过程中,最好有具体、精确和实时的数据作为佐证,使团队间的沟通无阻、协同高效,这就须要提到可观测性能力。

「观测云」guance.com 是一个可提供弱小的零碎可观测能力的 SaaS 平台,帮忙用户确保他们的零碎继续衰弱和稳固地运行。可作为一个 SaaS 平台,观测云是如何实现自我监测的呢?观测云提供的可观测服务,能用来监测本人吗,还是须要用到其余更厉害的工具,或是更简单的办法?

一、对观测云节点的整体自监测计划

有句话是神医难自医,当医生本人生病了,只能找另一个医生来医治本人。监测平台对本身的监测亦是如此,因为本身已在性能故障的状况下,无奈确保可对本身施行无效的故障诊断和修复。

「观测云」的自监测的解决方案,利用了自身多站点的个性,实现不同站点间的相互监测。「观测云」目前有中国区 1(杭州)、中国区 2(宁夏)、中国区 3(张家口)、中国区 4(广州)四个国内 SaaS 服务节点,以及一个海内 1(俄勒冈)节点,相互作为对方的观测平台。同时,「观测云」会公开公布各节点服务性能的状态页,使用户能够随时通晓观测云性能的可用性。

二、可用性监测

可用性监测是指站点、API 等在不同地区、不同运营商网络下的定时拨测,观测云的可用性监测反对国内四大地区(华北、华东、东北、东南)、三大网络运营商网络(挪动、电信、联通)的 12 个节点,以及四个海内节点。对于观测云本身,咱们从三个维度进行可用性监控:URL、地区、网络运营商,可用性监控的目标是监控咱们的站点或 API URL 在不同地区及网络运营商下的可用性及响应延时状况,然而因为不同网络运营商可能存在的网络稳定,因而咱们须要思考一个容差,咱们的最佳实际是某个 URL 在某个地区的网络运营商下,15 分钟内超过 3 次不可用,视为此 URL 不可用,须要进行告警。理论能够依据业务的须要来进行最佳实际配置监控。

三、监控告警

监控的告警依据重要级别分为两级,第一级是通过钉钉群告诉告警,如产生谬误日志、谬误链路等,第二级是比方基础设施的不可用等重要监控(比方磁盘残余过小、数据库等中间件的不可用等)还须要对相干人进行短信告诉,第二级问题的响应度须要更高。

四、平台业务指标监测

平台业务指标,采集了平台所有的次要指标,次要包含每一项数据的增量、工作空间维度的数据增量、沉闷水平等等统计指标数据。这些业务指标既不是数据库等各种规范中间件,也不是业务服务本身能够吐露进去的指标,须要本人编程去各种业务数据存储中去定时统计采集进去,以指标或日志的模式打到观测云平台中,咱们是利用 Function 数据处理平台来实现的。阐明页:func.guance.com。

应用 Function 平台接入业务指标数据架构:

业务看板成果:

五、各个业务服务状态监测

常见的基础设施及规范中间件等组件,能够间接采集其指标及日志等数据;各业务服务本身的指标,须要服务本身来裸露指标,个别都遵循 OpenMetrics 规范。OpenMetrics 是一种云原生下的高度可扩大指标协定,它定义了大规模上报云原生指标的事实标准,同时反对文本示意协定和 Protocol Buffers 协定,它也是云原生下的事实标准监控计划 Prometheus 的规范数据采集计划,应用观测云的采集器 DataKit 也能够间接采集,或者对接 Prometheus 获取数据。

  • 任务调度服务,咱们须要重点关注 工作队列排队工作数、任务调度总数等指标
  • 数据的接管、预处理、写入存储、查问服务,咱们须要重点关注的是 查问响应工夫、写入响应工夫、写入谬误数、数据队列中的待写入数量等指标
  • 用户平台后端,咱们须要重点关注以后在线用户数、每个工作空间沉闷用户、Redis 用量等指标

每个服务裸露了本身的指标后,须要配置利用的服务指标仪表板,这里的一大准则是服务裸露的指标能够尽量多,仪表板能够只展现最重要的指标,一个仪表板上指标过多,会让看的人抓不到重点。其余的能够作为监控指标,去配置监控项。

以观测云的数据服务 Kodo 为例,它的服务指标观测仪表板:

六、问题汇总和 SLO

「观测云」外部的各开发和运维团队,可通过仪表板取得多维度的数据汇聚展现,即可将前端收集到的所有需关注事件、告警、或报错都汇总到同一个仪表板上,做到高深莫测,不用在各个不同的仪表板,甚至不同监测工具间频繁切换。当须要定位一个具体的报错起源时,通过点击该报错条目在仪表板上的关联链接,即可下钻到对应的数据查看器,展现出相关联的上下文数据条目,每个条目又能够再次下钻出更多细节,所以能很快开掘到故障根因。

观测云的问题汇总仪表版如下:

各维度问题统计仪表板:

以后阶段的零碎运行状态,会通过 SLO 信息同步给所有团队。SLO 是对 SLI 的一个度量,用来度量产品的服务质量状况。SLI 是一个比较复杂的定义过程,须要依据不同服务场景以及服务等级需要来定义,最根本的是基于可用性的定义,比方站点 URL 拨测达到不可用次数、链路或日志的错误率达到一个比值(咱们定义的是错误率达到 0.05%)。SLI 规范的定义个别能够从零碎的性能、可用性、服务质量等几方面来思考,理论利用中的 SLI 度量值须要依据理论业务来调整实际。

SLO 仪表板:

结语
观测云的使命是「向寰球用户提供最好的可观测性服务」,心愿通过这篇对本身可观测性构建的简述,为更多用户提供借鉴,有任何想法和倡议欢送在留言区内或退出社群探讨。

正文完
 0