Jaeger – 用于云原生应用的分布式追踪

Jaeger – Distributed Tracing for Cloud Native Applications

监控、排错复杂的分布式事务和上下文传播,同时优化性能与延迟

你将学到

  • 使用 Jaeger 进行分布式追踪和监控
  • Jaeger 的安装、设置和分布式追踪配置
  • 在复杂分布式系统中排查事务
  • 分布式应用程序的性能和延迟优化
  • 分布式应用程序的根本原因和服务依赖分析
  • 分布式上下文传播

要求

  • 微服务简介及其架构
  • 分布式应用的功能及面临的问题

课程介绍

解决网络和可观测性中分布式应用的主要操作问题

学习分布式应用的相关技能

  • 分布式事务监控
  • 性能和延迟优化
  • 根本原因分析
  • 服务依赖分析
  • 分布式上下文传播

学习 Jaeger 中的各种组件,如

  • Jaeger UI
  • 收集器
  • 查询
  • 代理
  • Jaeger-ingester
  • 内存存储

部署和使用用于学习目的的一体化开放遥测应用程序

使用 Jaeger 配置以及 OpenTelemetry 配置

Jaeger API 及其架构

采样及其重要性

学习不同的术语,如

Span: 跟踪中的基本工作单元,表示跟踪中的一个单个操作,包括操作名称、开始和结束时间、日志和标签等详细信息。

Trace: 一组共享相同跟踪 ID 的跨度,表示跨服务的完整端到端执行路径。

组件 : Jaeger 架构的不同部分,包括代理、收集器、查询服务和存储后端,每个组件在跟踪流程中负责特定的角色。

Jaeger 客户端库 : Jaeger 提供的语言特定库,允许应用程序创建和管理跨度(spans)和跟踪(traces),支持 Go、Java、Node.js、Python、C++和 C#等语言。

Agent: 一个轻量级进程,监听客户端库发送的追踪数据并将其转发给 Jaeger 收集器。

Collector: 接收来自代理的追踪数据,进行处理并将其存储在选定存储系统中的后端组件。

Query: 提供 API 和用户界面,用于搜索和可视化由收集器存储的追踪数据的 dịch vụ。

Ingester: 当将追踪数据存储在流式或可扩展存储后端(如 Kafka)时使用的组件,负责消费追踪数据并将其写入永久存储。

使用不同的客户端库和语言,如 Go、Java、Node.js、Python、C++、C#

性能调优和故障排除

监控 Jaeger 及其不同组件

这门课程适合谁:

  • 希望进行分布式应用根本原因和依赖分析的学员
  • 想要高效调试分布式事务的人
  • 在 Kubernetes 集群中追踪分布式应用问题
  • 希望在 Kubernetes 集群中进行性能和延迟优化的人
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。