本文档主要是用 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 挂载目录
启动容器
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 数据,我是因为有跑一些了,所以有数据,不然正常是空的。
评论