分布式跟踪可以帮助查看整个请求过程中服务之间的交互,并可以让我们深入了解系统中请求的整个生命周期 。它帮助我们发现应用程序中的错误、瓶颈和性能问题 。OpenTelemetry 可以用于从应用程序收集数据 。它是一组工具、API 和 SDK 集合,我们可以使用它们来检测、生成、收集和导出遥测数据(指标、日志和追踪),以帮助分析应用的性能和行为 。
文章插图
这篇文章旨在让您对 OpenTelemetry 有基本的了解 。将涵盖的主题有:
- 分布式追踪
- OpenTelemetry 是什么?
- OpenTelemetry 检测(自动和手动)
- OpenTelemetry 协议(OTLP)
- OpenTelemetry Collectors
- OpenTelemetry Collectors 部署模式
- OpenTelemetry 后端
- OpenTelemetry on Kube.NETes
- OpenTelemetry Operator
- OpenTelemetry 示例应用程序
分布式追踪让我们首先了解一下什么是分布式跟踪以及我们为什么需要它 。
为什么我们需要追踪?我们需要为什么分布式追踪?为什么我们不能只使用指标和日志呢?假设你有一个如下所示的微服务架构 。
文章插图
现在想象一下来自客户端的请求 。
从上面的架构图中我们可以看出,一个请求可能要经过几十个或几百个网络调用 。这使得我们很难知道请求所经过的整个路径,如果只有日志和指标,那么故障排查会非常复杂 。
当我们的应用出现问题时,我们需要解决很多问题 。
- 我们如何找出根本原因?
- 我们如何监视它所经过的所有服务?
分布式跟踪可以帮助查看整个请求过程中服务之间的交互,并可以让我们深入了解系统中请求的整个生命周期 。它帮助我们发现应用程序中的错误、瓶颈和性能问题 。追踪从用户与应用程序进行交互的一刻开始,我们应该能够看到整个请求直到最后一层 。
跟踪数据(以 span 的形式)生成信息(元数据),可以帮助了解请求延迟或错误是如何发生的,以及它们对整个请求会产生什么样的影响 。
文章插图
如果你想了解有关分布式跟踪的更多信息,请阅读分布式跟踪初学者指南,了解如何监控微服务架构 。
如何实现追踪?为了实现追踪,我们需要做以下几件事:
- 检测我们的应用程序 。
- 收集和处理数据 。
- 存储和可视化数据,以便我们可以查询它 。
文章插图
OpenTelemetry 是什么?OpenTelemetry 可以用于从应用程序收集数据 。它是一组工具、API 和 SDK 集合,我们可以使用它们来检测、生成、收集和导出遥测数据(指标、日志和追踪),以帮助分析应用的性能和行为 。
文章插图
OpenTelemetry 是:
- 开源的
- 受到可观测领域行业领导者的采用和支持
- 一个 CNCF 项目
- 与供应商无关的
- 分布式追踪是一种跟踪服务请求在分布式系统中从开始到结束的方法 。
- 指标是对一段时间内活动的测量,以便了解系统或应用程序的性能 。
- 日志是系统或应用程序在特定时间点发生的事件的文本记录 。
推荐阅读
- 玻璃种漂彩小葫芦——翡翠入门的首选
- K8S 入门到实战--部署应用到 K8S
- Java 应用通过 OpenTelemetry API 实现手动埋点
- 法国女人为什么不会胖?看看这4个好习惯,或许值得借鉴学习
- Python爬虫如何快速入门学习?
- 还不会主动向前端通过SSE推送消息? 看这篇就会了![Delphi版]
- 谁说下属“整”不了领导?看看这些操作,够阴够狠!
- Bash 脚本编程入门
- Django 入门:构建Python Web应用的全面指南
- 魔方新手入门玩法视频 魔方新手入门玩法