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容器化部署的基本流程: 分为测试环境和正式环境两种方式。
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
上一篇: 获取滚动的头部距离和左边距离
下一篇: goweb-文本处理
推荐阅读
-
.net core3.0部署Linux服务器 使用Docker容器和Nginx反代理教程
-
Docker 容器虚拟化的实用技巧总结
-
Python的自动化部署模块Fabric的安装及使用指南
-
docker-compose一键部署redis一主二从三哨兵模式(含密码,数据持久化)
-
Linux下安装和部署LXC(内核虚拟化技术)的方法
-
通过 Azure Pipelines 实现持续集成之docker容器化
-
Asp.NetCore轻松学-使用Docker进行容器化托管
-
使用pm2自动化部署node项目的方法步骤
-
Linux下自动化部署ASP.NET CORE 3.1(Docker+Jenkins+Nginx)
-
利用AWS的EC2技术部署服务器的Docker容器