前言

“可观测性”是一个新名词,但它的前身“监控”是计算机从业人员耳熟能详的名词。

那么,脱胎于“监控”的“可观测性”带来了哪些新技术呢?

在云原生时代,微服务架构与容器技术占据了业务头条,可观测性是如何将各个系统分裂的日志、指标等集为一体的呢?

使用链路追踪、事件、诊断是如何加速异常定位,以及帮助业务人员平稳度过流量波峰的呢?

相信这些问题也是很多云计算从业人员的疑问。云计算从业人员从来不怕实践新技术,只怕在错误的引导下使新技术的实践之路困难重重。基于此,笔者想撰写一本书,详细讲解云原生时代的可观测性技术,给出上述问题的答案。

然而,本书中的知识只能是知识,只有融于实践的知识才能创造价值。笔者从自身经历的多个可观测系统实战中提炼出了可观测系统各个模块的一体式解决方案,希望能以这些实践经验引导读者搭建自己的可观测系统(不仅包括适合业务系统的可观测系统,还包括能支撑大规模流量的高性能稳定的可观测系统)。

希望读者通过阅读本书不仅可以收获可观测性方面的知识,还能在每次实战中将知识沉淀为实践方法与经验。

本书内容

本书包括8章,主要介绍可观测性整体解决方案与业务实战案例。

第1章 可观测性概述

本章粗略地介绍可观测性,以期向读者展示可观测性的全貌。本章从分析系统架构的演进开始,带领读者了解可观测性的起源和可观测性技术的发展及现状。同时基于团队不同职责成员的视角介绍可观测性数据的类型、价值和作用,以及可观测性技术在实际应用中的价值。

第2章 系统架构

本章主要介绍可观测系统架构的设计和实战。首先分析可观测系统架构设计的基本原则,指导读者如何设计可观测系统;然后基于Grafana和Elastic技术栈搭建可观测平台;最后介绍如何基于开源架构解决大规模数据计算问题。

第3章 日志系统实战

本章主要介绍可观测系统中常见的日志系统。首先基于OpenTelemetry的规范介绍日志模型的设计,然后搭建Elasticsearch和ClickHouse两种日志系统,同时介绍如何建立集群并读/写日志。本章还介绍了5个典型的Elasticsearch调优实战,尤其是PB级别数据量下的Elasticsearch调优,以期帮助开发人员构建承载亿万级数据的日志系统。

第4章 链路追踪系统实战

本章直观地展现了系统运行情况,并还原了异常请求的链路追踪系统。首先介绍基于OpenTelemetry的链路追踪模型,然后对系统选型进行详细的实战分析。本章讨论了笔者在日均百亿级调用量的链路追踪系统上遇到的实际问题并展开分析,以期帮助读者搭建自己的链路追踪系统。

第5章 指标系统实战

本章主要介绍可观测系统中非常普遍的指标系统。构建完善的指标系统对于了解系统运行状态、保障系统健康运行具有至关重要的意义。本章先分析指标采集模型的设计,再对业界常见的指标监控系统进行实战分析。本章基于笔者在海量指标系统中遇到的实际问题展开介绍,以期帮助读者解决指标系统中常见的问题。

第6章 事件中心实战

本章主要介绍可观测系统中不可忽视的事件中心。可观测系统天然契合事件驱动架构。首先介绍事件驱动架构和事件模型设计,然后针对笔者在大规模事件场景中遇到的实际问题展开介绍,以期帮助读者搭建适合业务的事件中心。

第7章 Profile诊断实战

本章主要介绍可观测系统中定位复杂问题根因的Profile诊断。首先介绍线上分析工具,包括JDK原生工具、Arthas和Wireshark;然后介绍在各类指标出现异常时如何定位与解决问题;最后介绍线上问题事后分析的方法,这对云原生应用的长期稳定运行具有重要作用。

第8章 可观测性的探索

本章主要介绍可观测性在DevOps与AIOps中的重要作用。首先介绍在DevOps中可观测性的作用,以及可观测性在全链路压力测试和混沌工程中的用处;然后介绍在AIOps中应用可观测性数据来实现智能化运维,以及企业级场景下AIOps落地的难点与经验。

阅读准备

要想阅读本书,读者需要具备一定的Java编程基础,并且对Linux环境和容器技术有一定的了解。要想正确运行本书中的示例代码,需要提前安装如下操作系统及软件。

操作系统:Windows、macOS、Linux均可。

Java环境:推荐使用JDK 8及以上版本。

容器环境:在操作系统中运行Docker。

联系作者

本书从选题构思、查阅资源、撰写内容、修改完善到出版成书,是由多人协作完成的。罗梦婷负责撰写第1~2章和第4~6章,并对全书的撰写工作进行统筹;蒲实负责撰写第3章和第7~8章。

可观测性是一个新兴且蓬勃发展的研究领域,由于笔者的水平、撰写时间有限,书中难免存在不足之处。若读者在阅读本书时发现问题,请及时与我们联系,我们将在第一时间裨补阙漏。

邮箱地址:459924535@qq.com。

致谢

在本书撰写过程中,笔者参考了国内外的诸多资料并归纳总结了精华知识,这些高质量的资料是本书的知识源头,笔者对资源的作者表示深深的敬意和感谢。另外,电子工业出版社博文视点的孙奇俏老师在选题策划和文字编辑方面付出了辛勤的劳动,在此向她表示由衷的感谢。