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

时间:2017-04-25 08:50:19

标签: azure azure-application-insights azure-logic-apps azure-api-apps azure-api-management

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

假设我们使用API​​ App在API Management中公开“创建案例”API端点。

API App可以完成一些工作,包括触发逻辑应用程序。

如何在所有各种Azure服务中查看请求的“流程”,以便单独“查看”特定案例的状态?

我只是说Application Insights因为我们在Web Apps / API应用程序中使用它,所以任何其他基于Azure的工具都很好

2 个答案:

答案 0 :(得分:4)

我们做什么:

  1. 在API Management入站策略中,我们创建了一个GUID(CorrelationId)
  2. 然后我们将HTTP标头传递给API后端或Message 通过服务总线队列/主题的属性
  3. API管理日志记录(包括CorrelationId)被推送到EventHub,然后使用Azure功能将其记录到AppInsights
  4. 处理队列等麻烦的所有API和函数也会记录到AppInsights
  5. 总结:可以记录到AppInsights的所有逻辑组件都使用CorrelationId并将其放入CustomDimensions。这样我们就可以跟踪请求所需的所有步骤。

答案 1 :(得分:0)

您可以使用Client Tracking Id

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