zipkin+Elasticsearch+kibana部署分布式链路追踪过程中遇到的问题

1、启动Elasticsearch和kibana

Elasticsearch按照教程正常启动了,但是kibana启动后访问http://localhost:5601,返回 Kibana server is not ready yet,百度查询,基本上都是说Elasticsearch和kibana版本不一致的,但是我的版本都是7.2.0,确定是一致的,然后各种查,后来看了下面的报错,原来是没有设置集群协调配置,没有按步骤设置的坑。

zipkin+Elasticsearch+kibana部署分布式链路追踪过程中遇到的问题_第1张图片

2、执行调用后再zipkin页面上有调用记录,但是在Elasticsearch上无法查到数据,而且也都不报错

(1)一开始查到的zipkin-server启动命令如下: 

java -jar zipkin-server-2.10.1-exec.jar --STORAGE_TYPE=elasticsearch --DES_HOSTS=http://172.16.101.193:9200 > 1.log

zipkin报错如下:

ERROR: cannot load span names: Request processing failed; nested exception is java.io.UncheckedIOException: java.net.ConnectException: Failed to connect to localhost/127.0.0.1:9200

有时候也会报下面错误:

Failed to connect to localhost/0:0:0:0:0:0:0:1:9200

(2)然后尝试着把两个短横改为一个短横,命令如下:

java -jar zipkin-server-2.10.1-exec.jar -DSTORAGE_TYPE=elasticsearch -DES_HOSTS=http://172.16.101.111:9200  > publish.log & 

这样没有任何报错,但是相关数据无法上传到Elasticsearch上。

(3)后来看有的博客上是这样写:

nohup java -DSTORAGE_TYPE=elasticsearch -DES_HOSTS=http://172.16.101.111:9200 -jar zipkin-server-2.10.1-exec.jar  > publish.log & 

报错如下:

ERROR: cannot load service names: Request processing failed; nested exception is java.lang.IllegalStateException: response for update-template failed: {"error":{"root_cause":[{"type":"illegal_argument_exception","reason":"Setting index.mapper.dynamic was removed after version 6.0.0"}],"type":"illegal_argument_exception","reason":"Setting index.mapper.dynamic was removed after version 6.0.0"},"status":400}


看这个意思是在6.0.0版本之后删除了自动设置索引,那就是Elasticsearch版本太高了,需要换低版本的,于是换成5.6.8版本,终于能正常访问了。

3、zipkin调用链不显示

解决了一系列问题之后,在Elasticsearch-head上终于能看到数据了,激动的内牛满面,数据如下图。

zipkin+Elasticsearch+kibana部署分布式链路追踪过程中遇到的问题_第2张图片

但是又产生了一个新问题,zipkin调用链的依赖关系不显示了,经过查询得知,基本都有这个问题,而且必须要下载一个zipkin-dependencies-XXX.jar然后单独运行才能把依赖关系生成出来,于是去下载了一个运行试试,还真行,而且在Elasticsearch-head也有了依赖关系的数据。如下

zipkin+Elasticsearch+kibana部署分布式链路追踪过程中遇到的问题_第3张图片

4、zipkin:dependency在kibana上查不到

所有数据终于都有了,这个时候就要去kibana查看数据了,添加了一个索引模式zipkin*,按理说应该能把zipkin:span-和zipkin:dependency-都匹配查询出来,但是没有,只能查到zipkin:span-的数据,zipkin:dependency-的数据死活都查不出来,然后在各种查找方法,也没查出个所以然,最后查实将索引模式设置为:zipkin:dependency*,数据竟然出来了,出来了,来了,了。无比的震惊,这个到底是个什么情况,具体原因我还没有查出来,但是结果是好了。

至此整个流程终于通了,简直是各种奇葩问题都有,还需要继续修炼。

 

 

 

你可能感兴趣的:(elk,springcloud)