首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >尝试设置分布式事件跟踪

尝试设置分布式事件跟踪
EN

Stack Overflow用户
提问于 2019-07-19 21:40:31
回答 1查看 508关注 0票数 2

我试图在整个微服务体系结构中建立分布式事件跟踪。

这里是关于我们的架构的一些序言:

  1. Traefik负载平衡器,它根据路由路径名将请求转发到适当的后端服务。
  2. 当一个路由没有被另一个微服务捕获时,前端应用程序就会在“所有”路由上得到服务。
  3. 节点/dotnetcore中侦听/api/<serviceName>的各种后端服务

设置traefik时,将traceContextHeaderName设置为"trace-id"

我认为这是如何工作的,因为前端应用程序接收来自负载均衡器的头“跟踪id”,该值可用于将相关请求“链接”到一起。

示例场景:

当客户加载尝试登录时,他们向web应用程序发出请求,接收并呈现HTML/CSS/JS,然后对/api/auth/login的后续请求可以是带有登录数据和traefik提供的"trace-id"报头值的POSTed。处理/api/auth/login端点的后端服务可以捕获这个"trace-id"头值,并向jaeger发布一些与其验证用户的工作相关的跨度。

发生了什么:

当对前端HTML提出请求时,不会接收到任何"trace-id"头,因此随后发布的任何跨域都被认为是单独的跟踪,而不是链接在一起。

traefik.toml:

代码语言:javascript
复制
...
[tracing]
 backend = "jaeger"
 serviceName = "traefik"
 spanNameLimit = 0
 [tracing.jaeger]
   samplingServerURL = "http://jaeger:5778/sampling"
   samplingType = "const"
   samplingParam = 1.0
   localAgentHostPort = "jaeger:6831"
   traceContextHeaderName = "trace-id"
...

我知道StackOverflow不是一个“为我编写代码”的服务。我正在寻找关于什么可能是错误的指导,因为我是新的分布式事件跟踪。我试着搜索和寻找答案,但我已经到了一个死胡同。

任何关于去哪里找的帮助/建议都将不胜感激。

请告诉我,如果我在错误的树上吠叫,不正确地接近这个,或者如果我对traceContextHeaderName应该如何工作的理解是不正确的。

EN

Stack Overflow用户

回答已采纳

发布于 2019-07-19 21:47:14

呃。我是个白痴。

对于其他可能被困在这样的地方的人来说,这是出了什么问题:

前端应用程序正在接收一个标题,我只是找错地方了。

请求来自负载均衡器到节点前端微服务,后者将响应发送到浏览器。

我正在检查浏览器的头部,但是节点前端微服务并没有将这个头转发给浏览器。

票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57119864

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档