问题标签 [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.
java - 无法从 Header 获取 New Relic Trace ID
我一直在尝试从跟踪服务的请求中获取 New Relic Trace/Transaction ID。
不幸的是,我无法检索该值。
当我尝试从标题中提取值时,它们不会被填充。
我可以获得分布式有效负载,但不完全确定我在看什么。
结果:
@RequestHeader(name="X-NewRelic-ID", defaultValue="null")
=“空”
@RequestHeader(name="X-NewRelic-Transaction", defaultValue="null")
=“空”
NewRelic.getAgent().getTransaction().getRequestMetadata()
=空
NewRelic.getAgent().getTransaction().getResponseMetadata()
=空
分布式跟踪有效负载 =
网络服务:
java - zipkin 分布式追踪演示
我是分布式跟踪的新手,并尝试使用视频https://www.youtube.com/watch?v=CFLZJSwbYI0中解释的示例
简而言之,这有以下
- Zipkin 服务器 - 为此我使用 https://zipkin.io/pages/quickstart.html提供的 jar 文件
- 一个 zipkin 客户端(端口 - 8081)
- 服务(端口 - 8082)
现在,当我使用命令运行 zipkin 服务器时
java -jar zipkin.jar
并在 url http://localhost:9411/zipkin 访问 zipkin
到目前为止一切正常。
现在我正在启动在端口 8081/8082 上运行的 zipkin-client/service
在此之后,我访问了 zipkin 网址(http://localhost:9411/zipkin),但它现在坏了。
我想知道为什么在端口 8081/8081 上启动其他服务会导致 zipkin 服务器停止响应。
非常感谢任何形式的帮助!!!
spring-boot - Elastic APM 是否支持 Spring Cloud Stream
我对 Elastic APM 非常陌生,不确定它如何支持不同的框架。我可以从文档中看到 APM 支持 Spring Boot。我已经用 APM 测试了一个 Spring Boot 应用程序,它看起来很有希望。我想知道 APM 是否也支持 Spring Cloud Stream。Spring Cloud Stream 通过使用 Spring Boot 和消息中间件提供事件驱动架构。中间件可以是Kafka、RabbitMQ等。
spring-boot - 自定义 CorrelationId 春季云侦探 Finchley.RELEASE
我目前在 spring-cloud-sleuth 中遇到了一个用例。我在我的 pom 和 Spring boot 2.0.3.RELEASE 中使用 Finchley.Release spring cloud
我实现了自己的 CustomTraceContext,它扩展了 CurrentTraceContext,并向 MDC 添加了自定义 CorrelationId (XP-TraceId)。
我正在使用 log4j2.xml,并且能够在日志文件中看到 CorrelationId (XP-TraceId)。
现在我需要将 CorrelationId (XP-TraceId) 传播到微服务链,而且我无法在异步线程中看到 CorrelationId (XP-TraceId)(我在异步线程中打印 MDC.getCopyOfContextMap() 我只看到 X-B3-TraceId , X-B3-SpanId)?
Finchley.Release 有可能吗?
有任何示例配置吗?
我提到了这个,但无法配置这个。
任何帮助表示赞赏。
java - 有没有办法在 jar 中启用 zipkin 跟踪,这样无论在哪里使用 jar,它都会默认初始化一个单独的 span
我正在创建一个带有对服务的改造调用的客户端 sdk,打包为一个单独的 jar。我必须在此 jar 中包含 zipkin 跟踪器/跟踪,以便任何使用此 jar 与服务通信的应用程序都为每次调用服务自动创建一个单独的跨度。我的问题有可行的解决方案吗?
我一直在尝试使用“io.zipkin.brave:brave-instrumentation-okhttp3”库来解决这个问题。我还添加了“org.springframework.cloud:spring-cloud-starter-sleuth”依赖项,以便默认生成跟踪器 ID。但是将此 jar 添加到使用 kafka-streams 和“io.zipkin.brave:brave-instrumentation-kafka-streams”依赖项的项目中,不会自动初始化一个新的跨度。
我期望的是,使用这个 jar 的应用程序默认情况下对于他们通过这个 jar 进行的每个改造调用都有一个单独的跨度。
prometheus - 可观察性:我们可以按标签过滤,然后在 prometheus 或任何指标后端服务器上聚合
例如,我使用以下命令调用 Redis 服务器:
运行后,我想同时跟踪这两个信息:
- 所有写操作符的统计信息(所以标签应该是 SET)
- 所有特定运算符的统计信息(因此标记应为 SET 和键)
因此,我将创建用于跟踪指标的视图。我能想到的方法有两种:
- 带有标签“SET”和键的单一视图。后来希望我可以通过“SET”或“SET”和按键进行过滤。(1)
- 创建 2 个视图。第一个视图只有标签“SET”,第二个视图将有标签“SET”和键。所以每个查询的每个视图。(2)
我更喜欢(1),因为它更优雅,我不需要创建太多视图。我的问题是:如果我在(1)上做,它可以在公制后端服务器上工作吗?(即:普罗米修斯)。或者指标后端服务器不支持按标签和聚合过滤,所以我必须创建单独的视图?
谢谢
spring-boot - 如何使用 newrelic 为 Spring Boot 应用程序进行分布式跟踪
我们可以在 newrelic.yml 文件上启用分布式跟踪,如下所示
但是服务间跟踪不可用,我们是否需要在spring boot应用程序端进行任何更改。
spring-boot - 禁用分布式跟踪以进行开发
我们正在建立微服务框架。
我们使用以下堆栈进行分布式跟踪。
- 弹簧靴
- 卡夫卡
- 齐金
以下是配置的完成方式
在gradle.build
(或 pom.xml)中添加了以下启动器依赖项
添加一个 AlwaysSampler bean
如果我们kafka
运行,事情就会自动运行。
但是如果 kafka 没有运行,服务器就不会启动——这主要是开发环境的情况。
如果我想停止这种情况,我必须注释掉这里提到的所有代码(因为我们在 spring boot 中使用 starter 依赖项,它会自动按照我的理解进行配置)。
我们可以对属性(或 yaml)文件进行一些更改,这样我就不需要去注释掉所有这些代码了吗?
或者可能是另一种在不做评论的情况下禁用它的方法,等等。
java - 如何在 Spring Boot slf4j 中添加自定义日志记录
我有一个与 Spring 微服务分布式跟踪有关的问题。我正在使用 sleuth 库来打印我的踪迹。在 Java 8 中,当我们使用 parallelStream 时,它不起作用,因为它无法将信息传播到其他线程。我正在寻找使用它的解决方案。任何将值传播到 parralelStream 的东西都应该接近结果。几点如下
使用 spring boot 和 slf4j 自定义日志记录格式,以便我可以添加有关服务的更多信息。
使用 parallelStream、aspectJ 和拦截器发送信息的任何方式。
修复以允许侦探或勇敢的库与并行流一起工作。
任何建议,上述解决方案都会有所帮助。
node.js - 如何为不使用 Express 中间件的 node.js 应用程序配置 AWS X-Ray?
我正在尝试将 AWS X-Ray 与托管在 AWS Lambda(无服务器)上的 nodejs api 集成。X-Ray 使用 express 中间件按 api 的预期工作,并且能够在 AWS 控制台上查看跟踪。对于没有 express 框架的异步函数,我在集成时遇到了问题。
尝试启用手动模式,但面临Lambda 不支持手动模式错误。
提到这个-为自动模式部分开发自定义解决方案但没有运气。
有人可以帮我解决这个问题吗?