本文档主要是用docker部署一个jaeger和es,不是用那个一体启动的,是单独分开部署的,存储用的是elasticsearch。本文档主要是为了自己测试jaeger用的,不要拿去生产完,玩坏了不要来告我。
jaeger-collector:1.28
jaeger-agent:1.28
jaeger-ui:1.28
elasticsearch:7.14.2
go代码调用jaeger来实现链路追踪可以看这一篇,使用openTelementry标准来实现:
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数据,我是因为有跑一些了,所以有数据,不然正常是空的。
|