Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >揭谜可观测性 — 深入了解 OpenTelemetry 的顶级使用场景

揭谜可观测性 — 深入了解 OpenTelemetry 的顶级使用场景

作者头像
云云众生s
发布于 2024-03-28 05:20:15
发布于 2024-03-28 05:20:15
1.5K00
代码可运行
举报
文章被收录于专栏:云云众生s云云众生s
运行总次数:0
代码可运行

OpenTelemetry可以用于生成和收集遥测数据,如日志、指标和追踪。使用OpenTelemetry进行可观测性的优点是其开源免费,能够避免您受制于某一供应商。您可以把OpenTelemetry应用于多个场景中。

译自 SigNoz 社区的 Unlocking Observability - Dive into OpenTelemetry's Top Use Cases

OpenTelemetry是一个开源项目,已成为实现现代应用程序全面可观测性的标准。它是一个与供应商无关的检测库,提供了一套工具、APISDK来创建和管理遥测数据(日志、指标和追踪)。

OpenTelemetry的顶级使用场景有:

在我们讨论这些场景之前,让我们先简要了解一下OpenTelemetry。

什么是 OpenTelemetry?

OpenTelemetry是一个开源的工具、API和SDK集合,目的是规范我们生成和收集遥测数据(追踪、指标和日志)的方式。 一旦收集了数据,就可以导出到各种可观测性平台,为开发者和运维人员提供对软件性能和运行状况的洞见。

OpenTelemetry 的主要使用场景

使用 OpenTelemetry 的一大好处是它可以让您摆脱供应商锁定。您可以随时切换到任何支持 OpenTelemetry 的可观测性后端进行存储和进一步分析。 如果您正在找一个本机支持 OpenTelemetry 数据的可观测性后端,SigNoz是一个不错的选择。

OpenTelemetry 可以帮助您生成以下遥测数据:

  • 追踪
  • 指标
  • 日志

您还可以关联这些数据,以更好地理解软件系统的运行情况。 需要注意的是,OpenTelemetry 专注于遥测数据的生成和收集,它不提供存储后端或任何可视化和分析收集数据的前端客户端。

OpenTelemetry 提供了一个 OpenTelemetry Collector,它可以帮助收集、处理和发送数据到不同的端点。

使用 OpenTelemetry 客户端库生成的数据都包含非常丰富的上下文信息。一个优秀的 OpenTelemetry 后端可以让您充分利用 OpenTelemetry 数据进行分析。

下面让我们详细探讨 OpenTelemetry 的几个主要使用场景:

分布式追踪

分布式追踪是 OpenTelemetry 的核心功能之一。它允许您追踪请求在分布式系统的不同服务之间的流动路径。这对于微服务架构尤为重要,一个用户请求可能会触发多个服务之间的调用链。

OpenTelemetry 为大多数编程语言(如 JavaPythonJavascriptGolang 等)提供了追踪 SDK。

追踪数据可以让您可视化请求的路径,这对故障排除和优化此类系统的性能至关重要。

下图展示了 OpenTelemetry 原生后端 SigNoz 中的追踪界面:

图片
图片

应用性能监控

OpenTelemetry 原生后端(如 SigNoz)可以从追踪数据生成应用性能监控图表。您可以直接获取延迟、请求速率、错误率等统计图表。

OpenTelemetry 还允许您创建自定义指标,以获取应用程序的具体运行指标。

下图展示了 OpenTelemetry 原生后端 SigNoz 中的 APM 监控图表,包括 p90、p99 延迟、请求速率、apdex 等:

图片
图片

指标监控

OpenTelemetry 提供了一个独立的组件 OpenTelemetry Collector(简称 OTel Collector)。您可以使用 OTel Collector 来收集各种指标,如主机指标、数据库指标、k8s 基础设施指标等。

您可以在 OTel Collector 中配置不同的接收器来收集各类指标。

下图展示了一个由 OTel Collector 收集指标的主机指标监控面板:

日志和事件收集

