首页 > 解决方案 > 如何使用应用程序洞察力进行分布式跟踪/跟踪

问题描述

我在 Azure 中使用了多个资源,流程如下所示:

  1. 从 sftp 获取文件
  2. 使用来自 http 调用的数据丰富文件
  3. 将消息放入队列
  4. 处理消息
  5. 打一些外部电话
  6. 传递数据

我们如何追踪上述过程中特定的“运行”在哪里?

我们可以简单地创建一个 guid 并将其传递给应用程序洞察吗?

标签: azureazure-functionsazure-application-insightsazure-monitoringazure-monitor

解决方案


这确实是分布式跟踪的完美场景!

有两种主要的方法来处理这些数据,使用Transaction Diagnostics视图或Application Map视图。前者有助于在每个请求的基础上发现性能问题,而后者则提供各种系统之间交互的拓扑视图。

大多数依赖项由 Application Insights SDK 自动收集,因为它通过依赖项自动收集器支持本地分布式跟踪,但您也可以使用TrackDependency API 手动跟踪它们。

在关联遥测时,您建议的 guid 采用 的形式operation_Id,它将遥测与执行的逻辑操作相关联。要了解有关其如何在后台工作的更多信息,请查看Application Insights 中的遥测相关性

为了进一步阅读,这里还有一篇简洁的博客文章,用一个例子说明了这一点。

希望这可以帮助!


推荐阅读