观测云对接 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 服务,随后即可在观测云控制台,点击「应用性能监测」选择顶部「链路」查看对应的应用链路性能数据。

相关推荐
weixin_456904273 小时前
Spring Boot 用户管理系统
java·spring boot·后端
cyforkk4 小时前
Spring 异常处理器:从混乱到有序,优雅处理所有异常
java·后端·spring·mvc
程序员爱钓鱼5 小时前
Go语言实战案例-开发一个Markdown转HTML工具
前端·后端·go
桦说编程5 小时前
爆赞!完全认同!《软件设计的哲学》这本书深得我心
后端
thinktik5 小时前
还在手把手教AI写代码么? 让你的AWS Kiro AI IDE直接读飞书需求文档给你打工吧!
后端·serverless·aws
老青蛙7 小时前
权限系统设计-用户设计
后端
echoyu.8 小时前
消息队列-初识kafka
java·分布式·后端·spring cloud·中间件·架构·kafka
yuluo_YX8 小时前
Go Style 代码风格规范
开发语言·后端·golang
David爱编程8 小时前
从 JVM 到内核:synchronized 与操作系统互斥量的深度联系
java·后端