问题标签 [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.
spring-boot - 如何防止 sleuth / zipkin 跟踪 catalog-services-watch?
我在我的应用程序上启用了 zipkin,它工作正常,我看到了痕迹。我的应用程序正在使用 Consul 服务发现,我看到在 Zipkin 中跟踪了很多流量。
跟踪就像具有“catalog-services_watch”之类的名称并包含以下内容:
如何禁用这些跟踪?我试过 spring.sleuth.instrument.web.skipPattern 参数,但它不起作用。
rx-java - 如何在 Hystrix Observables 中传递 traceIds?
我有多个服务,其中一些使用 Hystrix 的 HystrixObservableCommand 来调用其他服务,而另一些使用 HystrixCommand。如何将 traceIds 从调用服务传递到 HystrixObservableCommand 中的 Observables,并且如果调用回退也让它们传递?
所有服务都使用 grpc-java。
我拥有的示例代码:
WorldCommand.java
我正在使用 Zipkin grpc tracking 和 MDCCurrentTraceContext 在日志中打印 traceId 和 spanId。
WorldCommand 中的两个日志条目都不会打印出 trace 和 span id,它们在 RxIoScheduler 线程上调用。
编辑
按照 Mike 的建议添加了 ConcurrencyStrategy。
HelloService 调用两个服务 World 和 Team。WorldCommand 是 HystrixObservableCommand,TeamCommand 是 HystrixCommand。
PreservableContext 类
PreservableContexts 和 CustomHystrixConcurrencyStrategy 中的日志永远不会被打印出来。我在启动 HelloServer 时正在注册 startegy。
编辑 2
更新了 Observable 的设置方式:
我现在有一个奇怪的问题,对 TeamCommand 和 WorldCommand 的调用没有完成,因为这段代码永远不会执行:
此外,如果有回退,则 hystrix-timer 线程不再具有 MDC。
scala - Spring Sleuth 可以与 Scala 一起使用吗?
我正在开发使用 Java 和 Scala 的事件驱动微服务。我使用 Spring Sleuth 和 Zipkin 来跟踪 Java 服务的请求,我可以将 Spring Sleuth 与 Scala 一起使用吗?如果不是,我如何在 Scala 中生成跟踪 id 和 span id 以发送到 Zipkin。
spring-boot - 微服务无法使用发现服务器定位 zipkin 服务
我有基于 spring-boot 的 mircroservice 环境,我在其中使用 zipkin 服务器和发现服务器(eureka)和配置服务器。现在我有一个休息微服务,它将日志发送到 zipkin 服务器,并且需要这个微服务来使用发现服务器解析 zipkin 服务器在哪里。
以下是我在其余微服务的 application.properties 中的 zipkin 配置(从配置服务器中提取)。
这里 MTD-ZIPKIN-SERVER 是发现服务器中的 zipkin 服务器名称。
发现服务器仪表板。
但它不会尝试从发现服务器解析 zipkin,而是尝试使用 spring.zipkin.baseUrl 直接连接,我得到以下异常。
由于 ResourceAccessException(对“ http://MTD-ZIPKIN-SERVER/api/v1/spans ”的 POST 请求的 I/O 错误:MTD-ZIPKIN-SERVER;嵌套异常是 java.net.UnknownHostException:MTD-邮编服务器)
org.springframework.web.client.ResourceAccessException:对“ http://MTD-ZIPKIN-SERVER/api/v1/spans 的POST 请求出现 I/O 错误": MTD-ZIPKIN-SERVER;嵌套异常是 java.net.UnknownHostException: MTD-ZIPKIN-SERVER at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:666) at org.springframework.web.client。 RestTemplate.execute(RestTemplate.java:628) at org.springframework.web.client.RestTemplate.exchange(RestTemplate.java:590) at org.springframework.cloud.sleuth.zipkin.RestTemplateSender.post(RestTemplateSender.java:73)在 org.springframework.cloud.sleuth.zipkin.RestTemplateSender.sendSpans(RestTemplateSender.java:46) 在 zipkin.reporter.AsyncReporter$BoundedAsyncReporter.flush(AsyncReporter.java:245) 在 zipkin.reporter.AsyncReporter$Builder.lambda$build $0(AsyncReporter.java:166) at zipkin.reporter.AsyncReporter$Builder$$Lambda$1.run(Unknown Source) at java.lang.Thread.run(Thread.java:745)引起:java.net.UnknownHostException:MTD-ZIPKIN-SERVER at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:184) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
如果我在属性 spring.zipkin.baseUrl 中提供准确的 zipkin url,如下所示
然后我的 rest-microservice 能够连接到 zipkin-server。
我的目标是从发现服务器读取 zipkin 服务器位置。我究竟做错了什么?我是否需要在我的 spring-boot rest-microservice 上添加一些 zipkin 启用注释?
distributed-transactions - 替代图表,zipkin 的 UI?
我正在为存储在 zipkin.io 数据库中的跟踪寻找更好的图表,想知道是否有人开发了比开箱即用的 zipkin UI 更好的东西......是否有任何用于 Zipkin 的替代 GUI?
java - 无法使用 spring cloud zipkin 客户端
当我使用:
错误日志是:
但是当我删除依赖项时,它会正常运行。
我找不到原因,我不知道为什么会出现问题。
这是我的fegin界面
我正在使用这样的假装界面
这是我的父 pom.xml 配置
我尝试修改 POM 文件,例如:
仍然错误。
我该如何解决这个问题?
mysql - 无法将 zipkin docker 容器连接到 mysql 容器
我有 zipkin 服务器作为 spring boot 应用程序运行。我已将 jar 导出到 docker 容器。
我的 dockerfile 看起来像:
我有一个 mysql 容器。从官方 docker hub 得到这个。
当我使用以下命令将我的 zipkin 容器链接到 mysql 时:
我被拒绝连接异常
引起:com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:通信链路故障
虽然如果我从主机操作系统运行我的 jar,那么它能够连接 mysql 容器并且我可以看到存储在 mysql db 中的跨度
我的 application.yml 是:
如何将 java docker 容器连接到 mysql docker 容器?
我已经探索过这个链接。
kubernetes - 使用 istio 和 zipkin 进行分布式跟踪时,是否可以发回 x-request-id?
在链接Istio/Distributed tracking之后,我可以使用 zipkin 进行跟踪。
目前,为了让客户端/调用者知道 x-request-id(如果没有发送 id,zipkin 会创建一个),他需要将其作为请求的一部分发送。
这使他能够跟踪请求。一切正常。
但是,我认为客户端发送 x-request-id 以避免约束/重复问题可能不是一个好主意。
如果可以在 istio 级别修改响应标头并将 x-request-id 发回,那将是一件好事。
我目前没有为 istio 找到这样的功能。如果有办法实现这一点,请告诉我。
trace - Zipkin 收集器采样基于跟踪/端到端事务而不是基于单个跨度
今天的收集器采样器根据速率对 Zipkins 收集器接收的跨度进行采样。但是对于单个事务遍历多个应用程序和跨度的微服务架构,仅基于跨度数进行采样的采样器逻辑可能会导致我们失去对单个事务的全貌。
因此,我们正在寻找一个理想的解决方案,其中 Zipkin(不是应用程序的侦探实现)可以选择基于跟踪(或具有所有跨度的整个事务)而不是基于单个跨度来对事务进行采样。我们希望这是一种更加异步的采样器技术。
期待你的想法...
spring-cloud - 客户端使用多个输入/输出通道的 Zipkin 流服务器和客户端配置
我有一个具有多个通道的客户端应用程序作为 SOURCE/SINK。我想将日志发送到 Zipkin 服务器。
根据我的理解,如果spring在classpath中找到spring cloud stream,Zipkin客户端默认是消息传递,而不是通过HTTP发送日志。
在客户端:
Q1。在这种情况下是否有 zipkin rabbit 绑定的自动配置?如果不是,zipkin SOURCE 频道的默认频道名称是什么?
Q2。我是否需要将 defaultSampler 配置为 AlwaysSampler()?
在服务器端:
Q1。我是否需要为我的用例创建 Zipkin 服务器作为 Spring Boot 应用程序,或者我可以使用通过以下方式检索到的 jar:
wget -O zipkin.jar 'https://search.maven.org/remote_content?g=io.zipkin.java&a=zipkin-server&v=LATEST&c=exec'
...如https://zipkin.io/pages/quickstart.html中所述?
Q2。如何将 zipkin SINK 通道配置到目的地?
Spring boot 版本:1.5.9.RELEASE Spring cloud 版本:Edgware.RELEASE