问题标签 [jaeger]

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

azure-aks - 使用部署在 AKS 上的 Jaeger 跟踪 Spring Boot 微服务

我在 Azure Kubernetes 集群中的监控命名空间中设置了 Jaeger,并部署了我的容器,该容器在监控域中使用 jaeger 客户端库进行了检测。该服务已启动并正在运行,当我在浏览器中指定 :/actuator 时,我可以使用执行器查看跟踪。但是 Jaeger UI 的服务下拉列表中没有填充相同的微服务。

以下是我正在使用的文件。

DemoOpentracingApplication.java

为什么检测服务没有填充到 Kubernetes 的 Jaeger UI 中?

0 投票
1 回答
3800 浏览

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

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

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

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

提前致谢。

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

kubernetes - Istio 如何将 Tracing spans 发送到 jaeger?

我想在 K8S 中将 istio 与现有的 jaeger 跟踪系统一起使用,我开始按照官方链接安装 jaeger 系统,并使用 cassandra 作为后端存储。然后通过helm 方式安装 istio ,但只启用了一些选定的组件:

Jaeger 和 istio 安装在同一个命名空间内istio-sytem,完成后,它里面的所有 pod 都是这样的:

然后我按照链接将 bookinfo 示例部署到另一个istio-play具有 label的名称空间中istio-injection=enabled,但是无论我如何刷新productpage页面,都没有将跟踪数据填充到 jaeger 中。

我想也许跟踪跨度是由混合器发送到 jaeger 的,就像 istio 做所有其他遥测东西的方式一样,所以我-set mixer.enabled=true,但不幸的是,只有一些服务像istio-mixeroristio-telementry被显示。最后我清理了上面所有的安装并一步一步地完成了这个任务,但是 bookinfo 应用程序的跟踪数据仍然没有。

我的问题是:istio 究竟是如何向 jaeger 发送跟踪数据的?Sidecar 代理是否像envoy 那样直接将其发送到 jaeger-collector( zipkin.istio-system:9411) ,或者数据流如下:?我如何调试 istio 网格内各种组件之间的数据流?sidecar-proxy -> mixer -> jaeger-collector

感谢您的帮助和信息:-)


更新:我再次尝试安装不带 helm 的 istio:,这次一切正常,和kubectl -n istio-system apply -f install/kubernetes/istio-demo.yaml之间一定有不同。kubectl wayhelm way

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 投票
3 回答
666 浏览

jaeger - 带有单个远程代理的 Jaeger

  • 在 Jaeger 部署中是否可以使用单个代理与单个收集器共存?
  • 这会是可取的吗?
  • 是否可以完全跳过代理并通过 HTTP 直接将 span 提交给收集器?(文档中提到了这一点,但没有详细说明如何实现这一点。)这会有多大的可扩展性?
0 投票
1 回答
418 浏览

jaeger - 将 Jaeger 代理连接到在 Openshift 中运行的收集器

我在将 jaeger 代理指向在 openshift 中运行的收集器时遇到问题。

我可以这样做浏览我的 OCP 收集器端点:

我的 jaeger 代理 Dockerfile 目前看起来像这样

当我将代理指向根据第一条注释行在本地运行的收集器时,我得到了预期的结果。

使用第二个未注释的 CMD 标志出现以下错误。

当我尝试将代理连接到在 openshift 上运行的收集器时,出现以下错误

我可以通过这样做成功地卷曲收集器端点

当我尝试以这种方式卷曲端点时出现以下错误:

我需要帮助设置一个正确的--collector.host-port标志,该标志将连接到在 HTTPS 协议后面远程运行的收集器。

0 投票
1 回答
551 浏览

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

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

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