【问题标题】:How to Trace a Azure ServiceBus Message from End to End如何从头到尾跟踪 Azure ServiceBus 消息
【发布时间】:2021-08-13 16:20:28
【问题描述】:

我有 2 个组件(2 个独立的 Springboot 应用程序)。一个会将消息放入 Azure 服务总线队列,其他组件将从该 Azure 服务总线队列读取消息。我想从端到端跟踪一条消息。我的意思是,我想将 Trace ID 打印到我们的日志(slf4j)中。这样我就可以跟踪处理时是否发生了任何异常。

我做了谷歌。我发现了一个名为 ApplicationInsights 的东西,但它不能解决我的问题。我希望所有需要在 splunk 日志中重新编码。

我知道 Spring Sleuth 是生成 Traceid 的正确选择。我想在 2 个组件之间保持相同的 TraceID。

由于我的应用程序是单独的组件,因此侦探将为 2 个组件创建单独的跟踪 ID。我们可以在 2 个单独的组件之间使用相同的 Trace id 吗?

【问题讨论】:

    标签: azure microservices azureservicebus spring-cloud-sleuth spring-framework-beans


    【解决方案1】:

    是的,您需要将跟踪数据与消息一起发送(即:在标头中)并使用它创建您的跨度。

    您可以检查Spring Cloud Azure 是否支持它,如果不支持则需要手动执行(您可以看看 Sleuth 如何使用 Kafka 或 RabbitMQ)。

    【讨论】:

      【解决方案2】:

      您可以尝试使用 Azure Application Insights。它将为您提供开箱即用的端到端遥测。您可以跟踪消息在服务总线队列中的停留时间、排队时间等。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-09-08
        • 1970-01-01
        • 1970-01-01
        • 2023-03-28
        • 2022-11-22
        • 2021-10-08
        • 1970-01-01
        相关资源
        最近更新 更多