本文档主要是用docker部署一个jaeger和es,不是用那个一体启动的,是单独分开部署的,存储用的是elasticsearch。本文档主要是为了自己测试jaeger用的,不要拿去生产完,玩坏了不要来告我。

jaeger-collector:1.28

jaeger-agent:1.28

jaeger-ui:1.28

elasticsearch:7.14.2


go代码调用jaeger来实现链路追踪可以看这一篇,使用openTelementry标准来实现:
https://blog.csdn.net/weixin_40242845/article/details/123421386?spm=1001.2014.3001.5502


Elasticsearch

镜像名称:elasticsearch:7.14.2

版本:7.14.2

拉取镜像
$ docker pull elasticsearch:7.14.2
创建es挂载目录
$ mkdir /data/es
启动容器
docker run --name es --restart always -d -p 9200:9200 -p 9300:9300 -v /data/es:/usr/share/elasticsearch/data -e "discovery.type=single-node" elasticsearch:7.14.2

如果出现accessDeny的问题要执行下面的指令,主要是文件夹权限问题

假设要挂载的目录是/data/es

$ useradd elasticsearch
$ passwd elasticsearch
$ chmod 777 /data/es
$ chown elasticsearch:elasticsearch /data/es

在这里插入图片描述
在这里插入图片描述

查看es

通过在浏览器访问本地的9200来查看es

在这里插入图片描述


Jaeger-collector

镜像名称:jaegertracing/jaeger-collector:1.28

版本:1.28

$ docker run -d --name=jaeger-collector -p 9411:9411 -p 14250:14250 -p 14268:14268 -p 14269:14269 -e SPAN_STORAGE_TYPE=elasticsearch -e ES_SERVER_URLS=http://127.0.0.1:9200 jaegertracing/jaeger-collector:1.28

Jaeger-agent

镜像名称:jaegertracing/jaeger-agent:1.28

版本:1.28

docker run -d --name=jaeger-agent -p 6831:6831/udp -p 6832:6832/udp -p 5778:5778/tcp -p 5775:5775/udp -e REPORTER_GRPC_HOST_PORT=127.0.0.1:14250 -e LOG_LEVEL=debug jaegertracing/jaeger-agent:1.28

Jaeger-query

镜像名称:jaegertracing/jaeger-query:1.28

版本:1.28

docker run -d --name=jaeger-query -p 16686:16686 -p 16687:16687 -e SPAN_STORAGE_TYPE=elasticsearch -e ES_SERVER_URLS=http://127.0.0.1:9200 jaegertracing/jaeger-query:1.28

查看结果

最后通过jaeger query的接口访问查看jaeger数据,我是因为有跑一些了,所以有数据,不然正常是空的。

在这里插入图片描述

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