DevOps专题 |监控,可观测性与数据存储

发布时间:2020-08-06 22:14:10 作者:京东云技术新知
来源:ITPUB博客 阅读:130

DevOps专题 |监控,可观测性与数据存储

DevOps专题 |监控,可观测性与数据存储

对于DevOps而言,监控是其中重要的一环,上一次的专题内容中,我们与大家分享了 大型企业级监控系统的设计。今天我们将和大家从另一个角度进一步探讨互联网工程技术领域的监控设计(monitoring):系统的可观测性(observerbality)。

无论监控,还是可观测性,都是工程界的术语,并非严格定义的概念。人们可以描述它,但很难定义它。所以本文不会纠结于这些名词之间的区别。

在实践中,所有这些概念/术语,目标都是增强工程师对于线上系统运行情况的了解。

对工程师而言,监控/可观测性工程存在的意义,是帮助工程师发现问题,定位问题,解决问题。

对系统自身而言,这些工作都是通过数据的采集/存储/分析,以及进一步迭代来完成。

一、监控需求的产生

当程序被交付,部署到生产环境,才是其生命周期中最长的部分的开始。人们需要了解生产环境是否一切正常,监控需求自然而然产生。

互联网发展过程中涌现大量监控相关的工具/系统,Ganlia, Zabbix, RRDTools, Graphite,各自在不同的层面为“是否正常”提供答案。

监控本身,无论是业界对监控的认知,监控工具/系统自身的能力,也在以下两个方向演进着:

  1. 黑盒到白盒
  2. 资源到业务

这个阶段监控的愿景是很明确的,如何落地则各显神通。

直到 Etsy 于 2011 年通过博客公开了他们的 监控实践,利用 StatsD(已开源),以非常简单统一的方式,实现资源/业务层面的数据采集/存储/分析。后来的监控系统,尤其是基于 metrics 的监控系统,大多受过 StatsD 的启发和影响。

二、可观测性的提出

互联网工程界,Twitter 应该是最早提出可观测性 的组织。在这系列文章中,Twitter 集中阐述了他们的可观测性技术栈,其中包括了 Zipkin,Google Dapper 的开源实现。

如前言所说,本文不纠结于几个名词之间的包含关系。

抛开这些名词的辩论,可观测性相对于过去监控,最大的变化就是系统需要处理的数据,从 metrics 为主,扩展到了更广的领域。综合起来,大约有几类数据被看作是可观测性的支柱(pillar)

因此,一个现代化的监控系统/可观测性工程系统,也就必须具备妥善存储以上几种数据的能力。

三、存储

Metrics

Metrics,通常是数值类型的时间序列数据。这类需求的存在如此广泛,以至于衍生了专门服务于这个目标的数据库子类,时间序列数据库,TSDB。

TSDB 经历了大约如下几个方面的重要演进

Metrics 存储,或者是 TSDB 的研究和演进,我们会有另外的文章专门介绍。

logging

logging 通常会是工程师定位生产环境问题最直接的手段。日志的处理大约在如下几个方面进行演进

tracing

随着互联网工程日渐复杂,尤其是微服务的风潮下,分布式 tracing 通常是理解系统,定位系统故障的最重要手段。

在存储层面,tracing 已经有相对明确的方案,无论是 OpenZipkin,还是 CNCF 的 Jaeger ,都提供几乎开箱即用的后端软件,其中当然包括存储。

Tracing 的存储设计主要考虑

1、稀疏数据:tracing 数据通常是稀疏的,这通常有几个原因

2、多维度查询:通常的解决思路

Events

同样是一个难以定义,但是很容易描述的术语。我们把,一次部署,一次配置变更,一次dns 切换,诸如此类的变更,称为事件。

它们通常意味着生产环境的变更。而故障,通常因为不恰当的变更引起。

对 events 的处理主要包括

总结

现代的监控,或者可观测性工程,通常是对不同类型数据的采集/存储/分析。这些数据各有特点,因而存储也不存在银弹。通常是根据各自特点,独立设计存储方案,上层提供一个统一、综合的存储系统。

京东云监控具有实时展现监控数据变化及迅速报警等优势,能够满足日常业务监控管理和处理异常等场景。

目前京东云 监控提供免费服务,点击【 阅读 】,了解更多关于京东云监控的内容。
欢迎点击“ 京东云 ”了解更多精彩内容


DevOps专题 |监控,可观测性与数据存储

DevOps专题 |监控,可观测性与数据存储
推荐阅读:
  1. 缓存专题
  2. 为什么说容器和DevOps不分彼此?

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

devops 专题 存储

上一篇:mysql自增列

下一篇:Python100天学习教程:中间件的应用

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》