OpenTelemetry——What is OpenTelemetry

What is OpenTelemetry?

什么是 OpenTelemetry?

A short explanation of what OpenTelemetry is and isn’t.
对 OpenTelemetry 是什么和不是什么的简短说明

OpenTelemetry is an Observability framework and toolkit designed to create and manage telemetry data such as traces, metrics, and logs. Crucially, OpenTelemetry is vendor- and tool-agnostic, meaning that it can be used with a broad variety of Observability backends, including open source tools like Jaeger and Prometheus, as well as commercial offerings.
OpenTelemetry 是一个可观测性框架和工具包,旨在创建和管理telemetry数据,例如Traces、Metrics和Logs。至关重要的是,OpenTelemetry 是与(软件)供应商或工具无关的,这意味着它可以与各种可观测性后端一起使用,包括 Jaeger和 Prometheus 等开源工具,以及商业产品。

OpenTelemetry is not an observability backend like Jaeger, Prometheus, or other commercial vendors. OpenTelemetry is focused on the generation, collection, management, and export of telemetry. A major goal of OpenTelemetry is that you can easily instrument your applications or systems, no matter their language, infrastructure, or runtime environment. Crucially, the storage and visualization of telemetry is intentionally left to other tools.
OpenTelemetry 不像Jaeger、Prometheus或其他商业(软件)供应商。OpenTelemetry专注于生成、收集、管理和导出telemetry数据。OpenTelemetry 的一个主要目标是可以轻松测量您的应用程序或系统,无论其使用何种语言, 基础结构或运行时环境。至关重要的是,telemetry数据的存储和可视化被有意留给其他工具来实现。

What is observability?

什么是可观测性?

Observability is the ability to understand the internal state of a system by examining its outputs. In the context of software, this means being able to understand the internal state of a system by examining its telemetry data, which includes traces, metrics, and logs.
可观测性是通过检查系统的输出,来理解其内部状态的能力。在软件的背景下,这意味着能够通过检查系统的遥测数据来理解系统的内部状态,其中包括Trace、Metric和Logs。

To make a system observable, it must be instrumented. That is, the code must emit traces, metrics, or logs. The instrumented data must then be sent to an observability backend.
要使系统可观察,必须对其进行测量。也就是说,代码必须产生跟踪、指标或日志等信息。然后,将测量的数据发送到可观测性后端。

Why OpenTelemetry?

为什么选择 OpenTelemetry?

With the rise of cloud computing, microservices architectures, and increasingly complex business requirements, the need for software and infrastructure observability is greater than ever.
随着云计算、微服务架构的兴起,以及越来越多复杂的业务需求,对软件和基础设施可观测性的需求是比以往任何时候都更迫切。

OpenTelemetry satisfies the need for observability while following two key principles:
OpenTelemetry满足了对可观测性的需求,同时遵循两个关键原则:

  1. You own the data that you generate. There’s no vendor lock-in.
    您拥有生成的数据。没有和供应商绑定。
  2. You only have to learn a single set of APIs and conventions.
    您只需要学习一组 API 和约定。

Both principles combined grant teams and organizations the flexibility they need in today’s modern computing world.
在当今的现代计算世界中,这两项原则都为团队和组织提供了他们所需的灵活性 。

If you want to learn more, take a look at OpenTelemetry’s mission, vision, and values.
如果您想了解更多信息,请查看OpenTelemetry的使命、愿景和价值观。

Main OpenTelemetry components

OpenTelemetry主要的组件

OpenTelemetry consists of the following major components:
OpenTelemetry由以下主要组件组成:

  • A specification for all components
  • 所有组件的规范
  • A standard protocol that defines the shape of telemetry data
  • 定义遥测数据样式的标准协议
  • Semantic conventions that define a standard naming scheme for common telemetry data types
  • 为常见遥测数据类型定义标准命名方案的语义约定
  • APIs that define how to generate telemetry data
  • 定义如何生成遥测数据的API
  • Language SDKs that implement the specification, APIs, and export of telemetry data
  • 实现了规范、APIs和导出遥测数据功能的各种编程语言SDK
  • A library ecosystem that implements instrumentation for common libraries and frameworks
  • 实现了常见测量装置的库和框架的生态系统
  • Automatic instrumentation components that generate telemetry data without requiring code changes
  • 在不修改代码的场景下,生成遥测数据的自动测量装置组件
  • The OpenTelemetry Collector, a proxy that receives, processes, and exports telemetry data
  • OpenTelemetry Collector,一个接收处理和导出遥测数据的代理
  • Various other tools, such as the OpenTelemetry Operator for Kubernetes, OpenTelemetry Helm Charts, and community assets for FaaS
  • 各种其他工具,例如适用于 Kubernetes 的 OpenTelemetry Operator、OpenTelemetry Helm Charts 和 FaaS 的社区资产

