当前位置: 首页 > news >正文

应用可观测性OpenTelemetry简介

应用可观测性OpenTelemetry简介

  • OpenTelmetry遥测方案
    • 可观测性三支柱
      • 日志 Logs
      • 指标
      • 跟踪
  • 什么是OpenTelemetry
  • OpenTelemetry架构和组件
  • OpenTelemetry与OpenCensus、OpenTracing是什么关系

OpenTelmetry遥测方案

可观测性三支柱

在这里插入图片描述

日志 Logs

日志是特定事件在特定时间点发生的文本记录。生成日志条目的触发器是应用程序代码的一部分,因此当执行相关代码时,系统会重复产生日志条目。日志条目记录了事件发生的时间,并提供了一个载荷,包括描述事件性质、事件上下文以及其他后续分析可能有用的元数据。

根据日志的创建方式、使用的格式化规则以及自动化逻辑处理的难度,日志可以广泛分为以下几类:

  • 无结构化日志:包括供人类处理的文本,可能不包含易于机器处理的元数据。通常被认为是记录的最常见方式,不幸的是通常难以解析以进行分析。
  • 结构化日志:包括以易于其他代码解析的标准格式组织的数据(例如JSON)。它包括使查询日志更容易(尤其是过滤和分组)的附加元数据。

日志提供了有关应用程序行为的可靠且易于理解的信息源。开发人员在故障排除代码并验证其执行时常依赖于日志。当故障位于整体应用程序的特定组件中时,此数据可能提供了识别系统故障和其他问题根本原因所需的细粒度信息,但它不一定足以理解故障在分布式系统中的起源以及实际产生的副作用。

指标

指标是与时间戳关联的一系列数据点,这导致了“时间序列”通常被认为是“指标”的同义词。数据点的值通常是数字,例如在某个时间段内提供的请求数的计数,但在某些监控系统中,它也可以是字符串(例如,Prometheus的“INFO”指标)或布尔值。

为了减少存储和处理长时间跨度内的指标所需的计算资源量,通常惯例是“聚合”它们的值,例如将指标的粒度从每秒一个数据点减少到一分钟或十分钟内的数据点的平均值、均值和(在某些情况下,百分位数)。由于指标往往包含比日志更不敏感的数据,因此基础设施提供商和第三方服务更常见地提供有关他们代表用户执行的操作的指标,而不是日志。

跟踪

跟踪描述了请求在分布式系统中的整个路径。随着请求进入系统,处理它们的组件创建跨度(spans),这些跨度记录了操作,比如“接收请求XYZ”或“发出数据库查询ABC”,操作开始的时间点以及完成所花费的时间。
跨度根据它们的跟踪标识符进行分组,并链接到它们的前身跨度,有效地创建了跨度的有向无环图,展示了在分布式系统中如何进行请求处理。根据在跟踪中收集的信息的细粒度程度,通常可以一目了然地看到处理一个请求的错误和延迟从何处起源,以及它们如何在分布式系统中传播。跨度通常包括以下数据:

  • 跟踪标识符
  • 跨度标识符
  • 操作的名称
  • 开始和结束时间戳
  • 以键值格式编码的元数据,包括有关基础设施的信息(例如,哪个容器处理了此请求)等。
  • 事件(例如,日志、异常和错误)
    跟踪的价值不仅限于故障排除单个请求。例如,通过汇总多个跟踪中的数据,可以生成关于速率、错误和持续时间(RED)等指标的数据,这些指标是站点可靠性工程(SRE)实践中的所谓“黄金信号”的重要组成部分,正如Google最初定义的那样。
    在这里插入图片描述

什么是OpenTelemetry

在这里插入图片描述

OpenTelemetry架构和组件

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

OpenTelemetry与OpenCensus、OpenTracing是什么关系

在这里插入图片描述

相关文章:

应用可观测性OpenTelemetry简介

