返回顶部
首页 > 资讯 > 精选 >Metrics, tracing 和 logging的关系介绍
  • 248
分享到

Metrics, tracing 和 logging的关系介绍

2023-06-19 10:06:05 248人浏览 薄情痞子
摘要

这篇文章主要介绍“Metrics, tracing 和 logging的关系介绍”,在日常操作中,相信很多人在Metrics, tracing 和 logging的关系介绍问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对

这篇文章主要介绍“Metrics, tracing 和 logging的关系介绍”,在日常操作中,相信很多人在Metrics, tracing 和 logging的关系介绍问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Metrics, tracing 和 logging的关系介绍”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

正文

今天,我很荣幸的参加了2017分布式追踪峰会(2017 Distributed Tracing Summit), 并和来自AWS/X-Ray, OpenZipkin, OpenTracing, Instana, Datadog, Librato,以及其他更多组织的同仁进行了愉快的沟通和讨论。 其中一个重要的论点,是针对监控项目的范围和定义的。作为一个分布式追踪系统,应该管理日志么?从不同角度看来,到底什么是日志?如何通过一张图形象的定位这些形形色色的系统?

总体说来,我觉得我们是在一些通用的名词间纠结。我想我们可以通过图表来定义监控的作用域,使各名词的作用范围更明确。 我们使用维恩图(Venn diagram)来描述Metrics, tracing, logging三个概念的定义。他们三者在某些情况下是重叠的,但是我尽量尝试定义他们的不同。如下图所示:

Metrics, tracing 和 logging的关系介绍

Metric的特点是,它是可累加的:他们具有原子性,每个都是一个逻辑计量单元,或者一个时间段内的柱状图。 例如:队列的当前深度可以被定义为一个计量单元,在写入或读取时被更新统计; 输入Http请求的数量可以被定义为一个计数器,用于简单累加; 请求的执行时间可以被定义为一个柱状图,在指定时间片上更新和统计汇总。

logging的特点是,它描述一些离散的(不连续的)事件。 例如:应用通过一个滚动的文件输出debug或error信息,并通过日志收集系统,存储到elasticsearch中; 审批明细信息通过kafka,存储到数据库(BigTable)中; 又或者,特定请求的元数据信息,从服务请求中剥离出来,发送给一个异常收集服务,如NewRelic。

tracing的最大特点就是,它在单次请求的范围内,处理信息。 任何的数据、元数据信息都被绑定到系统中的单个事务上。 例如:一次调用远程服务的rpc执行过程;一次实际的sql查询语句;一次HTTP请求的业务性ID。

根据上述的定义,我们可以标记上图的重叠部分。

Metrics, tracing 和 logging的关系介绍

当然,大量的被监控的应用是具有分布式能力(Cloud-native)的应用,逻辑处理在单次请求的范围内完成。因此,讨论追踪的上下文是有意义的。 但是,我们注意到,并不是所有的监控系统都绑定在请求的生命周期上的。他们可能是逻辑组件诊断信息、处理过程的生命周期明细信息,这些信息和任何离散的请求时正交关系。 所以,不是所有的metric和log都可以被塞进追踪系统的概念中,至少在不经过数据加工处理是不行的。又或者,我们可能发觉使用metric统计数据,对应用监控有很大帮助,例如prometheus生态,可以量化的实时展现应用视图;相应的,如果我们将metric统计数据强行使用针对log的管道来处理,将使我们丢失很多特性。

那么,在这里,我们可以开始对已知的系统进行分类。如:Prometheus, 专一的metric统计系统,随着时间推移,也许会进化为追踪系统,进而进行请求内的指标统计,但不太可能深入到log处理领域。elk生态提供log的记录,滚动和聚合,并在其他领域不停的积累更多的特性,并集成进来。

另外,我发现通过维恩图的方式展现三者关系时,会正巧展现出一个附加效应。在这三个功能域中,metric倾向于更节省资源,因为他会“天然的”压缩数据。相反,日志倾向于无限增加的,会频繁的超出预期的容量。(有另一篇我写的关于这方面的文章,查看,译者注:未翻译)。所以,我们可以在图上,绘制出容量的需求趋势,metrics低到logging高, 而trace可能处于他们两的中间位置

Metrics, tracing 和 logging的关系介绍

也许,这不是最完美的方式描述这三者的管理,但我从会议现场收到的反馈来看,这个分类还是相当不错的:随着三者的关系越清晰,我们越容易建设性的讨论其他问题。如果你尝试对产品的功能进行定位,你可能也需要这张图,在讨论中,澄清产品的位置。

到此,关于“Metrics, tracing 和 logging的关系介绍”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: Metrics, tracing 和 logging的关系介绍

