问题标签 [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.
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()
.
如何克服这个问题?
forms - 使用 http.NewRequest POST 数据失败
我正在尝试将数据从一个 golang 服务传递到另一个使用http.NewRequest()
. 为此,我使用了以下代码:
我从Golang 得到这个:http.NewRequest POST
当我尝试从用户服务转储接收到的数据时:
我得到一个空map[]
在这里,我只是尝试将跟踪跨度注入到我的请求中,以前我习惯于http.PostForm()
传递数据,它工作得很好。但我不知道传递tracing
给它。
kubernetes - 如何在不使用 kubectl 端口转发的情况下在生产中部署 Istio Jaeger UI 跟踪
我正在尝试部署 Istio Jaeger UI 以进行分布式跟踪。目前我正在使用命令 kubectl 端口转发kubectl port-forward -n monitoring prometheus-prometheus-operator-prometheus-0 9090
。但它在http://localhost:port上运行那么我该如何在生产中做到这一点呢?有没有其他方法可以在生产中部署。还有我怎样才能让它继续运行https
?
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
,因为它可以轻松升级任何协议更改。
这可能吗?如果是这样,我做得对吗?或者我犯了什么错误?
logging - Istio 概念 - 服务间通信和跟踪
编辑:我正在重写这个问题以缩小评论中建议的范围。
在Deploying the application下,文档说,
使用 Istio 运行示例不需要对应用程序本身进行任何更改。相反,您只需要在支持 Istio 的环境中配置和运行服务,并在每个服务旁边注入 Envoy 边车。
我有一个 NodeJS 后端 API,它使用winston包编写日志。我认为,必须更改应用程序,以便winston 包中的日志可以参与分布式跟踪。这个对吗?
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 之后
示踪剂初始化步骤。
go - Golang 微服务的 Opentracing span 失败
这个问题与以下问题直接相关。他们都没有解决这个问题:
使用 golang http.PostForm 进行分布式跟踪
这是我目前的形象。
在第一个微服务(API-网关)中,我有以下代码:
在我的第二个微服务(用户服务)
这里来自 **Start from context ** 的输出:nil
我在这里想念什么?我真的很陌生opentracing
。这里发布的代码取自opentracing-tutorial-yurishkur。
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
有人可以建议我如何实现相同的目标。
spring-boot - Spring Boot 微服务应用的跟踪
追踪spring boot 2微服务应用的最佳实践是什么?我发现了一些 2 年前的教程,其中跟踪服务器是另一个具有以下依赖项的 Spring Boot 应用程序:
并使用以下配置推送跟踪:
和
这个解决方案仍然是实际的并且适合生产,还是我们应该配置 zipkin 的独立 docker 映像而不是 spring boot 应用程序并将其连接到带有日志的 ELK 堆栈?你推荐什么?如果您能提供一些推荐的处理方法的示例,那就太好了。谢谢您的建议。
opentracing - opentracing/jaeger 相对于 APM 跟踪功能的优势
我在看 APM 工具。本质上 Dynatrace 我可以看到它还提供了似乎与语言无关且无需修改代码的跟踪功能。
与 dynatrace 这样的工具相比,jaeger/open tracking 在哪里是更好的选择?
是的,dynatrace(或其他类似 Elastic APM)能够提供对应用程序的更多洞察,而不是跟踪。
但仅从跟踪的角度来看...... jaeger 有哪些优势或功能比 APM 工具更好或在 APM 中不可用。仅从跟踪的角度来看。