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

相关推荐
武子康12 分钟前
大数据-189 Nginx JSON 日志接入 ELK:ZK+Kafka+Elasticsearch 7.3.0+Kibana 实战搭建
大数据·后端·elasticsearch
断春风22 分钟前
订单超时自动取消系统架构解析
后端·系统架构
Angletank39 分钟前
SpringBoot中ORM组件通过JAP组件的使用
spring boot·后端·orm·jpa
moxiaoran575343 分钟前
Go语言的map
开发语言·后端·golang
小信啊啊44 分钟前
Go语言数组
开发语言·后端·golang
白宇横流学长44 分钟前
基于SpringBoot实现的零食销售商城设计与实现【源码+文档】
java·spring boot·后端
superman超哥1 小时前
仓颉语言中异常捕获机制的深度剖析与工程实践
c语言·开发语言·后端·python·仓颉
驱动探索者1 小时前
[缩略语大全]之[INTEL]篇
java·后端·spring·intel
Victor3561 小时前
Netty(21)Netty的SSL/TLS支持是如何实现的?
后端
IT_陈寒1 小时前
Java21新特性实战:5个杀手级改进让你的开发效率提升40%
前端·人工智能·后端