应用可观测性OpenTelemetry简介 OpenTelmetry遥测方案可观测性三支柱日志 Logs指标跟踪 什么是OpenTelemetryOpenTelemetry架构和组件OpenTelemetry与OpenCensus、OpenTracing是什么关系 OpenTelmetry遥测方案 可观测性三支柱 日志 Logs 日志是特定事件在特定时间点发生的文本…...

install pnpm : 无法加载文件的解决办法

问题描述 我在使用pnpm的时候报错 PS D:\emss\pure-admin-backend> pnpm install pnpm : 无法加载文件 C:\Users\RD-16\AppData\Roaming\npm\pnpm.ps1。未对文件 C:\Users\RD-16\AppData\Roaming\npm\pnpm.ps1 进行数字签名。无法在当前系统上运 行该脚本。有关运行脚本和设…...

【Python百宝箱】Python数据探险:Excel与数据科学的完美结合

前言 在当今信息爆炸的时代,数据处理和分析已经成为各行各业不可或缺的一部分。在众多数据处理工具中,Python以其简洁而强大的语法成为数据科学家和分析师的首选之一。本文将深入探讨与电子表格处理相关的Python库,介绍它们的功能、应用场景…...

外贸分享|如何从外贸小白成长为大咖?这10件事值得你坚持做

外贸成功不是一朝一夕的事,而是需要有充分的准备和持续的努力。作为一位有着丰富经验的外贸人员,我总结了成功的秘诀,分享了一个优秀的外贸人应该做好的10项工作。 1 找不到客户怎么办? 有很多各种各样的原因值得思考&#xff1a…...

深度学习之六(自编码器--Autoencoder)

概念 自编码器(Autoencoder)是一种神经网络架构,用于无监督学习和数据的降维表示。它由两部分组成:编码器(Encoder)和解码器(Decoder)。 结构: 编码器(Encoder): 接收输入数据并将其压缩为潜在表示(latent representation),通常比输入数据的维度要低。编码器的…...

Docker Swarm总结+基础、集群搭建维护、安全以及集群容灾(1/3)

博主介绍:Java领域优质创作者,博客之星城市赛道TOP20、专注于前端流行技术框架、Java后端技术领域、项目实战运维以及GIS地理信息领域。 🍅文末获取源码下载地址🍅 👇🏻 精彩专栏推荐订阅👇🏻…...

Vim 一下日志文件,Java 进程没了?

一次端口告警,发现 java 进程被异常杀掉,而根因竟然是因为在问题机器上 vim 查看了 nginx 日志。下面我将从时间维度详细回顾这次排查,希望读者在遇到相似问题时有些许启发。 时间线 15:19 收到端口异常 odin 告警。 状态:P1故障 名称:应用端…...

C# Dictionary的使用

在 C# 中&#xff0c;Dictionary 是一种常用的数据结构&#xff0c;用于存储键值对。以下是一些常见的 Dictionary 操作&#xff1a; 创建和初始化一个 Dictionary 可以使用以下代码创建并初始化一个 Dictionary&#xff1a; Dictionary<string, int> dict new Dicti…...

解决DaemonSet没法调度到master节点的问题

最近在kubernetes部署一个springcloud微服务项目&#xff0c;到了最后一步部署边缘路由&#xff1a;使用nginx-ingress和traefik都可以&#xff0c;必须使用DaemonSet部署&#xff0c;但是发现三个节点&#xff0c;却总共只有两个pod。 换句话说&#xff0c; DaemonSet没法调度…...

2023.11.20 关于 Spring MVC 详解

目录 MVC 工作流程 Spring MVC 掌握三个功能 创建 Spring MVC 项目 推荐安装插件 EditStarters 基础注解 RequestMapping 指定 GET 和 POST 方法类型 ResponseBody 获取参数 传递 单个 或 多个参数 参数重命名 RequestParam 接收 JSON 对象 RequestBody 获取 …...

救命~终于找到一款好看又舒适的家居服了

暖乎乎的软糯家居服 简直不要太好看太舒服了 双层舒棉绒舒适又暖和 防风收口设计&#xff0c;时尚与实用性兼具 经典版型不挑人穿 居家外出都可哦&#xff01;&#xff01;...

