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

Ste*_*veC 2 azure azure-api-management azure-application-insights azure-logic-apps azure-api-apps

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

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

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

我如何才能看到请求在所有各种 Azure 服务中的“流程”,以提供特定案例状态的单一“视图”?

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

Kai*_*ter 5

我们所做的:

  1. 在 API 管理入站策略中,我们创建了一个 GUID(CorrelationId)
  2. 然后我们将其在 HTTP 标头中传递给 API 后端或通过服务总线队列/主题在消息属性中传递
  3. API 管理日志记录(包括 CorrelationId)被推送到 EventHub,然后使用 Azure Functions 记录到 AppInsights
  4. 处理队列等消息的所有 API 和函数也记录到 AppInsights

总之:所有可以登录到 AppInsights 的逻辑组件都将 CorrelationId 放入 CustomDimensions 中。通过这种方式,我们可以跟踪请求所采取的所有步骤。