观测云对接 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 分钟前
JUC专题 - 并发编程带来的安全性挑战之同步锁
后端
凯哥19702 分钟前
迁移PostgreSQL数据库教程
后端
Ray6611 分钟前
单例模式
后端
用户83562907805111 分钟前
掌控PDF页面:使用Python轻松实现添加与删除
后端·python
无责任此方_修行中17 分钟前
谁动了我的数据?一个 Bug 背后的“一行代码”真凶
后端·node.js·debug
用户479492835691536 分钟前
面试官:讲讲2FA 双因素认证原理
前端·后端·安全
疯狂的程序猴37 分钟前
移动端H5网页远程调试:WEINRE、Charles与Genymotion完整指南
后端
爱好学习的青年人1 小时前
一文详解Go语言字符串
开发语言·后端·golang
Chan161 小时前
批处理优化:从稳定性、性能、数据一致性、健壮性、可观测性五大维度,优化批量操作
java·spring boot·后端·性能优化·java-ee·intellij-idea·优化
Rexi1 小时前
Go.mod版本号规则:语义化版本
后端