OpenTelemetry is used by a wide variety of libraries, services and apps that have OpenTelemetry integrated to provide observability by default.
OpenTelemetry被大量的库、服务和应用使用。它们集成OpenTelemetry以提供可观测性。

OpenTelemetry is supported by numerous vendors, many of whom provide commercial support for OpenTelemetry and contribute to the project directly.
OpenTelemetry受到众多(软件)供应商的支持,其中许多供应商为OpenTelemetry提供了商业支持,并直接参与了该项目。

Extensibility

扩展

OpenTelemetry is designed to be extensible. Some examples of how it can be extended include:
OpenTelemetry被设计为可扩展的。下面的例子中包含了它是如何被扩展的:

  • Adding a receiver to the OpenTelemetry Collector to support telemetry data from a custom source
  • 给OpenTelemetry Collector添加一个接收器(receiver),用于接收自定义源的遥测数据。
  • Loading custom instrumentation libraries into an SDK
  • 将自定义测量装置库加载到软件开发包中。
  • Creating a distribution of an SDK or the Collector tailored to a specific use case
  • 创建针对特定用例量身定制的SDK或收集器。
  • Creating a new exporter for a custom backend that doesn’t yet support the OpenTelemetry protocol (OTLP)
  • 为尚不支持OpenTelemetry协议(OTLP)的自定义后端创建导出器。
  • Creating a custom propagator for a nonstandard context propagation format
  • 为非标准上下文传播格式创建自定义传播器。

Although most users might not need to extend OpenTelemetry, the project is designed to make it possible at nearly every level.
尽管大多数用户可能不需要扩展 OpenTelemetry,但该项目是旨在使它几乎在每个级别上都可以被扩展。

History

历史

OpenTelemetry is a Cloud Native Computing Foundation (CNCF) project that is the result of a merger between two prior projects, OpenTracing and OpenCensus . Both of these projects were created to solve the same problem: the lack of a standard for how to instrument code and send telemetry data to an Observability backend. As neither project was fully able to solve the problem independently, they merged to form OpenTelemetry and combine their strengths while offering a single solution.
OpenTelemetry 是一个云原生计算基金会 (CNCF) 项目。它是之前两个项目OpenTracing和OpenCensus合并的结果。 这两个项目都是为了解决同一个问题而创建的:缺乏一套如何测量代码并将Telemetry数据发送到可观测性后端的标准。由于这两个项目都无法完全独立解决问题,它们合并形成了 OpenTelemetry,并结合了它们的优势,同时也提供了单一解决方案。

If you are currently using OpenTracing or OpenCensus, you can learn how to migrate to OpenTelemetry in the Migration guide.
如果您当前正在使用 OpenTracing 或 OpenCensus,您可以了解迁移指南中的内容以迁移到 OpenTelemetry。

What next?

Getting started — jump right in!
Learn about OpenTelemetry concepts.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/808397.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Qt中播放GIF动画

在Qt应用程序中,如果你想在QLabel控件上播放GIF动画,可以使用QMovie类与QLabel配合来实现。以下是详细步骤和代码示例: 步骤1:引入必要的头文件 首先,在你的源代码文件中包含QMovie和QLabel相关的头文件:…

Vue组合式函数,详细解析

什么是“组合式函数”?​ 在 Vue 应用的概念中,“组合式函数”(Composables) 是一个利用 Vue 的组合式 API 来封装和复用有状态逻辑的函数。 当构建前端应用时,我们常常需要复用公共任务的逻辑。例如为了在不同地方格式化时间,我们…

AONMIX和WAKEUPMIX的区别

