多个jaeger-agent与多个Collector,jaeger-agent部署在具体业务的容器里面,Collector作为集群部署在服务端统一收集jaeger-agent上报的信息,然后Collector把数据提交给es集群,然后在需要展示的地方部署jaeger-query查询器,展示数据
在云主机上部署es集群和多个Collector容器组成集群,然后win10部署具体应用,本地虚拟机部署jaeger-agent和jaeger-query查询器
启动容器的具体参数配置
目录
1.在云主机部署es集群
2.在云主机部署多台Collector
3.本地虚拟机中部署一台jaeger-agent收集数据
4.本地虚拟机中部署一台jaeger-query查询数据
5.本地win下运行代码查看效果
示意图:
#---------------yum------------------
cluster.name: elasticsearch-cluster
cluster.initial_master_nodes : es-node1
node.name: es-node2
network.bind_host: 0.0.0.0
network.publish_host: 10.0.24.3
http.port: 9202
transport.tcp.port: 9302
http.cors.enabled: true
http.cors.allow-origin: "*"
node.master: true
node.data: true
discovery.zen.ping.unicast.hosts: ["10.0.24.3:9301","10.0.24.3:9302","10.0.24.3:9303"]
#10.0.24.3:9301为es单节点ip:prot,每次部署新节点前注意修改配置node.name比如es-node1,es-node3
#---------------启动参数------------------
docker run -e ES_JAVA_OPTS="-Xms128m -Xmx128m" \
-d -p 9203:9203 -p 9303:9303 \
-e ES_MIN_MEM=128m \
-e ES_MAX_MEM=4096m \
-v /home/config/ess/es3/es1.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /home/config/ess/es3/data/:/usr/share/elasticsearch/data/ \
-v /home/config/ess/es3/plugins/:/usr/share/elasticsearch/plugins \
--restart=always \
--name ES03 \
elasticsearch:7.4.2
#启动各个单节点,机器内存比较小所以配置给的非常小ES_JAVA_OPTS,只是做试验
#---------------查看状态------------------
curl http://10.0.24.3:9201/_cat/nodes?pretty
##/home/config/ess/es3/data 三个节点的data目录权限给到777 chmod 777 /home/config/ess/es3/data
#更换节点修改配置 node.name ,http.port ,transport.tcp.port
#更换节点修改命令的挂载目录,启动节点对应http.port ,transport.tcp.port
效果
docker run \
--name collector1 \
-e SPAN_STORAGE_TYPE=elasticsearch \
-e ES_SERVER_URLS=http://xxx:9201,http://xxx:9202,http://xxx:9203 \
-p 14269:14269 \
-p 14250:14250 \
-d \
jaegertracing/jaeger-collector:1.33
#执行三次每次修改--name,以及14250的映射端口,这里使用的是14250,14251,14252
docker run \
--name agent\
--rm \
-p5775:5775/udp \
-p6831:6831/udp \
-p6832:6832/udp \
-p5778:5778/tcp \
-d \
jaegertracing/jaeger-agent:1.33 \
--reporter.grpc.host-port=xxx:14250,xxx:14251,xxx:14252
docker run -d --rm \
--name jaeger-query\
-d \
-p 16685:16685 \
-p 16686:16686 \
-p 16687:16687 \
-e SPAN_STORAGE_TYPE=elasticsearch \
-e ES_SERVER_URLS=http://xxx:9201,http://xxx:9202,http://xxx:9203 \
jaegertracing/jaeger-query:1.33
#我认为这个节点也可以做多台然后用nginx代理出一个收取数据的端口