问题标签 [zipkin]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
92 浏览

java - Zipkin 可以用于控制台应用程序吗

Zipkin 可以用来检测控制台/经典应用程序吗?我的意思是我有一个方法 foo() 我想知道它花了多少时间。

Zipkin 是否可以仅用于通过 http 协议进行通信的应用程序?

谢谢

0 投票
1 回答
753 浏览

instrumentation - 在 zipkin 中看不到跟踪数据

我是 zipkin 和勇敢的 api 分发跟踪的新手。我已经在我的 localhost 上设置了一个 zipkin 服务器,监听端口 9411。我已经执行了下面的函数,但我的 zipkin 服务器中没有显示跟踪数据。有人能指出我错过了什么吗?

0 投票
1 回答
1410 浏览

elasticsearch - 具有弹性搜索存储的 Zipkin (QueryParsingException)

我对带有弹性搜索存储的 Zipkin 有疑问。

在将 spring-cloud-sleuth1.1.1.RELEASE更新为(因为我们将 spring boot 从 1.3.8 更新到 1.4.4 并将 spring cloud 从 Brixton.SR6 更新到 Camden.SR4)之后,我们还更新了 zipkin 服务的 pom.xmlzipkin-storage-elasticsearch中的zipkin-autoconfigure-storage-elasticsearchversion 1.16.2。我们正在使用弹性搜索版本2.4.1。当我们启动服务时,我们 在 zipkin 的 ui和堆栈跟踪上得到一个错误:

Zipkin 与 spring-cloud- 1.0.0.RELEASEsleuth 、 zipkin-storage-elasticsearch 、 zipkin-autoconfigure-storage-elasticsearch 和 elasticsearch1.7.0合作2.3.5。我在这里想念什么?哪些版本应该一起工作?

0 投票
1 回答
132 浏览

microservices - 我应该修改 zipkin 服务库以传递通用功能标志吗?

我们希望在我们的堆栈中实现 Zipkin。当我研究 Zipkin 时,扩展 Zipkin 系统以处理通用标志对我来说是有意义的。

观察:

  1. Zipkin 的任何实现都需要捕获“B3”标记值(HTTP 中的标头)并将它们传播到堆栈的更下方的请求。
  2. 一些值发生了变化
  3. 一些值只是传播(采样,调试)

结论:

  • 使用传播 (X-)B3-Flag- 键/值对的选项扩展 Zipkin 是有意义的。
  • 这支持 A/B 测试和蓝/绿部署。
  • 除非服务开发团队指出,否则这些技术通常需要比较时间以确保时间相似或有所改进。
0 投票
1 回答
6784 浏览

java - 侦探日志 traceId 未传播到另一个服务

我尝试在我的微服务中添加分布式跟踪(在 Azure 中的 Kubernetes 下)。

我在父 pom.xml 中添加了依赖项:

我使用 1.4.1 和 CAMDEN.SR4,因为 fabric8 kubeflix 不支持更新的版本。我强迫 1.1.3.RELEASE 尝试最新的 sleuth 版本,看看它是否是旧版本的 sleuth 中的错误。

我使用 logback-spring.xml 的这个配置:

这是我的 application.yml :

zipkin URL 是暴露 Zipkin 服务器的 Kubernetes 服务(带有 @EnableZipkinServer 的 Spring boot 应用程序)

然后我使用以下代码调用第一个服务(services-1):

产生这些日志:

如您所见,它使用 RestTemplate 调用 services-i18n-2 服务,生成以下日志:

如您所见,service-2 (e0c6495a0a598cff) 中的 traceId 与 service-1 (eaf3dbcb2f92091b) 不同。

在 service-2 中,traceId 与 spanId 相同。

问题 :

  • 为什么我没有将 traceId 传播到 service-2 以便能够在 Zipkin 中看到完整的堆栈跟踪?
  • 为什么 service-2 中的 traceId 等于 spanId ?
  • 为什么 exportable 在 service-1 中是错误的?Zipkin 服务器看不到这些日志。
  • 我在 Zipkin 服务器中收到了 rxjava 跨度的垃圾邮件。我已经尝试过 spring.sleuth.rxjava.schedulers.ignoredthreads=rxjava 但它仍然适用于 Zipkin。

