无法在zipkin UI依赖项选项卡中查看任何“依赖项”

时间:2016-05-26 11:14:10

标签: spring-boot zipkin spring-cloud-sleuth

我确实有几个服务相互交互,所有这些服务都向openzipkin(https://github.com/openzipkin/docker-zipkin)发送痕迹。

虽然我可以详细查看系统行为,但看起来“依赖项”标签根本不会显示任何内容。

我检查的跟踪有6个服务,21个跨度和43个跨度,我相信应该出现。

我正在使用最新的(1.40.1)docker-zipkin,以cassandra作为存储,以及 只是连接到cassandra实例,可以看到依赖项'table'中没有条目。为什么?

由于

2 个答案:

答案 0 :(得分:1)

与使用Cassandra(1.40.1,1.40.2,1.1.4)的docker图像相同的问题。

这是使用Cassandra作为存储层的特定问题。 Mysql和内存存储按预期按需生成依赖图。

有以下项目的参考,用于生成要显示的UI的Cassandra图数据。

这似乎被这里提到的正在进行的工作所取代

答案 1 :(得分:0)

  

如果存储类型不是内联存储,则对于zipkin依赖关系图,您必须启动单独的cron作业/调度程序,以读取存储数据库并构建该图。因为zipkin依赖项是单独的spark作业。   供参考:https://github.com/openzipkin/docker-zipkin-dependencies

     

我使用带有弹性搜索的zipkin作为存储类型。我将分享使用弹性搜索和cron作业设置zipkin依赖项的步骤:

1.cd ~/
2. curl -sSL https://zipkin.io/quickstart.sh | bash -s io.zipkin.dependencies:zipkin-dependencies:LATEST zipkin-dependencies.jar
3. touch  cron.sh or vi cron.sh  
4. paste this content  : 
STORAGE_TYPE=elasticsearch ES_HOSTS=https:172.0.0.1:9200 ES_HTTP_LOGGING=BASIC ES_NODES_WAN_ONLY=true java -jar zipkin-dependencies.jar
5.chmode a+x cron.sh //make file executable
6.crontab -e   
window will open paste  below content 
0 * * * * cd && ./cron.sh //every one hour it will start the cron job if you need every 5 minutes change the commmand to '*/5 * * * * cd && ./cron.sh'
7. to check cron job is schedule run commant crontab -l
  

其他解决方案是启动单独的服务并运行cron作业   使用docker

     

获得给定的最新zipkin依赖罐的步骤尝试运行   终端命令

cd /zipkindependencies // where your Dockerfile is available
curl -sSL https://zipkin.io/quickstart.sh | bash -s io.zipkin.dependencies:zipkin-dependencies:LATEST
  

您将在上述目录中获得jar文件

     

Dockerfile

FROM openjdk:8-jre-alpine
ENV STORAGE_TYPE=elasticsearch
ENV ES_HOSTS=http://172.0.0.1:9200
ENV ES_NODES_WAN_ONLY=true
ADD crontab.txt /crontab.txt
ADD script.sh /script.sh
COPY entry.sh /entry.sh
COPY zipkin-dependencies.jar  /
RUN chmod a+x /script.sh /entry.sh
RUN /usr/bin/crontab /crontab.txt
CMD ["/entry.sh"]
EXPOSE 8080
  

entry.sh

#!/bin/sh
# start cron
/usr/sbin/crond -f -l 8
  

script.sh

#!/bin/sh
java ${JAVA_OPTS} -jar /zipkin-dependencies.jar
  

crontab.txt

0 * * * * /script.sh >> /var/log/script.log