观测云对接 Jaeger 最佳实践
观测云兼容 jaeger 协议,可以接收 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 服务:
# 重启datakit 服务
datakit service -R
5、修改应用参数配置 Web 应用的端口和服务名字:
server.port=80
spring.application.name=demo-spring-boot
6、配置Jaeger
引用依赖:
<dependency>
<groupId>io.opentracing.contrib</groupId>
<artifactId>opentracing-spring-jaeger-web-starter</artifactId>
</dependency>
配置连接属性:
opentracing.jaeger.udp-sender.host=localhost
opentracing.jaeger.udp-sender.port=6831
7、启动 Demo 应用,在观测云上查看 trace 数据
启动并访问 Demo 服务,随后即可在观测云控制台,点击「应用性能监测」选择顶部「链路」查看对应的应用链路性能数据。


Contact us
Join the community
to join the community
Try Guance
Start online and pay only for what you use.
Get startedChoose a Guance plan