Jaeger容器化部署


概述

Jaeger是由Uber開源的分布式追蹤系統,一套完整的Jager追蹤系統包括Jaeger-client、Jaeger-agent、Jaeger-collector、Database和Jaeger-query UI等基本組件,如下圖架構圖所示,Jaeger客戶端支持多種語言,jaeger-agent與客戶端進行數據交互,並把數據push到Jaeger-collector組件,Jaeger-collector將數據持久化到數據庫,Jaeger-query是一個web服務,用於展示跟蹤鏈路。以下為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

參考文檔

https://www.jaegertracing.io/docs/1.16/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM