问题标签 [opentracing]

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 回答
3800 浏览

spring-webflux - 如何在 Spring WebFlux 中使用 Jaeger?

我们正在尝试对 Webflux 进行响应式处理。我们将 Jaegar 与 Istio 一起用于检测目的。

Jaegar 非常了解 Spring MVC 端点,但似乎根本不适用于 WebFlux。

我正在寻找使我的 webflux 端点出现在 Jaeger 中的建议。

提前致谢。

0 投票
1 回答
563 浏览

spring - 在 Spring Boot 应用程序中,OpenTracing 未激活 Sleuth-Zipkin

Spring Doc 说

Spring Cloud Sleuth 与 OpenTracing 兼容。如果类路径上有 OpenTracing,我们会自动注册 OpenTracing Tracer bean。如果您希望禁用此功能,请将 spring.sleuth.opentracing.enabled 设置为 false

我的 POM 中有以下依赖项。

但是,当我尝试打印跟踪和跨度信息时,我会在日志中打印出以下内容:tracer: NoopTracer

为什么我要获得 NopTracer?为什么 Brave 没有按照承诺自动注册?难道我做错了什么?

我在用

芬奇利.SR2

0 投票
1 回答
1161 浏览

opentracing - 跨度型客户端和跨度型服务器有什么区别?

OpenTracing之间span.kind=server有什么区别?span.kind=client我怎么知道该选哪一个?它到底是什么意思?

例如,我的服务 Foo 最初由外部服务 Bar 调用。我开始在我的 Foo 端进行跟踪,逻辑是在我的系统中调用另一个服务 Buzz 以继续流链。我宁愿假设外部服务 Bar 是 a client,但我不能从那里开始我的跟踪。你会建议什么 -client在我的服务 Foo 中开始跟踪,然后将所有以下服务视为服务器?

设置:k8s 微服务、jaeger 指标。

0 投票
0 回答
688 浏览

opentracing - Jaeger 代理无法连接到收集器

我已经在 Linux 机器上启动了 Jaeger 独立二进制文件,并试图在 Mac 上运行 Jaeger 代理二进制文件,以尝试连接到独立进程的 Jaeger 收集器。但是,它一直以“错误”失败:“tchannel错误ErrCodeTimeout:超时”。

问题不在于不同的操作系统版本,因为我在另一个 Linux 机器上尝试时遇到了同样的错误。我使用 telnet 确认收集器端口已打开以进行连接。

堆栈跟踪如下 - ./cmd/agent/agent- --collector.host-port=172.xx.2.4:14267 {"level":"info","ts":1542954225.5485492,"caller":"tchannel /builder.go:94","msg":"启用服务发现","service":"jaeger-collector"} {"level":"info","ts":1542954225.5489438,"caller":"peerlistmgr/ peer_list_mgr.go:111","msg":"Registering active peer","peer":"172.xx.2.4:14267"} {"level":"info","ts":1542954225.5502574,"caller": "agent/main.go:62","msg":"启动代理"} {"level":"info","ts":1542954226.5518098,"caller":"peerlistmgr/peer_list_mgr.go:157","msg “:“没有足够的连接节点”,“已连接”:0,“需要”:1} {“级别”:“信息”,“ts”:1542954226.552439,“呼叫者”:“peerlistmgr/peer_list_mgr.go:166”,“msg” ":"尝试连接到对等体","host:port":"172.xx.2.4:14267"} {"level":"error","ts":1542954226.8054206,"caller":"peerlistmgr/peer_list_mgr. go:171","msg":"无法连接","host:port":"172.xx.2.4:14267","connCheckTimeout":0.25,"error":"tchannel 错误 ErrCodeTimeout: timeout"," stacktrace":"github.com/jaegertracing/jaeger/pkg/discovery/peerlistmgr.(*PeerListManager).ensureConnections\n\t/Users/swarnim/go/src/github。com/jaegertracing/jaeger/pkg/discovery/peerlistmgr/peer_list_mgr.go:171\ngithub.com/jaegertracing/jaeger/pkg/discovery/peerlistmgr.(*PeerListManager).maintainConnections\n\t/Users/swarnim/go/src /github.com/jaegertracing/jaeger/pkg/discovery/peerlistmgr/peer_list_mgr.go:101"}

0 投票
2 回答
2195 浏览

spring-boot - 如何将opentracing/jaeger与spring cloud、hystrix、feign集成?

