问题标签 [distributed-tracing]

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

go - 使用 golang http.PostForm 进行分布式跟踪

在我的项目中,我尝试使用opentracing.

我的微服务具有以下结构。

在我的 API 网关中,我启动并在 API 网关中,我使用一个函数来开始跟踪,代码取自Setting up your tracer

main()

validateemail()我从使用调用我的用户服务http.PostForm()

_, err := http.PostForm("http://user:7071/checkemail", url.Values{"uuid": {uuid}, "email": {email}})

uuid是单独的任务,而不是跟踪。我无法Span使用PostForm().

如何克服这个问题?

0 投票
1 回答
165 浏览

forms - 使用 http.NewRequest POST 数据失败

我正在尝试将数据从一个 golang 服务传递到另一个使用http.NewRequest(). 为此,我使用了以下代码:

我从Golang 得到这个:http.NewRequest POST

当我尝试从用户服务转储接收到的数据时:

我得到一个空map[]

在这里,我只是尝试将跟踪跨度注入到我的请求中,以前我习惯于http.PostForm()传递数据,它工作得很好。但我不知道传递tracing给它

0 投票
1 回答
394 浏览

kubernetes - 如何在不使用 kubectl 端口转发的情况下在生产中部署 Istio Jaeger UI 跟踪

我正在尝试部署 Istio Jaeger UI 以进行分布式跟踪。目前我正在使用命令 kubectl 端口转发kubectl port-forward -n monitoring prometheus-prometheus-operator-prometheus-0 9090。但它在http://localhost:port上运行那么我该如何在生产中做到这一点呢?有没有其他方法可以在生产中部署。还有我怎样才能让它继续运行https

0 投票
1 回答
1095 浏览

go - 如何使用 json 传递 opentracing 数据

我的 API 网关启动了一个跟踪器和一个用于验证电子邮件的跨度。然后将其传递给user-service进行验证。

我想将此span详细信息user-service作为 json 对象传递并开始另一个span作为

tracer.start_span('Validate Email', child_of=API_gateway_span)

为此,我使用了以下结构:

function()

但始终GatewayTracerSpan是空值。我刚刚开始分布式跟踪。在这里,我选择使用 json 而不是 native http-headers,因为它可以轻松升级任何协议更改。

这可能吗?如果是这样,我做得对吗?或者我犯了什么错误?

0 投票
2 回答
173 浏览

logging - Istio 概念 - 服务间通信和跟踪

编辑:我正在重写这个问题以缩小评论中建议的范围。

Deploying the application下,文档说,

使用 Istio 运行示例不需要对应用程序本身进行任何更改。相反,您只需要在支持 Istio 的环境中配置和运行服务,并在每个服务旁边注入 Envoy 边车。

我有一个 NodeJS 后端 API,它使用winston包编写日志。我认为,必须更改应用程序,以便winston 包中的日志可以参与分布式跟踪。这个对吗?

0 投票
1 回答
1799 浏览

go - 在微服务的提取载体中找不到 SpanContext

我正在尝试实现一个基于 Go 的微服务系统。Inject我有两项服务,我尝试Extract跨数据。

在我的第一份服务中,我有:

服役二:

我收到以下错误:

在提取载体中找不到 SpanContext

如果我转储,我会得到与 Service-One 相同的log.Println("Form values : ", req.Header.Get("Uber-Trace-Id"))正确值。Uber-Trace-Id

请求标头设置application/x-www-form-urlencoded 为此处建议的

编辑:@eminlala 之后

示踪剂初始化步骤。

0 投票
0 回答
457 浏览

go - Golang 微服务的 Opentracing span 失败

这个问题与以下问题直接相关。他们都没有解决这个问题:

使用 golang http.PostForm 进行分布式跟踪

使用 http.NewRequest POST 数据失败

如何使用 json 传递 opentracing 数据

在微服务的提取载体中找不到 SpanContext

这是我目前的形象。

在第一个微服务(API-网关)中,我有以下代码:

在我的第二个微服务(用户服务)

这里来自 **Start from context ** 的输出:nil

我在这里想念什么?我真的很陌生opentracing。这里发布的代码取自opentracing-tutorial-yurishkur

0 投票
2 回答
516 浏览

apache-kafka - 将 trace 和 span id 添加到 Flink 作业

我需要将 track 和 span id 添加到集群中运行的 Flink 作业中,请求流如下所示

用户 --> Rest API -> Kafka-topic-1 --> FlinkJob-1 --> Kafka-topic-2 --> FlinkJob-2 --> Consumer --> DB

我正在使用 Spring Boot 创建我的 REST API,并使用 Spring Sleuth 将轨道和跨度 ID 添加到生成的日志中,当调用 REST API 以及将消息放在 Kakfa-topic-1 上时添加轨道和跨度 ID但我无法弄清楚如何在 FlinkJob-1 和 FLinkJob-2 上消费消息时添加 track 和 span id,因为它们不在 spring 上下文中。

一种方法是跟踪和跨越 Id 到 kafka 消息头,并让 Kafka 消费者/生产者拦截器提取和记录跟踪和跨越 Id,我尝试了这个,但是我的拦截器没有被调用,因为 Flink API 使用 Flink 版本的 Kafka 客户端。

无法调用我的自定义 KafkaDeserializationSchema

有人可以建议我如何实现相同的目标。

0 投票
1 回答
271 浏览

spring-boot - Spring Boot 微服务应用的跟踪

追踪spring boot 2微服务应用的最佳实践是什么?我发现了一些 2 年前的教程,其中跟踪服务器是另一个具有以下依赖项的 Spring Boot 应用程序:

并使用以下配置推送跟踪:

这个解决方案仍然是实际的并且适合生产,还是我们应该配置 zipkin 的独立 docker 映像而不是 spring boot 应用程序并将其连接到带有日志的 ELK 堆栈?你推荐什么?如果您能提供一些推荐的处理方法的示例,那就太好了。谢谢您的建议。

0 投票
0 回答
982 浏览

opentracing - opentracing/jaeger 相对于 APM 跟踪功能的优势

我在看 APM 工具。本质上 Dynatrace 我可以看到它还提供了似乎与语言无关且无需修改代码的跟踪功能。

与 dynatrace 这样的工具相比,jaeger/open tracking 在哪里是更好的选择?

是的,dynatrace(或其他类似 Elastic APM)能够提供对应用程序的更多洞察,而不是跟踪。

但仅从跟踪的角度来看...... jaeger 有哪些优势或功能比 APM 工具更好或在 APM 中不可用。仅从跟踪的角度来看。