gpt4 book ai didi

c# - 如何在 Application Insights 中通过 RabbitMQ 显示端到端事务?

转载 作者:行者123 更新时间:2023-12-03 17:12:40 27 4
gpt4 key购买 nike

我们有一个分布式应用程序,混合了旧版 ASP .NET Web 应用程序、ASP .NET Core Web 应用程序、ASP .NET Core 微服务、.NET Framework 控制台应用程序和 .NET Core 控制台应用程序。组件之间的通信都是通过 HTTP 和 RabbitMQ 进行的点对点通信。

一个典型的例子是,一个请求由一个面向公众的 web 应用程序处理,这会导致通过 HTTP 与一个或多个微服务直接通信,而且会生成一个或多个事件并将其发布到 RabbitMQ,并在收到请求后立即处理。消费者有免费容量。
我们正在使用 ApplicationInsights(它非常适用于 HTTP),但很难将 RabbitMQ 上的请求添加到端到端事务的可视化表示中。
如文档中所述,我们使用 OperationId 和 ParentId 将请求链接起来,并且可以运行返回所有相关操作的查询,但我们无法在“End-to- Azure 门户上的“结束事务详细信息”,只有纯 HTTP 请求。

有什么见解可以分享吗?为了让 Application Insights 了解 RabbitMQ 使用者上下文中的操作也应该以图形方式显示,需要做什么?

最佳答案

在这里引用 ZakiMa 的评论作为答案,这样可以帮助社区中有类似问题的其他人:

你好!我们正在积极努力实现这一点。如果您有兴趣尝试私有(private)预览(URL 中有特殊标志,无需额外配置),请发送电子邮件至我的别名。域名是microsoft ---- com。

另外,仅供引用,docs 中也引用了这点。与使用 Application Insights 实现分布式跟踪有关:

Currently, automatic context propagation across messaging technologies (like Kafka, RabbitMQ, and Azure Service Bus) isn't supported. It is possible to code such scenarios manually by using the trackDependency and trackRequest methods. In these methods, a dependency telemetry represents a message being enqueued by a producer. The request represents a message being processed by a consumer. In this case, both operation_id and operation_parentId should be propagated in the message's properties.



感谢您伸出援手。

2020 年 6 月 18 日更新:

此功能已发布到公共(public)预览版。在应用程序 map /端到端详细信息中,您应该会看到一个横幅和 试用预览 选项如下:

Application Map

关于c# - 如何在 Application Insights 中通过 RabbitMQ 显示端到端事务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59391936/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com