C#每天复习一个重要小知识day5:枚举与switch是天生一对

因为枚举一般用来表示条件和类型等等&#xff0c;所以它一般用条件分支来表现。所以枚举与switch是天生一对&#xff0c;因为很方便。&#xff08;用if语句也可&#xff0c;但是没switch方便&#xff09; 简单的举例&#xff1a; namespace 精细练习 {enum E_Player {Main,Ot…...

idea修改行号颜色

前言 i当idea用了深色主题后&#xff0c;发现行号根本看不清&#xff0c;或者很模糊 例如下面这样 修改行号颜色 在IntelliJ IDEA中&#xff0c;你可以根据自己的喜好和需求定制行号的颜色。下面是修改行号颜色的步骤&#xff1a; 打开 IntelliJ IDEA。 转到 “File”&…...

U-boot(四):start_armboot

本文主要探讨210的uboot启动的第二阶段&#xff0c;主要函数为start_armboot。 uboot 一阶段初始化SoC内部部件(看门狗、时钟等),初始化DDR,重定位 二阶段初始化其余硬件(iNand、网卡芯片)以及命令、环境变量等 启动打印硬件信息,进入bootdelay,读秒完后执行bootc…...

.Net面试题4

1.请解释一下泛型&#xff08;Generics&#xff09;在C#中的作用。 泛型是一种将数据类型参数化的机制&#xff0c;使得代码可以在编译时具有更强的类型安全性和灵活性。C#中的泛型可以用于类、接口、方法等的定义和实例化。泛型允许在编写代码时使用具有不同实参的类型&#x…...

python 列表插入数据的 四种方法 append insert extend 切片赋值

append insert 插入单个数据 append 加到末尾&#xff0c;insert 加到指定位置 extend、切片方式插入多个数据 extend 加到末尾&#xff0c;切片加到指定位置 my_list [1, 2, 3] my_list.append(4) print(my_list) # 输出: [1, 2, 3, 4]my_list [1, 2, 3] my_list.insert(…...

C++中std::string的=,+,+=使用过程中的问题

1. 调用构造函数时的运算符不支持int&#xff0c;char类型的操作数 string str1 a; //error 这是一个构造函数。C中string是一个类&#xff0c;内部封装了char *来管理这个字符串。 string的构造函数&#xff1a; string() // 创建一个空的字符串string(const char * s)…...

ruoyi-plus使用Statistic统计组件升级element-plus

原本使用的就是gitee上lionli的ruoyi-plus版本的代码。但是在使用过程中作首页数据看板时想使用elementui的Statistic统计组件。结果在浏览器控制台报错找不到组件el-statistic 于是查看elementui的历史版本&#xff0c;发现是在新版中才有这个组件&#xff0c;旧版本是没这个组…...

Python基础入门例程72-NP72 生成字典(字典)

最近的博文: Python基础入门例程71-NP71 喜欢的颜色(字典)-CSDN博客 Python基础入门例程70-NP70 首都(字典)-CSDN博客 Python基础入门例程69-NP69 姓名与学号(字典)-CSDN博客 目录 最近的博文: 描述...

flink的java.lang.IllegalStateException: Buffer pool is destroyed 异常

背景 最近flink的在线应用出现错误java.lang.IllegalStateException: Buffer pool is destroyed&#xff0c;本文记录下这个错误的原因 错误原因 详细的日志堆栈如下: Caused by: java.lang.IllegalStateException: Buffer pool is destroyed. at org.apache.flink.runtime…...

WinClaw安全实战 10|5分钟微信接入指南:零代码远程操控电脑,AI助手随身带

摘要:前9篇专栏已让WinClaw具备Office自动化、浏览器控制、零脚本测试等强大本地能力,但“必须坐在电脑前操作”的物理限制始终存在。本文作为“多渠道消息对接与远程操控”模块开篇,聚焦微信ClawBot官方接入方案——通过“安装插件→启动服务→扫码绑定”三步零代码操作,5…...

