前一篇我稍微浅谈了自己对 Observability 的解读,至於 Elastic 针对 Observability 的观点,我蛮推荐 Elastic Observability 的 Product VP - Tanya Bragin 在 Observability with the Elastic Stack [1] 的这篇文章,里面有提到二个看待 Observability 的面向,分别是:
针对 Observability 的三个主要的重点支柱,就是 Logs、Metrics、Traces,这个在所有谈 Observability 的讨论上,已经都成熟的归纳成这三个面向的资讯了,Elastic Observability 也就直接针对这三个面项定义在产品的功能之中。
日志是掌握系统内部发生什麽事情最重要的资讯,而日志的重点,是从一开始程序开发时日志如何撰写,就已经事关一半的成败,如果源头的资讯不够详细,後续就只能用猜测、或是灾情发生後再去埋 Log,这样就又错过了救援的黄金时刻,再来就会是如何收集散落各地、各种格式的日志,以及如何将这麽大量的资料进行有效的分析及使用,最後是如何管理这些资料的生命周期。
Metrics 是以数字化的方式来有效率的解读系统运作状态的重要资讯,举凡 CPU loading, Memory, Disk I/O, Disk free space, Network bandwidth, DB metrics, ... 等各种数字化的指标资讯,透过这些指标能做到最基本的异常的判断,而这些 Metrics 也会是资料量极多的资讯,如何更有效的保留这些资料也会是管理上的重点。
一个交易在系统处理时,经过了哪些环节、哪些子系统、当中做了什麽事、在哪个地方会产生效能的瓶颈、在哪个服务元件之中有发生异常,能够在复杂的系统架构中协助开发运维的人员一目了然的掌握交易运作的细节。
首先因为『Elasticsearch』,整体 observability 的资料应该要能聚集在同一个地方,在分析及使用上才容易发挥最大效益,举例来说 Traces 的资料要能进一步和 Logs 串接,追查问题时能一路接起来,甚至在透过 Machine Learning 分析时,能够将各种资料一并来学习,绝对会比分散在各种不同系统的效果要来得好。
另外要针对巨量非结构化资料进行搜寻,这不只是使用 Apache Lucene 或建个 inverted index 就能处理掉全文检索的工作,Elasticsearch 使用 Columnar store 方式储存文字类型的资料、透过 BKD tree, document store, term vectors…等不断优化 metrics 及 logs 资料分析及汇总的运算能力,资料生命周期的管理机制、分散式架构的扩展能力…这些 Elasticsearch 核心的能力,已经是目前日志储存分析的首选工具。
最後是统一的环境,Elastic Stack 产品之间本身的高度整合,这样高度整合完成的生态圈会让许多後续维护上较於便利,学习门槛也降低,这部份会是很大的一个好处。
并透过以上的这些产品及工具,能够建构出如下图 Elastic Observability 所提供整体的服务。
查看最新 Elasticsearch 或是 Elastic Stack 教育训练资讯: https://training.onedoggo.com
欢迎追踪我的 FB 粉丝页: 乔叔 - Elastic Stack 技术交流
不论是技术分享的文章、公开线上分享、或是实体课程资讯,都会在粉丝页通知大家哦!
此时新版本为 1.14.5, 所以在2021/11/9时 有更新文章部分内容。 为什麽要架设狗狗币全...
在小型用途下,一个 Proxmox VE 节点已经可以满足绝大多数的需求,但是若要解决储存容量的问...
此篇作为 Bootstrap 5 客制化 sass 的序章,会大致讲解什麽是 Sass 以及优势。...
在资料库中除了有数字和字母之外,当然也会有字串,如果想要搜寻字串,就要使用'单引号' 而字串要使用运...
前言 今天来加入更多的Dependencies,以及聊天开发的准备 Cocoapods 那麽我们先来...