本文链接: https://lsjlt.com/news/295501.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Metrics, tracing 和 logging的关系介绍
    这篇文章主要介绍“Metrics, tracing 和 logging的关系介绍”,在日常操作中,相信很多人在Metrics, tracing 和 logging的关系介绍问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对...
    99+
    2023-06-19
  • 关系数据库的介绍
    这期内容当中的小编将会给大家带来有关关系数据库的介绍,以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。关系数据库,是创建在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库...
    99+
    2024-04-02
  • Linux进程间的关系介绍
    这篇文章主要讲解了“Linux进程间的关系介绍”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux进程间的关系介绍”吧!Linux的进程相互之间有一定的关系。比如说,在Linux进程基础...
    99+
    2023-06-13
  • JavaScript、Ajax、jQuery三者的关系介绍
    本篇内容介绍了“JavaScript、Ajax、jQuery三者的关系介绍”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,...
    99+
    2024-04-02
  • jdk-logging log4j logback日志系统实现机制原理介绍
    目录1 需要解决的疑惑2 jdk自带的logging2.1 使用案例2.2 简单过程分析:3 log4j13.1 使用案例3.1.1 需要的jar包3.1.2 使用方式3.2 获取L...
    99+
    2024-04-02
  • JVM的关键系统参数介绍和详细配置
    JVM(Java Virtual Machine)是一个虚拟机,它是Java程序的运行环境。在JVM的运行过程中,有一些关键的系统参...
    99+
    2023-08-29
    JVM
  • 数据库之关系模型介绍
    关系模型是一种用于描述和管理数据的概念模型,它通过定义实体、属性和实体之间的关系来组织数据。关系模型是数据库领域最为常用和广泛应用的...
    99+
    2023-09-21
    数据库
  • 关系型数据库和NOSQL数据库的优缺点介绍
    关系型数据库: 1) 关系数据库的特点是: - 数据关系模型基于关系模型,结构化存储,完整性约束。 - 基于二维表及其之间的联系,需要连接、并、交、差、除等数据操作。 - 采用结构化的查询语言(SQL)做数...
    99+
    2024-04-02
  • 关于Rocky Linux的相关介绍
    这篇文章主要介绍了关于Rocky Linux的相关介绍,具有一定借鉴价值,需要的朋友可以参考下。下面就和我一起来看看吧。Rocky Linux是一个社区企业操作系统,其下游合作伙伴已改变方向,旨在与美国顶级企业Linux发行版实现100%错...
    99+
    2023-06-08
  • Java中static关键字的介绍和用法
    本篇内容主要讲解“Java中static关键字的介绍和用法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java中static关键字的介绍和用法”吧!用类名去调用static有两层含义: 可以理...
    99+
    2023-06-02
  • Ajax四种元素的关系介绍是怎样的
    这篇文章将为大家详细讲解有关Ajax四种元素的关系介绍是怎样的,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。 通过使用Java...
    99+
    2024-04-02
  • 有关Java中的BeanInfo介绍
    目录1、JavaBean介绍2、JavaBean的自省3、JavaBean内省工具Introspector4、JavaBean内省结果BeanInfo5、内省结果BeanInfo的类...
    99+
    2024-04-02
  • 关于H3CNA认证的介绍
    关于H3CNA认证的介绍 总有很多人在我QQ上问关于H3CNA认证的事,其实这个证只是针对H3C网络学院的一个助理工程师认证,可以直接考H3CNE的,H3CNA认证一般情况下不用考。H3CNA认证主要定位于中小企业网络基本配置操作和设备维护...
    99+
    2023-01-31
    H3CNA
  • C++中引用和const关键字介绍
    目录引用常引用const关键字用法1)定义常量2)定义常量指针3)定义常引用总结引用 下面的写法定义了一个引用,并将其初始化为引用某个变量。类型名 & 引用名 = 某变量名;...
    99+
    2024-04-02
  • ES6新增关键字let和const介绍
    目录一、let关键字1、基本语法2、let和var的区别2.1、同一作用域内let不能重复定义同一个名称,var可以重复定义2.2、两者作用域不同2.3、不存在变量提升二、const...
    99+
    2024-04-02
  • 关于java中类和对象的详细介绍
    类和对象对象我们知道,代表现实世界中可以明确标识的一个实体(万物皆对象),每个对象都有自己独特的标识、状态和行为。类是具有相似特征和行为的事物的统称。使用一个通用类来定义同一类型的对象。 类是一个模板 、蓝本或者说是合约 , 用来定义对象的...
    99+
    2015-06-07
    java入门 java 对象
  • C#关于Func和Action委托的介绍详解
    目录1.Action委托2.Func委托委托:委托(Delegate) 是存有对某个方法的引用的一种引用类型变量。引用可在运行时被改变。 委托(Delegate)特别用于实现事件和回...
    99+
    2024-04-02
  • linux系统下用户管理相关介绍
    目录一、用户及用户组存在的意义1)用户存在的意义2)用户组存在的意义二、用户及用户组在系统中存在的方式三、用户涉及到的系统配置文件/etc/shadow 用户认证信息文件四、用户相关操作1)用户和用户组建立及删除2...
    99+
    2022-06-04
    linux系统用户管理 linux用户相关命令
  • C#中匿名方法与委托的关系介绍
    当对2个数实现加减乘除,其中的一个解决方案是通过委托来实现。如下: class Program { private delegate int Cacu...
    99+
    2024-04-02
  • win7系统定时关机命令的详细介绍
    Win7怎么让电脑定时关机?想必大家一定有遇到过这样的烦恼吧,电脑文件下载到一半或传输到一半的时候,而你有事需外出,关机吧太可惜了,不关机吧又浪费电,还会影响电脑的使用寿命,那么该如何是好呢?这时候选择电脑定时关机是最好的解决办法。那么,W...
    99+
    2023-07-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作