仅供参考,我在依赖项中有 Hystrix,并且我已经删除了 @HystrixCommand 以确保 Hystrix 在每次 HTTP 调用时创建一个新的 traceId 没有问题。

0 投票
1 回答
1192 浏览

elasticsearch - 如何在 ES 5.0 中持久化 zipkin 数据?

TL;DR: 我想在 ElasticSearch 中保留数据,我该怎么做?

我有 zipkin、Kafka 和 ElasticSearch。卡夫卡作为痕迹的运输工具。当我向 Kafka 发送跟踪时,我在 zipkin UI 中得到了它,它在内存中是持久的。我想在 ES 5.0 中保留所有跟踪一段时间,当 zipkin 启动或搜索跟踪时,我想在 ES 中搜索或在 zipkin 启动时从 ES 加载跟踪。

我像这样与 Kafka 集成启动 zipkin:

这是zipkin-storage/elasticsearch-http 的描述

这是输出:

但是在索引 zipkin 中的 ES 中没有数据。

0 投票
1 回答
60 浏览

trace - 将 Hawkular 用于使用 CXF 构建的 Rest 服务

我是分布式跟踪/ Hawkular 的新手。并且想尝试使用 hawkular 对我的分布式 cxf 休息服务进行跟踪。是否可以使用 hawkular 跟踪 cxf 服务,如果有人有文档或参考示例应用程序,那就太好了。

此外,是否有任何其他跟踪工具可以解决此要求(跟踪 java cxf 休息服务)。Zipkin-brave 有一个我正在研究的功能。

0 投票
1 回答
526 浏览

java - Zipkin - 分布式追踪

我有几个服务。我正在使用 Zipkin 对它们进行检测。

在每个模块中,在 build.gradle 中添加了对 Zipkin 的依赖:

在每个模块中,application.properties 文件中有以下设置:

我称一个使用其他 3 个模块的特定端点,总共是 4 个模块。整个设置都在我的笔记本电脑上。我意识到 Zipkin 引入了很多开销。我使用 Mozilla 来比较结果。小值是 Zipkin 不记录请求时,大值是 Zipkin 记录时。

在此处输入图像描述 你知道为什么会有这么多开销吗?谢谢你。

0 投票
1 回答
909 浏览

spring-boot - 使用 @ControllerAdvice 进行 Sleuth/Zipkin 跟踪

我最近将我的项目从 Spring Boot 1.4.1、Spring Cloud Sleuth 1.1.0、Spring Cloud Zipkin 1.1.0 升级到 Spring Boot 1.5.3、Spring Cloud Sleuth 1.2.0、Spring Cloud Zipkin 1.2.0。

阅读最新版本的 Spring Cloud Sleuth,他们添加了“错误”标签,如果出现任何异常,这些标签会自动报告给 Zipkin。

我有一个 @ControllerAdvice 类扩展 ResponseEntityExceptionHandler 用于自定义异常处理。在使用旧版本(Spring Boot 1.4.1、Spring Cloud Sleuth 1.1.0、Spring Cloud Zipkin 1.1.0)时,我能够使用以下方法向 Tracer 报告错误并在 Zipkin 中显示相同的错误:

升级后,这似乎不起作用,并且 spring cloud sleuth 的默认错误报告也没有发生。只有在注释掉 @ControllerAdvice 并让 Spring Boot 的默认 ErrorController 处理异常之后,我才能在 Zipkin 中可视化错误。但是,我们需要自定义异常处理来以标准方式格式化错误响应,并在我们所有的 PaaS 服务中使用错误代码。有没有办法做到这一点?我应该使用任何其他 Sleuth 对象来实现这一点吗?

0 投票
1 回答
532 浏览

elasticsearch - 如何将存储从 MySQL 替换为 Elasticsearch 以部署 Zipkin Kubernetes

我正在使用 Kubernetes 使用 zipkin 部署和跟踪来自应用程序的数据。我在用 Elasticsearch 替换 MySQL 时遇到了问题,因为我无法理解。即使替换是在命令行的基础上完成的,使用 STORAGE_TYPE="Elasticsearch" 但如何通过 kubernetes 完成?我可以从 docker imgaes 运行容器,但是有没有办法通过部署来替换?