ESP32串口通信保姆级教程:从Echo到RS485,手把手教你玩转ESP-IDF的UART驱动

ESP32串口通信实战指南&#xff1a;从基础配置到RS485工业应用 刚拿到ESP32开发板时&#xff0c;最让人兴奋的莫过于它的无线通信能力——Wi-Fi和蓝牙确实抢眼。但作为嵌入式开发者&#xff0c;我们往往忽略了这位"多面手"的另一项基本功&#xff1a;UART串口通信。无…...

Xftp 7免费版隐藏功能大揭秘:从图像预览到OpenSSH证书认证,不止是传文件

Xftp 7进阶实战&#xff1a;解锁专业用户都在用的高效文件管理技巧 每次在服务器间来回传输日志文件时&#xff0c;我总忍不住想起第一次用Xftp 7的场景——那时我只把它当作普通FTP工具&#xff0c;直到偶然发现它的图像预览功能&#xff0c;才意识到自己错过了多少效率神器。…...

别再死磕理论了!用PCL+KinectFusion手把手教你从照片到3D模型(保姆级避坑指南)

从零实现3D建模&#xff1a;基于PCL与KinectFusion的实战避坑手册 当我在研究生实验室第一次尝试用Kinect扫描物体生成3D模型时&#xff0c;连续三天的环境配置失败几乎让我放弃。直到发现那个被埋没在GitHub issue里的OpenCL驱动解决方案&#xff0c;才明白三维重建的入门门槛…...

5分钟掌握GHelper:华硕笔记本轻量控制工具的实战指南

5分钟掌握GHelper&#xff1a;华硕笔记本轻量控制工具的实战指南 【免费下载链接】g-helper Lightweight, open-source control tool for ASUS laptops and ROG Ally. Manage performance modes, fans, GPU, battery, and RGB lighting across Zephyrus, Flow, TUF, Strix, Sca…...

告别POI内存溢出!用EasyExcel 2.2.3处理百万级Excel数据实战(附性能对比)

百万级Excel处理实战&#xff1a;EasyExcel 2.2.3内存优化全解析 当Java开发者面对百万行Excel数据时&#xff0c;传统Apache POI的内存溢出问题就像悬在头顶的达摩克利斯之剑。我曾亲历一个生产事故——凌晨三点被报警叫醒&#xff0c;发现POI在解析80MB的订单文件时吃光了16G…...

2025届最火的六大AI科研神器实测分析

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 跟随人工智能技术以迅猛之势发展&#xff0c;AI工具已然深度介入到毕业论文写作的整个流程之…...

ChemCrow:如何用AI大语言模型解决化学推理难题

ChemCrow&#xff1a;如何用AI大语言模型解决化学推理难题 【免费下载链接】chemcrow-public Chemcrow 项目地址: https://gitcode.com/gh_mirrors/ch/chemcrow-public 传统化学研究面临的核心挑战在于如何将复杂的分子结构分析、反应预测和专利检索等任务与智能化推理相…...

别再踩坑了!VMware里CentOS 7.9部署openGauss 3.0的完整避坑指南(附xml配置详解)

VMware环境下CentOS 7.9部署openGauss 3.0的深度排雷手册 当你在VMware虚拟化的CentOS 7.9环境中部署openGauss 3.0时&#xff0c;是否经常被各种报错打断节奏&#xff1f;作为一款企业级开源数据库&#xff0c;openGauss对系统环境有着严格的要求&#xff0c;而虚拟化环境又增…...

深入Nanite限制清单:除了模型变黑,这些UE5高级功能你也用不了

深入Nanite限制清单&#xff1a;除了模型变黑&#xff0c;这些UE5高级功能你也用不了 当你在UE5项目中启用Nanite时&#xff0c;第一个直观的视觉反馈可能就是模型突然"变黑"。这个现象就像是一个警示灯&#xff0c;提醒你正在触碰Nanite技术的边界。但模型变黑仅仅是…...