1

如何关联Application Insights中的多个Azure服务的单个请求?如何关联Application Insights中的多个Azure服务的单个请求?

假设我们在API管理中使用API​​应用程序公开了“创建案例”API端点。

API应用程序会执行一些工作,包括触发逻辑应用程序。

如何在所有各种Azure服务中查看请求的“流”,以提供特定情况的状态的单一“查看”?

而我只是说应用的见解,我们在Web应用程序/ API应用程序之类的使用它,所以任何其他基于Azure的工具是好的

+1

我们做什么:在API管理入站策略中,我们创建一个GUID(CorrelationId),然后我们通过HTTP头传递给API后端,或通过服务总线队列/主题传递给消息属性。将API管理日志记录推送到EventHub,然后使用Azure函数将其记录到AppInsights。所有处理队列等消息的API和函数也会登录到AppInsights。总共:所有可登录到AppInsights的逻辑组件都将采用CorrelationId并将其放入CustomDimensions中。这样我们就可以跟踪请求所需的所有步骤。 –

+0

@KaiWalter听起来不错......你不应该让它成为答案,而不是评论吗? – SteveC

回答

3

我们做什么:

  1. 在API管理入站策略,我们创建一个GUID(的correlationID)
  2. ,我们再通过服务总线队列上无论是在HTTP头传递给后端API或邮件 属性/主题
  3. API管理日志记录(包括的correlationID)被推到EventHub然后被记录到AppInsights与天青函数
  4. 所有API和函数处理队列等形式交往也登录到AppInsights

总结:所有可记录到AppInsights的逻辑组件将采用CorrelationId并将其放入CustomDimensions中。这样我们就可以跟踪请求所需的所有步骤。

0

您可以使用Client Tracking Id

client tracking ID是一个将逻辑应用运行中的事件相关联的值,包括称为逻辑应用程序一部分的任何嵌套工作流。如果未提供此ID,它将自动生成,但您可以通过在触发器请求中传递具有ID值的x-ms-client-tracking-id头(请求触发器,HTTP触发器)来手动指定触发器中的客户端跟踪ID ,或者webhook触发器)。

相关问题