欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Jaeger容器化部署

程序员文章站 2022-05-18 19:10:04
概述 [Jaeger](https://www.jaegertracing.io/docs/1.16/architecture/)是由Uber开源的分布式追踪系统,一套完整的Jager追踪系统包括Jaeger-client、Jaeger-agent、Jaeger-collector、Database ......

概述

[jaeger](https://www.jaegertracing.io/docs/1.16/architecture/)是由uber开源的分布式追踪系统,一套完整的jager追踪系统包括jaeger-client、jaeger-agent、jaeger-collector、database和jaeger-query ui等基本组件,如下图架构图所示,jaeger客户端支持多种语言,jaeger-agent与客户端进行数据交互,并把数据push到jaeger-collector组件,jaeger-collector将数据持久化到数据库,jaeger-query是一个web服务,用于展示跟踪链路。以下为jaeger容器化部署的基本流程: 分为测试环境和正式环境两种方式。
Jaeger容器化部署

all-in-one测试环境部署

run.sh: 在某台服务器假设ip为10.11.0.10上运行脚本

#!/usr/bin/env bash
docker run -d --name jaeger \
-e collector_zipkin_http_port=9411 \
-p 5775:5775/udp \
-p 6831:6831/udp \
-p 6832:6832/udp \
-p 5778:5778 \
-p 16686:16686 \
-p 14268:14268 \
-p 9411:9411 \
--restart=always \
jaegertracing/all-in-one:1.15

production环境部署

docker-compose.yml: 在某台服务器假设ip为10.11.0.10上,部署除jaeger-agent以外的所有组件

version: '2'
services:
jaeger-collector:
container_name: jaeger-collector
image: jaegertracing/jaeger-collector
command: ["--cassandra.keyspace=jaeger_v1_dc1", "--cassandra.servers=cassandra", "--collector.zipkin.http-port=9411"]
ports:
- "14269"
- "14268:14268"
- "14267"
- "14250:14250"
- "9411:9411"
restart: always
depends_on:
- cassandra-schema
jaeger-query:
container_name: jaeger-query
image: jaegertracing/jaeger-query
command: ["--cassandra.keyspace=jaeger_v1_dc1", "--cassandra.servers=cassandra"]
ports:
- "16686:16686"
- "16687"
restart: always
depends_on:
- cassandra-schema
cassandra:
container_name: cassandra
image: cassandra:3.11
volumes:
- /data:/var/lib/cassandra
restart: always
cassandra-schema:
container_name: cassandra-schema
image: jaegertracing/jaeger-cassandra-schema
depends_on:
- cassandra

run_agent.sh: 在所有需要追踪的服务所在的服务器部署jaeger-agent

#!/usr/bin/env bash
docker run -d --name jaeger-agent \
-p 5775:5775/udp \
-p 6831:6831/udp \
-p 6832:6832/udp \
-p 5778:5778 \
--restart=always \
jaegertracing/jaeger-agent --reporter.grpc.host-port=10.11.0.10:14250

访问jaeger web ui通过http://10.11.0.10:16686