问题标签 [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.
c# - OpenTracing 不使用 Serilog 发送日志
我正在尝试将OpenTracing.Contrib.NetCore与 Serilog 一起使用。我需要将我的自定义日志发送给 Jaeger。现在,它仅在我使用默认记录器工厂时才有效Microsoft.Extensions.Logging.ILoggerFactory
我的启动:
在控制器的某个地方:
但是当我使用 Serilog 时,没有任何自定义日志。我已添加UseSerilog()
到WebHostBuilder
, 以及我可以在控制台中看到但在 Jaeger 中看不到的所有自定义日志。github中有未解决的问题。您能否建议我如何将 Serilog 与 OpenTracing 一起使用?
kubernetes - istio - 跟踪出口流量
我安装了 Istio
我有一个使用外部服务的服务,所以我定义了以下出口规则。
但是使用 Jaeger 我看不到外部服务的流量,因此能够检测到网络中的问题。
我将适当的标头转发到外部服务(x-request-id、x-b3-traceid、x-b3-spanid、b3-parentspanid、x-b3-sampled、x-b3-flags、x-ot-跨度上下文)
这是正确的行为吗?怎么了?我只能有内部通话的统计信息吗?如何获得出口流量的统计信息?
go - 使用 Jaeger 在分布式应用程序中跟踪 Kafka 总线
我已经分发了由几个 Go 服务组成的应用程序。其中一些使用 Kafka 作为数据总线。opentracing
我能够使用Jaeger跟踪服务之间的调用。我在图表上绘制 Kafka 跨度时遇到问题,它们显示为间隙。
这是我能做的。初始跨度由 gRPC 中间件创建。制作方:
消费端:
当消息在 Kafka 中时,我应该如何修改它以在图上绘制跨度?
java - 如何在 opentracing 中更改 trace-id 标头?
有没有办法配置 opentracing-spring-jaeger-cloud-starter 来处理除 Uber-Trace-Id 之外的任何其他标头?我将 Traefik 作为我的 kubernetes 集群中的入口。Traefik 可以配置为更改 traceContextHeaderName。默认值为“uber-trace-id”。当我将其更改为某种自定义时,服务之间没有连接(我的意思是跨度连接)。我相信 opentracing 只适用于 Uber-Trace-Id。有没有办法配置它?
我在 minikube 中使用 Traefik 作为入口对此进行了测试。然后所有请求都转到 spring-cloud-gateway 并传播到服务。
感谢帮助!
python - Python jaeger-client 跟踪器未报告重用
使用示例代码在 celery 4.1.1 中跟踪任务。每个工人运行:
当我第一次启动 celery 并运行任务时,每个工作人员都会获得一个工作跟踪器,并且每个工作人员都有一个日志输出:
在初始之后运行的任何任务都会从Config.initialze_tracer
(返回None
)和日志警告中获取全局跟踪器Jaeger tracer already initialized, skipping
。
在控制台上观看 tcpdump 表明没有发送 UDP 数据包,我想我得到了一个未初始化的默认跟踪器,它正在使用 noop 报告器。
我仔细研究了 opentracing 和 jaeger_client 中的代码,但找不到解决此问题的规范方法。
java - Springboot - 使用骆驼追踪器创建自己的 Opentracing 跨度
我在我的 Spring Boot 项目中添加了以下注释:
@CamelOpenTracing
这为我的消息通过的每条路线创建了一个跨度,并且效果很好。
但是,如何创建自己的跨度?我想为我的消息到达时添加一个跨度onException
(添加使错误标记为真)。
我尝试从 中获取跟踪器camelContext
并创建一个跨度,但没有成功。
python - 是否有将 jaeger 4.0.0 与 pyinstaller(python3.7) 一起使用的解决方法?
不幸的是,我无法将 PyInstaller 与jaeger
. 问题是 PyInstaller 和jaeger
. 就像这里讨论的一样。
他们有任何解决方法或修复吗?
我已经使用 python 3.6 和最新的 jaeger-client 进行了尝试。在那里我得到一个 Errno 2 -> 即使我什至不使用配置文件
脚本按预期运行 -> 创建 Span 并启动 Web 服务器。只有在可执行文件中,它才不会运行。并显示以下错误:
traefik - 尝试设置分布式事件跟踪
我正在尝试在整个微服务架构中设置分布式事件跟踪。
以下是关于我们架构的一些前言:
Traefik 负载均衡器,根据路由路径名将请求转发到适当的后端服务。
一个“catchall”路由上的前端应用程序,只要一个路由没有被另一个微服务捕获,就会提供服务。
node/dotnetcore 中的各种后端服务正在监听
/api/<serviceName>
traefiktraceContextHeaderName
设置为"trace-id"
.
我想象这将如何工作是前端应用程序从负载均衡器接收标头“trace-id”,其值可用于将跨度“链接”在一起以获取相关请求。
示例场景:
当客户加载尝试登录时,他们向 Web 应用程序发出请求,接收并呈现 HTML/CSS/JS,然后/api/auth/login
可以使用登录数据和"trace-id"
traefik 提供的标头值发布后续请求。处理/api/auth/login
端点的后端服务可以捕获此"trace-id"
标头值并将一些跨度发布到 jaeger,这些跨度与它为验证用户所做的工作相关。
怎么了:
当对前端 HTML 发出请求时,不会"trace-id"
收到任何标头,因此任何后续发布的跨度都被视为单独的跟踪,并且不会链接在一起。
traefik.toml:
我了解 StackOverflow 不是“为我编写代码”服务。我正在寻找可能出现问题的指导,因为我是分布式事件跟踪的新手。我试过谷歌搜索和寻找答案,但我走到了死胡同。
任何有关在哪里查看的帮助/建议将不胜感激。
请让我知道我是否在吠叫错误的树,错误地接近它,或者我对traceContextHeaderName
应该如何工作的理解不正确。
angular - Elastic APM Opentracing 遇到 Docker apm-server 的 CORS 问题
给定这个 docker 文件来设置后端服务,包括:elasticsearch、apm-server、kibana、jaeger-collector、jaeger-agent、jaeger-query、grafana。
我正在从我的 Angular 客户端运行带有 Opentracing 的 Elastic APM:
我遇到 CORS 问题:
我的目标是将 Angular 和弹性 APM 的 opentracing 客户端连接到 docker 内的服务。
还有一些额外的问题和文档涵盖了 apm-server 的 CORS:
看起来配置应该可以工作,因为Default value is set to ['*'], which allows everything.
spring-boot - 将 JDBC 查询信息添加到 opentracing/Jaeger 跨度
我们在 Istio 中使用 Opentracing/Jaeger 来跟踪多个基于 Spring Boot/Spring Cloud 的微服务。
我目前想知道是否可以通过提供有关已执行查询(即 SQL 语句)的信息来丰富跟踪范围?使用opentracing-contrib/java-spring-cloud跟踪 JDBC 连接信息工作正常,但缺少其他信息。
我知道,例如,glowroot能够跟踪语句本身,但没有找到任何与 Opentracing 或 Jaeger 相关的内容。
如果有人能指出一些研究方向,那就太好了!