写点什么

可观测性与原生云监控

  • 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:002291
用户头像

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

关注

评论

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

在线字节转换工具

入门小站

工具

基于babel的埋点工具简单实现及思考

CRMEB

Flink SQL 在快手的扩展和实践

Apache Flink

大数据 flink 实时计算 编程开发

java培训:SpringBoot技术的理解

@零度

JAVA开发 spring-boot

如何低成本测试云原生(K8s)应用?

Draven Gorden

微服务 云原生 联调测试 并行测试

这样才是代码管理和 Commit 的正确姿势! | 研发效能提升36计

阿里云云效

阿里云 云原生 代码管理 研发 Commit

人人都是 Serverless 架构师之“盲盒抽奖”创意营销活动实践

Serverless Devs

Serverless 架构 2月月更

在Rainbond中实现数据库结构自动化升级

北京好雨科技有限公司

Flutter 重构 QTalk

Qunar技术沙龙

netty系列之:Bootstrap,ServerBootstrap和netty中的实现

程序那些事

Java Netty 程序那些事 2月月更

大数据培训:Hadoop生态系统圈

@零度

大数据 hadoop

云运维必备知识-云运维定义以及工作内容讲解

行云管家

云计算 IT运维 云运维

【堡垒机】堡垒机的起源以及发展历史简单了解

行云管家

运维 网络安全 堡垒机 运维安全

微信朋友圈的高性能复杂度分析

阿卷

架构实战营

新版DevOps Handbook (Part 1) 五个新增实践

Franklin 许峰

DevOps DevOps认证 Handbook DevOps实践指南 EXIN

向工程腐化开炮 | proguard治理

阿里巴巴终端技术

Java App 客户端开发 proguard 腐化治理

Camtasia音画同步剪辑教程

淋雨

Camtasia 录屏软件

可持续·向未来:碳中和背景下绿色冬奥发展新趋势

易观分析

碳中和 冬奥会 产业经济

有哪些创建线程的方法?推荐使用哪种?

王磊

java面试

架构实战营毕业总结

红莲疾风

「架构实战营」

第九节:SpringBoot在线文档Swagger2入门

入门小站

springboot

PingCode Wiki ——国内最顶级的产研团队知识库产品介绍

爱吃小舅的鱼

团队管理 知识库

【安全漏洞】浅谈Bypass Waf (基础-实战)

H

网络安全 渗透测试 漏洞

读书笔记:查理芒格的思维模型

panda

iofsstat:帮你轻松定位 IO 突高,前因后果一目了然 | 龙蜥技术

OpenAnolis小助手

开源 技术分享 工具集 进程管理

2 月亚马逊云科技培训与认证课程,精彩不容错过!

亚马逊云科技 (Amazon Web Services)

架构师 培训 认证

前端培训:Vue 面试题分享

@零度

Vue 前端开发

小程序开发中使用网络请求

Speedoooo

再见丑陋的 SwaggerUI,这款开源的API文档生成神器界面更炫酷,逼格更高!

沉默王二

Java

mark:Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: No URLs in mirrorlist

webrtc developer

代码评审|阿里巴巴DevOps实践指南

阿里云云效

阿里云 DevOps 云原生 代码管理 代码评审

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