我们最近设置了一个 jaeger 服务器,以便跟踪整个系统中的所有请求。通过简单地将必要的 spring(云)启动器依赖项添加到我们的构建文件中,初始设置工作得非常好。每次,一个请求到达我们的一个服务器时,都会创建一个新的 span 并将其报告给使用一体化 docker 映像设置的 jaeger 服务器。

最重要的依赖项如下:

虽然在服务器上创建了 span,但不会将必要的 headers 转发给 feign 客户端。根据文档,添加opentracing-spring-cloud-feign-starter依赖项应该可以解决问题,但到目前为止,没有一个 feign 客户端起作用。

我还在 opentracing 提供的自动配置类中添加了一个断点

并在应用程序启动时调用此方法。日志中也有一些关于 jaeger/opentracing 初始化的信息:

我花了很多时间阅读文档并寻找如何正确配置 Spring Boot/Cloud 应用程序以便与 feign 客户端一起工作的示例,但到目前为止我还没有运气。大多数示例使用 Springs 的 RestTemplate 而不是 Feign 客户端。

如果有人能指出我正确的方向,我会很高兴。

0 投票
1 回答
928 浏览

java - 使用 Spring Boot 2.0.2 的 OpenTracing 在 Jaeger 中不会产生任何跟踪

我正在努力为 Spring Boot 2.0.2 应用程序设置 OpenTracing/Jaeger。从 Spring Boot 1.5.3 的一个工作但非常示例开始,我转到 Spring Boot 2.0.2——它正确地发送了跟踪。但是那里使用的依赖项非常陈旧(例如 opentracing-spring-web-autoconfigure 的 0.0.4,现在在 0.3.2 中可用)。

所以我将应用程序迁移到最新的依赖项,这导致 Jaeger 中不再出现任何痕迹。

我已将测试上传到https://gitlab.com/ceedee_/opentracing-spring-boot。分支机构如下:

  1. master -> Spring 1.5.3 实现(工作)
  2. spring-boot-2-0-2-RELEASE -> Spring 2.0.2 implementation(使用过时的 deps)
  3. spring-boot-2-0-2-RELEASE-latest-deps -> Spring 2.0.2 实现(不工作!)

2.到3.的区别如下:

  1. 为更新的依赖项更新了 pom.xml。
  2. jaegerTracer bean 使用构建器(不再配置 Const-Sampler,应该是默认值)
  3. application.properties 激活 Const-Sampler(注释掉,因为它没有任何改进)

有没有人知道我做错了什么才能正确地将痕迹放入 Jaeger 中?也非常感谢调试 OpenTracing/Jaeger 的提示!

最好的问候, cd_

0 投票
1 回答
551 浏览

opentracing - 在 jaeger 跟踪中未对跟踪进行采样

我是使用 Jaeger 跟踪系统的新手,并且一直在尝试为基于烧瓶的微服务架构实现它。下面是我在 python 中实现的 jaeger 客户端配置:

我在某处读到采样策略用于对跟踪数量进行采样,特别是对于没有任何元数据的跟踪。因此,根据此配置,这是否意味着我要对每条迹线或仅随机抽取几条迹线进行采样?奇怪的是,当我传递随机输入为我的微服务创建跨度时,跨度仅在 4 到 5 分钟后生成。我想更多地了解这个配置规范,但不能。

0 投票
1 回答
69 浏览

opentracing - 开放式跟踪的轻步集成

我正在探索各种追踪系统。我最近在研究 Light Step。我已经为 OpenTracing 集成了我的应用程序,我使用了 Light Step 的跟踪器。现在如何查看我正在生成的痕迹。例如,在 Jaeger 中,他们有一个现成的 docker 镜像,可用于快速演示。有人可以帮我吗?

0 投票
1 回答
1061 浏览

java - 如何配置 OpenTracing Tracer 以在 Java 中将数据推送到 Prometheus/Grafana

我有一个使用 OpenTracing 的 Spring Boot 应用程序,我想将其数据推送到 Prometheus,因此我可以通过 Grafana 查询所有指标(如本教程https://www.hawkular.org/blog/2017/06/26/ opentracing-appmetrics.html)。

问题是,我还没有找到任何一致的解决方案来做到这一点,到目前为止我发现的所有示例都已过时、不推荐使用或缺少文档。

理想情况下,我正在寻找一些返回 io.opentracing.Tracer 实例的解决方案,类似于 Jaeger 所做的:

最好的

0 投票
2 回答
352 浏览

logging - If I use Opentracing , do I need to use NLog again?

I log application tracing informations using Jaeger.

Do I need to use other log package again?