一、的由来
可观测性一词诞生于几十年前的控制理论。近年来,随着企业以微服务、⽆服务器和容器技术的形式迅速采⽤了AWS、阿里云等云原⽣基础设施服务。在这些分布式系统中追踪事件的起源需要在云上、本地或两者上运⾏的数千个进程。传统的监控技术和⼯具就很难跟踪这些分布式架构中的许多通信路径和相互依赖关系。更别提排查问题并定位根本原因了。
监控技术和工具革新迫在眉睫。而可观测性一词近两年火起来的导火索是 CNCF 在云原生定义中提到 Observerbility,并声称这是云原生时代的必备能力。
于是从生产所需到概念发声,加之包括谷歌在内的众多大厂一拥而上,“可观测性”正式出道。
二、可观测性的定义
Observability是来自控制论的一个概念:In control theory, observability is a measure for how well internal states of a system can be inferred by knowledge of its external outputs. The observability and controllability of a system are mathematical duals. The concept ofobservability was introduced by American-Hungarian scientist Rudolf E. Kalmanfor linear dynamic systems.
用相对严谨的话来说,可观测性指的是一种能力,是通过检查其输出来衡量系统内部状态的能⼒。这些输出体现内部系统状态的能力越强,可观测性也就越好。
简单来看,如果仅使⽤来⾃输出的信息,推测当前状态,则系统被认为是“可观测的”。
三、可观测性的价值
谷歌给出可观测性的核心价值很简单:快速排障(troubleshooting)。
这个世界上没有不存在 Bug 的系统,而随着系统越来越精细,越来越复杂,越来越动态,越来越庞大,潜藏的问题和风险也就越来越多。
因此,任何一个软件的成功,不仅仅要依靠软件架构的合理设计,软件开发的代码质量,更要依靠软件系统的运行维护。而运行维护的基础,就是可观测性。
从银行的交易系统,互联网公司的业务平台,到运营商的云化核心网等运行在云上的各类软件系统,每时每刻都处在一定的风险之中。而保证这些系统能够风险可控,稳定运行,需要做的就是提前发现异常,快速定位根本原因,迅速排除或者规避故障。
因此,在 CNCF 对于云原生的定义中,已经明确将可观测性列为一项必备要素。
四、可观测性的三大支柱
业界对可观测性的共识,基于可观测性的三大支柱“metrics、logs、traces”。
1、logs(日志)
⽇志是在特定时间发⽣的事件的⽂本记录,包括说明事件发⽣时间的时间戳和提供上下⽂的有效负载。⽇志有三种格式:纯⽂本、结构化和⼆进制。纯⽂本是最常⻅的,但结构化⽇志⸺包括额外的数据和元数据并且更容易查询⸺正变得越来越流⾏。当系统出现问题时,⽇志通常也是您⾸先查看的地⽅。
2、metrics(指标)
指标是在⼀段时间内测量的数值,包括特定属性,例如时间戳、名称、KPI 和值。与⽇志不同,指标在默认情况下是结构化的,这使得查询和优化存储变得更加容易,让您能够将它们保留更⻓时间。
3、traces(跟踪)
跟踪表示请求通过分布式系统的端到端旅程。当请求通过主机系统时, 对其执⾏的每个操作(称为“跨度”)都使⽤与执⾏该操作的微服务相关的重要数据进⾏编码。通过查看跟踪,每个跟踪都包含⼀个或多个跨度,您可以通过分布式系统跟踪其进程并确定瓶颈或故障的原因。
从一个简单的“系统探查--日志搜集--日志统计”流程来看:三者之间的关系从 traces 开始,通过探查等手段采集众多信息,形成logs,logs详细记录了各种边界行为(如登陆,开启服务,关闭服务,退出系统,修改数据),而对于系统运行来说,更重要的是 特定事件发生的次数。这些信息可以从日志中提取,但是有一种更有效的方法:metrics。
至此,如果你的 metrics 与告警相关联,则可在系统关键节点设置阈值。如果指标超过了阈值,值班人员就会收到Slack或微软Teams中的电子邮件、短信或消息。快速响应排出故障。
五、可观测性认证培训
微服务和云原生架构一直是许多组织提高速度和灵活性的目标,但随着复杂性的增加,系统的观测变得越来越困难。当出现问题时,这些问题往往难以分类并确定根本原因。可观测性认证课程介绍了一系列提高弹性的实践,并教授大家如何构建云原生应用程序的端到端可观测性。并介绍了构建全栈度量、事件、日志和分布式跟踪的优势,以及DevSecOps对可观测性的影响,以及如何增强可观测性能力。本课程还介绍了网络和安全可观测性如何在建立可靠性方面发挥关键作用,以及安全操作和自动响应的关键方面。
本课程旨在通过使用真实场景和案例故事,为参与者提供实践、方法和工具,以吸引组织内参与可观测性的人员。课程结束后,学员将获得切实的收获,以充分利用各种情况,如有效实施MELT模型,满足其组织环境,通过设计构建分布式跟踪和弹性。
可观测性认证的课程内容:
模块1: 可观测性探索
模块2:可观测性的支柱
模块3:可观测性的开源环境
模块4:基于分布式系统架构的可观测性
模块5: DataOps和可观测性
模块6:利用AIOps构建可观测性
模块7:网络和安全的可观测性
模块8:/的可观测性实践
近期公开课培训时间:
4月29-30日
5月20-21日
7月15-16日
8月26-27日
10月21-22日
12月16-17日