OpenTelemetry 允许您捕获和管理应用程序生成的日志和事件。它为 JavaPython 等语言提供了日志 SDK。使用 OpenTelemetry 日志 SDK,您可以生成结构化日志,这些日志也可以与追踪等其他数据关联。

日志功能有许多遗留问题需要兼容,OpenTelemetry 在日志支持方面,既要兼容各种遗留日志和日志库,又要在可能的情况下进行改进,与其他可观测数据更好地集成。

下图展示了一个由 OpenTelemetry 驱动的日志管理界面:

上下文传播

在分布式系统中,在请求移动到不同服务时,保持其上下文信息非常重要。OpenTelemetry 通过上下文传播,可以确保请求关键信息(如追踪 ID、Span ID 等)随着请求在系统中流转。这对于复杂的多服务环境来说是必不可少的。

您还可以根据需要在服务之间传递其他重要信息。

异常监控

使用 OpenTelemetry 追踪数据,您可以监控应用程序中的异常。很少有后端工具可以做到这一点。像 SigNoz 这样的 OpenTelemetry 原生后端允许您从 OpenTelemetry 数据中监控异常。

下图展示了 SigNoz 中的异常监控界面:

服务依赖分析

基于 OpenTelemetry 的后端(如 SigNoz)可以让您分析应用程序中不同服务之间的依赖关系。通过可视化组件之间的交互,您可以识别关键路径、潜在瓶颈及优化机会。

OpenTelemetry vs 供应商探针对比

与供应商的可观测性代理相比,OpenTelemetry 有许多优势:

  • 灵活性:OpenTelemetry 的供应商中立特性意味着您可以在不重新检测应用程序的情况下切换可观测性平台。而供应商的代理可能会将您绑定到其平台。
  • 标准化:OpenTelemetry 试图提供统一的可观测性标准。这可以简化不同语言环境中的检测。
  • 社区支持:作为开源项目,OpenTelemetry 受益于广泛的贡献者社区。供应商的代理可能不具备这样强大的社区。
  • 可定制性:虽然供应商的代理可能针对其平台进行了优化,但 OpenTelemetry 在定制和扩展性方面提供了更大的灵活性。

OpenTelemetry 和 SigNoz

OpenTelemetry 正在悄然成为检测云原生应用程序的标准。它是避免供应商锁定的正确选择。它也使公司的监控体系更加一致,并可以随时间构建知识库。

OpenTelemetry 非常容易上手。您可以在此查看相关检测说明。由于 OpenTelemetry 不提供后端,您还需要选择一个支持它的后端。支持 OpenTelemetry 的 APM 可以作为不错的后端选择。

SigNoz是一个全栈的开源APM,您可以用它作为 OpenTelemetry 的后端。它提供了统一的日志、指标和追踪视图,并具有遥测数据之间的智能关联功能。

开始使用 SigNoz

最简单的运行 SigNoz 的方式是使用 SigNoz Cloud 云服务。您可以在此注册一个免费账号,并获得 30 天免费全功能试用。

您也可以自己安装和自行托管 SigNoz。它可以通过一个简单的安装脚本,在 macOS 或 Linux 系统上用三步完成安装。

