【AICon】探索八个行业创新案例,教你在教育、金融、医疗、法律等领域实践大模型技术! >>> 了解详情
写点什么

可观测性与原生云监控

  • 2017-11-22
  • 本文字数:1299 字

    阅读完需:约 4 分钟

在近日发表的一篇文章中,Cindy Sridharan概括介绍了可观测性及其与原生云应用程序监控的关系。可观测性是一种理念,包括监控、日志聚合、指标和分布式跟踪,可以实时更深入地观察系统。

Sridharan 的文章基于她就同一个主题所做的 Velocity 演讲。随着微服务、云和容器化架构的出现,我们构建系统的方式变了。在后一种情况下,应用程序是分布式的,而且瞬息万变。底层的基础设施和网络服务愈加健壮,应用程序层需要跟上技术的发展步伐。将来,大多数的故障都将来自应用程序层或者是不同应用程序之间的复杂交互。

这种复杂性增加了把系统状态可视化的难度。虽然出现了新的工具,但尚处于发展阶段。Sridharan 探讨了可观测性的概念以及如何选择恰当的工具洞察现如今的系统。

可观测性是一个最近几年开始在监控社区流行的术语,然而,它并不是一个新事物,而且似乎和它真正的意思有些出入。据Sridharan之前的文章,可以将可观测性视为监控的超集。Twitter 工程团队的文章将可观测性总结为监控、预警/ 可视化、分布式系统跟踪、日志聚合和分析。谷歌致力于简化工具,降低数据聚合成本,标准化整个栈的格式和框架,从而便于跟踪。谷歌最上层的抽象是上下文传播,他们针对每一种语言提供了一个库,或者使用该语言的内置特性。上下文用于在整个栈中传播被称为标签的键- 值对,后续可以把它们用于过滤特定的请求。

预警和统一管理面板是监控的组成部分。按照Sridharan 的说法,可观测性是所有这些再加上(应用程序)性能分析、调试和依赖分析。与监控不同,可观测性和数据挖掘有关,是为了寻找问题的答案,简化信息的访问。监控和故障检测有关,有定义好的故障路径。随着故障模式的增加,确定真正的原因变得非常困难,这是由日益复杂的架构所导致的。而后者已成常态。定义可观测性有不同的方法。例如,白盒监控是指,有一个数据源,可观测性可以视为从数据中挖掘相关信息的能力。

日志、指标和请求跟踪是可观测性的基础。日志为数据(如指标)提供额外的上下文。不过,日志对性能的影响也很大。相比之下,指标的开销是不变的,而且有利于预警。总而言之,日志和指标可以为观察单独的系统提供方便,但是对于穿过多个系统的请求,很难提供其生命周期的信息。跟踪提供了跟踪在各个系统之间传递的请求的能力。后者很难实施,一个原因是应用程序使用的第三方库也需要检测。抽样被用于减少跟踪的开销和存储成本。这里的抽样是指减少收集的信息的数量。其中,磁盘配额及动态调整日志生成速度就是日志记录的一些最佳实践。

关于跟踪技术的发展近况。谷歌发布了 Dapper 论文, Open Zipkin 是以此为基础的开源实现,并导致 OpenTracing 标准的产生。如果应用程序使用了类似 Envoy 项目这样的网格技术,跟踪就简单些。服务网格是一个位于TCP/IP 层之上的网络基础设施层,可以处理可靠请求交付,有时候也实现为一系列网络代理。它简化了动态环境中的服务通信,如使用Kubernetes 编排的容器集群。

在原生云环境中,软件开发和交付可以从采用类似预生产测试、生产测试、有效监控、原始数据(如指标和日志事件)挖掘和动态检测这样的实践收益。

查看英文原文 Observability and the Monitoring of Cloud-Native Applications

2017-11-22 18:002061
用户头像

发布了 1008 篇内容, 共 374.4 次阅读, 收获喜欢 341 次。

关注

评论

发布
暂无评论
发现更多内容

自己在 InfoQ 平台的期冀——共同成长

liuzhen007

1 周年盛典

教你写好技术文章

元闰子

技术人 写作技巧

软件开发不同阶段的命名风格

顿晓

5月日更 命名 风格

第八大洲环游记(一):平流层上的非洲故事

脑极体

白嫖福利!阿里P7大神梳理的Java数组详细知识点,太实用了

飞飞JAva

Java

模块三作业-消息队列系统架构设计文档

张大彪

5分钟快速上手结构化思维方式

鲁米

方法论

让 Go 代码跑上移动端

Rayjun

Go 语言 gomobile

如何选择Intel 傲腾持久内存的几种工作模式

Steven Xu

内存 存储 内存数据库 Snapshot 高性能服务器

一文入门Golang之文件操作【推荐收藏】

liuzhen007

文件 Go 语言 5月日更

ECMAScript 2019(ES10)新特性简介

程序那些事

JavaScript ecmascript nodejs 程序那些事

把复杂留给自己,简单留给用户

石云升

5月日更

H5和WebRTC实时通讯方案的不同

liuzhen007

5月日更

五月,开篇

程序员架构进阶

个人提升 28天写作 5月日更 总结思考

几种讨论场景下的原则

sherlockq

原来长大以后,我发现以前面临到的难题并没有不见,只是换了角度出现在生活的另一面。

叶小鍵

什么是批判性思考及推理

sherlockq

最高学习效率:15.87%

石云升

学习 5月日更

教你写好代码注释

元闰子

软件开发 代码注释

模块三作业

c

架构实战营

算法训练营 - 学习笔记 - 第四周

心在飞

清华学霸!用18行代码讲解Java接口,程序员:果然厉害,学到了

牛哄哄的java大师

Java 接口

网络攻防学习笔记 Day3

穿过生命散发芬芳

5月日更 网络攻防

区块链蕴含的变革力量

CECBC

区块链

基于腾讯云Serverless部署游戏:合成大西瓜

一颗小树

#Serverless #python #腾讯云

道-可道

顿晓

表达 5月日更

3.5 Go语言从入门到精通:标准输入输出fmt包

xcbeyond

Go 语言 5月日更 fmt包

别再傻傻分不清AVSx H.26x MPEG-x了

LoveYFan

音视频

【LeetCode】整数反转Java题解

Albert

算法 LeetCode 5月日更

区块链数字钱包——未来世界的银行卡

CECBC

区块链

机器学习 Machine Learning- 吴恩达Andrew Ng 第1~5课总结 John 易筋 ARTS 打卡 Week 46

John(易筋)

ARTS 打卡计划

可观测性与原生云监控_DevOps & 平台工程_Hrishikesh Barua_InfoQ精选文章