zoukankan      html  css  js  c++  java
  • 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/

  • 相关阅读:
    Flutter | 如何优雅的解决依赖版本冲突
    Flutter包依赖冲突解决方法
    Cannot run with sound null safety because dependencies don't support null safety
    软件工程实践2019第三次作业
    【题解】洛谷 P3704 [SDOI2017]数字表格
    关于学历和素质成正比的隐晦思考
    斐波那契数列通项公式
    某不知名比赛游记
    CCPC-final 2020 北京游记
    EC-final 2020-2021 西安游记
  • 原文地址:https://www.cnblogs.com/battlescars/p/jaeger_deployment.html
Copyright © 2011-2022 走看看