观测云对接 Jaeger 最佳实践

引言

在微服务架构中,服务间的调用关系错综复杂,对性能和问题的监控变得尤为重要。Jaeger 和观测云作为两个强大的工具,可以联合起来提供全面的分布式追踪和监控解决方案。

Jaeger

Jaeger 是由 Uber 技术团队开发的开源分布式追踪系统。它帮助开发人员通过分布式事务的监控和诊断,理解服务之间的依赖关系和性能瓶颈。Jaeger 的核心组件包括:

  • Client: 兼容 OpenTracing API,用于在应用中埋入信息采集点。
  • Agent: 轻量级进程,用于接收和转发来自应用程序的追踪数据。
  • Collector: 负责接收 Trace 数据,并将其存储到后端存储系统中。
  • Query: 提供 REST API,用于查询追踪数据。
  • Storage: 存储追踪数据,支持多种后端存储选项,如 Elasticsearch、Cassandra 等。

观测云

观测云是新一代的一体化的监控观测平台,提供日志、指标、追踪等多种数据的收集、存储和分析功能。它通常具备用户友好的界面,支持自定义仪表板和警报,能够简化监控和故障排查的过程。观测云完全兼容 jaeger 协议,可以直接接收 jaeger 发送的应用链路数据,替代 jaeger 的 agent,collector,Query 和 Storage 等组件。

前提条件

操作步骤

1、登录观测云,并获取 datakit 的安装命令

2、执行安装命令安装 datakit

3、开启 jaeger 采集器

进入 DataKit 安装目录下的 /usr/local/datakit/conf.d/jaeger 目录,复制 jaeger.conf.sample 并命名为 jaeger.conf ,修改 jaeger udp 监听地址,示例如下:

4、保存配置文件后重启 DataKit 服务:

bash 复制代码
# 重启datakit 服务
datakit service -R

5、修改应用参数配置 Web 应用的端口和服务名字:

ini 复制代码
server.port=80
spring.application.name=demo-spring-boot

6、配置Jaeger

引用依赖:

xml 复制代码
<dependency>
  <groupId>io.opentracing.contrib</groupId>
  <artifactId>opentracing-spring-jaeger-web-starter</artifactId>
</dependency>

配置连接属性:

ini 复制代码
opentracing.jaeger.udp-sender.host=localhost
opentracing.jaeger.udp-sender.port=6831

7、启动 Demo 应用,在观测云上查看 trace 数据

启动并访问 Demo 服务,随后即可在观测云控制台,点击「应用性能监测」选择顶部「链路」查看对应的应用链路性能数据。

相关推荐
苏三说技术1 小时前
LangChain4j 和 LangGraph4j,哪个更好?
后端
ServBay3 小时前
7 个AI开发中真正用得上的 MCP Server,配合Claude Code食用效果更佳
后端·claude·mcp
妙码生花3 小时前
从 PHP 到 AI + Golang,程序员自救转型手记(十五):优化细节、网络请求封装
前端·后端·ai编程
用户6757049885023 小时前
Go 语言里判断字符串为空,90% 的人都写错了!
后端·go
用户6757049885023 小时前
Go 进阶必修:90% 的人都没用对的“表驱动法”
后端·go
小兔崽子去哪了3 小时前
Java 生成二维码解决方案
java·后端
苍何4 小时前
懂事的 Agent 已经开始自己看屏幕干活了,效率起飞!
后端
掘金码甲哥4 小时前
1分钟买不了吃亏系列: nginx动态域名解析
后端
神奇小汤圆4 小时前
2026大厂Java岗面试记录:八股+场景+项目+AI,一文讲透快速上岸路径(含答案)
后端