专业编程基础技术教程

网站首页 > 基础教程 正文

开源分布式系统追踪-03-CNCF jaeger-02-如何通过 docker 安装?

ccvgpt 2025-01-20 11:11:59 基础教程 23 ℃

Jaeger

大家好,我是老马。

Jaeger是一个分布式追踪平台,由Uber Technologies于2016年发布为开源项目,并捐赠给Cloud Native Computing Foundation(CNCF),目前已成为CNCF的毕业项目。

开源分布式系统追踪-03-CNCF jaeger-02-如何通过 docker 安装?

通过Jaeger,您可以:

?监控和排查

?分布式工作流

?识别性能瓶颈

?查找根本原因

?分析服务依赖关系

windows10 docker

$ docker -version
Command 'docker' not found, but can be installed with:
sudo snap install docker         # version 27.2.0, or
sudo apt  install docker.io      # version 24.0.7-0ubuntu2~22.04.1
sudo apt  install podman-docker  # version 3.4.4+ds1-1ubuntu1.22.04.2
See 'snap info docker' for additional versions.

执行安装

sudo snap install docker 

验证

$ docker --version
Docker version 27.2.0, build 3ab4256

一体化配置

运行 Jaeger 最简单的方法是通过容器启动:

sudo docker run --rm --name jaeger \
  -p 16686:16686 \
  -p 4317:4317 \
  -p 4318:4318 \
  -p 5778:5778 \
  -p 9411:9411 \
  jaegertracing/jaeger:2.1.0

发现下载不到,特别慢。

这将运行 Jaeger 的一体化配置(参见架构[1]),该配置将收集器和查询组件合并在一个进程中,并使用短暂的内存存储来存储追踪数据。

您可以访问 http://localhost:16686 来访问 Jaeger UI。有关完整的端口列表,请参见API页面[2]

在应用程序向 Jaeger 发送追踪数据之前,必须先进行仪器化。我们推荐使用 OpenTelemetry 仪器化和 SDK。

HotROD 演示

HotROD(Rides on Demand)是一个示例应用程序,由多个微服务组成,演示了如何使用 OpenTelemetry 和分布式追踪。

您可以在博客文章中找到详细的教程:Take Jaeger for a HotROD ride[3]

通过使用这个应用程序,您可以:

?通过数据驱动的依赖关系图发现整个系统的架构。?查看请求时间线和错误,理解应用程序的工作原理。?查找延迟和并发性不足的源头。?探索高度上下文化的日志。?使用行李传播来诊断请求间的竞争(排队)和在服务中消耗的时间。?使用来自 opentelemetry-contrib 的开源库,免费获取供应商中立的仪器化。

我们推荐通过 Docker Compose 一起运行 Jaeger 和 HotROD:

git clone https://github.com/jaegertracing/jaeger.git jaeger
cd jaeger/examples/hotrod
docker compose -f docker-compose-v2.yml up
# 按 Ctrl-C 退出

然后访问 http://localhost:8080。有关其他运行演示的方法,请参见 README 文件。

服务性能监控(SPM)

服务性能监控(SPM)页面有一个快速入门,展示了如何探索 Jaeger 中的这一功能。

小结

希望本文对你有所帮助,如果喜欢,欢迎点赞收藏转发一波。

我是老马,期待与你的下次相遇。

Tags:

最近发表
标签列表