该脚本会在 Linux 上自动安装 Docker 引擎。不过在 macOS 上,您需要先手动安装 Docker 引擎,然后再运行脚本。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git clone -b main https://github.com/SigNoz/signoz.git
cd signoz/deploy/
./install.sh
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-10-132,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
使用 OpenTelemetry 和 SigNoz 实现 LLM 可观测性
在快速发展的大语言模型(LLM)世界中,确保最佳性能和可靠性比以往任何时候都更为关键。这就是'LLM 可观测性'的概念发挥作用的地方。这不仅仅是监控输出;更是深入洞察这些复杂系统内部运作的关键。
云云众生s
2024/03/28
5660
使用 OpenTelemetry 和 SigNoz 实现 LLM 可观测性
可观测性的新构件
可观测性领域是一个动态且异质的领域。在这个生态系统中,商业巨头如Datadog、New Relic和Splunk与大型OS/免费堆栈(如ELK、Prometheus/Loki/Grafana和TIG(Telegraf/InfluxDB/Grafana))共存。然而,在近年来,三种技术趋势汇聚在一起,重塑了这一格局,为基于新一代强大开源技术和标准构建的新堆栈铺平了道路。可观测性周期表中的三个新元素是:
云云众生s
2024/03/28
1690
统一云原生可观测性:Elastic 与 OpenTelemetry 的最佳实践指南
OpenTelemetry 不仅仅是成为可观测性的开放标准。作为云原生计算基金会(CNCF)下的主要项目之一,OpenTelemetry 得到了大量企业软件供应商和云服务提供商的支持。来自金融、保险、科技等行业的全球企业正在逐步标准化使用 OpenTelemetry。通过 OpenTelemetry,DevOps 团队可以一致地收集和摄取遥测数据,从而为可观测性提供事实上的标准。
点火三周
2024/10/14
5160
统一云原生可观测性:Elastic 与 OpenTelemetry 的最佳实践指南
OpenTelemetry Collector – 架构和配置指南
OpenTelemetry Collector 是由 OpenTelemetry 提供的独立服务。它可以用作遥测处理系统,具有许多灵活的配置选项,用于收集和管理遥测数据。让我们深入了解一下 OpenTelemetry Collector,以了解它的工作原理。
云云众生s
2024/03/28
1.9K0
OpenTelemetry Collector – 架构和配置指南
使用OpenTelemetry监控Nginx指标和日志
Nginx 指标和日志的监控对于确保 Nginx 的性能符合预期以及快速识别和解决问题至关重要。在本教程中,您将安装 OpenTelemetry Collector 来收集 Nginx 指标和日志,然后将收集的数据发送到 SigNoz 进行监控和可视化分析。
云云众生s
2024/03/28
1K0
使用OpenTelemetry监控Nginx指标和日志
Elastic 向 OpenTelemetry 贡献 Elastic Common Schema (ECS),帮助用户采用基于 OTel 的可观测性和安全方案
如今,来自不同来源和模式的数据使得查明软件问题和理解问题的根本原因变得困难。通用模式有助于标准化数据,从而改进可观测性和安全解决方案中数据的分析、可视化和关联,从而加速根本原因分析。为了确保我们的客户和更广泛的社区能够从标准化中受益,Elastic 致力于基于 Elastic Common Schema (ECS) 和 OpenTelemetry (OTel) 开发指标、日志、跟踪和安全事件的通用架构。
点火三周
2023/08/03
1.5K0
Elastic 向 OpenTelemetry 贡献 Elastic Common Schema (ECS),帮助用户采用基于 OTel 的可观测性和安全方案
OpenTelemetry 与 Prometheus - 架构和指标的差异
在不断发展的软件开发世界中,可观察性使软件工程师能够实时洞察复杂的系统。OpenTelemetry 和 Prometheus 是著名的云原生计算基金会 (CNCF) 毕业项目,但用于监控和调试应用程序的可观察性工具不同。
用户5166556
2024/01/10
1.7K0
OpenTelemetry 与 Prometheus - 架构和指标的差异
OpenTelemetry:Go可观测性指南
现代应用程序通常是复杂的分布式系统。调试它们可不是一件有趣的事情:你必须跟踪跨服务的请求,日志会丢失,而且指标通常难以关联。这就像大海捞针——只不过这个草堆正在燃烧,而且针还在移动。这就是 OpenTelemetry (OTel) 可以提供帮助的地方。
云云众生s
2025/02/09
1470
OpenTelemetry:Go可观测性指南
OTel是你将安装的最后一个可观测性Agent吗?
开源的 OpenTelemetry Collector 极大地挑战了可观测性供应商和最终用户之间的关系。
云云众生s
2025/03/06
520
使用OpenTelemetry监控Docker容器
监控 Docker 容器指标对于理解容器的性能和健康情况至关重要。OpenTelemetry Collector 可以收集 Docker 容器指标,并将其发送到您选择的后端。在本教程中,您将安装一个 OpenTelemetry Collector 来收集 Docker 容器指标,并将其发送到 SigNoz,这是一个用于监控和可视化的 OpenTelemetry 原生 APM。
云云众生s
2024/03/28
3700
使用OpenTelemetry监控Docker容器
使用OpenTelemetry监控你的CI/CD流水线
今天的软件比 20 多年前的软件复杂了数个数量级,这给我们调试代码带来了新的挑战。幸运的是,通过在系统中实现可观测性,我们已经相当远程地理解了我们的应用程序正在执行什么以及问题正在发生在哪里。
云云众生s
2024/03/28
1860
使用OpenTelemetry监控你的CI/CD流水线
使用OpenTelemetry实现Kubernetes事件监控
在 Kubernetes 中,事件是提供对集群内状态变化洞察的对象。进行 Kubernetes 事件监控对于实时洞察 Kubernetes 集群的运行状态至关重要。它使管理员能够快速识别并响应问题,优化资源分配,并确保其容器化应用程序的平稳高效运行。
云云众生s
2024/03/28
4070
使用OpenTelemetry实现Kubernetes事件监控
基于OpenTelemetry进行全链路追踪
Hello folks,我是 Luga,今天我们来分享一下与云原生体系有关的话题- 云原生可观测性-OpenTelemetry。 作为一个云原生“核心”标准,OpenTelemetry在观测分布式微服务应用程序和云基础设施的可见性和控制自动化层面具有举足轻重的意义。
Luga Lee
2023/04/28
4K1
基于OpenTelemetry进行全链路追踪
OpenTelemetry 2023
OpenTelemetry(OTEL)始于 2019 年,当时围绕追踪的两个主要开源项目 OpenTracing 和 OpenCensus 合并,形成了 OpenTelemetry 。合并后的项目范围扩展到超越追踪,涵盖了所有的可观测性。OTEL 的使命是帮助组织交付高质量、无处不在且可移植的遥测数据。
云云众生s
2024/03/28
2330
OpenTelemetry 2023
使用 OpenTelemetry Tracing 最大化 Kubernetes 效率
OpenTelemetry 是一种开源的可观测性框架,提供一组 API 和库,用于收集、处理和导出遥测数据,如追踪、指标和日志。它允许开发人员以最小的开销来检测他们的应用程序,并提供一种收集和导出遥测数据的标准化方法。
我是阳明
2023/08/21
6470
使用 OpenTelemetry Tracing 最大化 Kubernetes 效率
使用OpenTelemetry Operator解锁Kubernetes可观测性
随着 Kubernetes 环境规模和复杂性的增长,可观测性对于维持性能和可靠性至关重要。本文探讨了 OpenTelemetry Operator 如何简化遥测数据的收集,从而能够无缝监控 Kubernetes 本身以及在其上运行的应用程序。
云云众生s
2025/03/10
1440
使用OpenTelemetry Operator解锁Kubernetes可观测性
云原生环境中可观测性日益增长的重要性
云原生可观测性迎来AI驱动时代!预测性监控、异常检测助力快速定位问题。拥抱OpenTelemetry标准化遥测数据,降低运营成本。DevSecOps融合安全与可观测性,FinOps实现成本优化。未来可观测性将更智能、更安全、更经济!
云云众生s
2025/03/17
770
微服务日志实践指南 [包含最佳实践]
微服务日志是在分布式微服务架构中跟踪和记录特定服务活动的实践。日志记录是任何软件系统的重要方面,对于微服务架构更为关键,因为有许多小型、独立的服务相互交互。
云云众生s
2024/03/28
6120
微服务日志实践指南 [包含最佳实践]
Honeycomb.io的Austin Parker:深入探讨OpenTelemetry
在本届KubeCon的访谈中,我们了解到OpenTelemetry是如何融入CI/CD,以及其他框架、库、云系统和语言标准库的。
云云众生s
2025/01/09
1080
OpenTelemetry 如何与 Kubernetes 协同工作
翻译自 How OpenTelemetry Works with Kubernetes 。
云云众生s
2024/03/27
2460
相关推荐
使用 OpenTelemetry 和 SigNoz 实现 LLM 可观测性
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验