在 ARM 芯片中,术语 AONMIX 指的是 i.MX 93 处理器的输入/输出多路复用控制器。让我们来详细了解一下: i.MX 93 处理器: i.MX 93 是恩智浦半导体公司开发的一种基于 ARM 的处理器。它通常用于各种嵌入式系统和应用。 IOMUX(输入/…

js手写并发请求控制

关键点 new promise 一经创建,立即执行 使用 Promise.resolve().then 可以把任务加到微任务队列,防止立即执行迭代方法 微任务处理过程中,产生的新的执行微任务,会在同一事件循环内,追加到微任务队列里 使用 race 在…

【微命令】git 如何修改某个分支的名字(git branch -m newbranch)

简要信息,快速记录 命令 # 切换到某个需要修改的分支 git checkout oldbranch# 修改分支名字 git branch -m newbranch假设作为git设计者,要用来修改branch的命令,那么就是 git branch作为前缀,然后进一步修改的命令是branch相关…

gradio简单搭建——关键词简单筛选【2024-4-11优化】

gradio简单搭建——关键词简单筛选[2024-4-11 优化] 新的思路:标签自动标注界面搭建优化数据处理与生成过程交互界面展示 新的思路:标签自动标注 针对通过关键词,在文本数据中体现出主体的工作类型这一任务,这里使用展示工具grad…

2012年认证杯SPSSPRO杯数学建模A题(第二阶段)蜘蛛网全过程文档及程序

2012年认证杯SPSSPRO杯数学建模 A题 蜘蛛网 原题再现: 第二阶段问题   现在我们假设一个具体的环境。假设有一个凸多边形的区域,蜘蛛准备在这个区域(或其一部分)上结一张网。   问题一: 在区域的边界上安置有若干…

leetcode解题思路分析(一百五十五)1352 - 1358 题

最后 K 个数的乘积 请你实现一个「数字乘积类」ProductOfNumbers,要求支持下述两种方法: add(int num) 将数字 num 添加到当前数字列表的最后面。 getProduct(int k) 返回当前数字列表中,最后 k 个数字的乘积。 你可以假设当前列表中始终 至少…

HarmonyOS开发实例:【手势截屏】

介绍 本篇Codelab基于手势处理和截屏能力,介绍了手势截屏的实现过程。样例主要包括以下功能: 根据下滑手势调用全屏截图功能。全屏截图,同时右下角有弹窗提示截图成功。根据双击手势调用区域截图功能。区域截图,通过调整选择框大…

GeoServer:忘记密码重置

操作步骤 1. 找到data_dir/security/usergroup/default目录下的users.xml文件, 2.修改password为plain:geoserver, 这里无论原来的密码是什么,改为plain:geoserver之后,就可以通过admin:geoserver默认账户密码登录了。…

室内定位中文综述阅读

1 室内高精度定位技术总结与展望 [4]柳景斌,赵智博,胡宁松等.室内高精度定位技术总结与展望[J].武汉大学学报(信息科学 版),2022,47(07):997-1008.DOI:10.13203/j.whugis20220029. 1.1.1 WiFi‐RTT定位 2016 年 12 月,随着新版 IEEE802.11 标准的公布&#xff0c…

开一家抖音小店都需要准备什么?今天一篇文章带你成功开店!

大家好,我是电商小布。 想要来玩抖店,第一件事情当然就是来开一家属于自己的抖店。 那么大家开抖店需要准备什么内容呢?这个是很多新手小伙伴不了解的东西。 所以呢今天,小布就从所需的材料和资金方面,来带大家详细的…

直播带货行业将迎来大地震

关注卢松松,会经常给你分享一些我的经验和观点。 为什么这么多人喊着关闭直播带货?实体经济是到底因为什么萧条的?为什么大街上冷冷清清的?是房租、虚高的价格、还是直播带货引起的? 在4月9日的国务院政策吹风会上,市场监管明确指出: …

* ./cptable in ./node_modules/xlsx-style/dist/cpexcel.js

1) 这个报错信息就是在使用xlsx-style的时候dist中cpexcel不支持, 2) 解决方案: 在自己的前端项目中找到vue.config.js,如果没有新建一个这样的文件 在文件中编写以下内容即可: module.exports { configureWebpack: { externals: { ./cptable: var cptable } } } 3) 重新 运…

选择程序员是为什么?

本章节是关于为什么会选择一名程序员的经验分享 首先,我为什么会选择这个方向,可能是因为钱多,学东西不就是为了赚钱嘛?这是一点,不过最让我接收这个行业的是好奇世界的新大陆,可以简单的说就是&#xff0c…

ubuntu系统安装python虚拟环境

一、安装python: 步骤1:在Ubuntu系统中打开终端,你可以使用快捷键CtrlAltT来打开终端,或者在应用程序菜单中找到终端。 步骤2:更新软件包列表,在终端中输入以下命令,更新软件包列表&#xff1…

MobX原理剖析:基于可观察状态和自动依赖追踪的响应式状态管理

我们用代码示例来说明 MobX 的核心原理。 首先,我们定义一个简单的 Store 类,其中包含一个可观察的计数器状态: import { observable, action } from mobx;class CounterStore {observable count 0;actionincrement () > {this.count;};actiondecrement () > {this.…

Linux Shell:`alias`命令

Linux Shell:alias命令 alias命令是Linux和Unix系统中Shell的内置命令,用于创建命令的简短名称,即别名。这些别名通常用来缩短长命令或为常用命令序列创建便捷的缩写,从而提高工作效率。别名在当前Shell会话中有效,除…

Leetcode算法训练日记 | day20

一、合并二叉树 1.题目 Leetcode:第 617 题 给你两棵二叉树: root1 和 root2 。 想象一下,当你将其中一棵覆盖到另一棵之上时,两棵树上的一些节点将会重叠(而另一些不会)。你需要将这两棵树合并成一棵新…

基于SSM的电影网站(有报告)。Javaee项目。ssm项目。

演示视频: 基于SSM的电影网站(有报告)。Javaee项目。ssm项目。 项目介绍: 采用M(model)V(view)C(controller)三层体系结构,通过Spring SpringMv…