MS Azure 中的多租户应用程序洞察

Multi-Tenant Application Insights in MS Azure

我正在将 Microsoft 的 Application Insights 添加到我们的主要应用程序中。虽然这一切进展顺利,但我还需要找出一种方法来进一步细分每个客户(SaaS 产品)的指标。

页面浏览量、唯一用户数、访问量等列为站点总数。我们希望能够在不显示来自客户 B 的数据的情况下查看客户 A 的页面浏览量。

我找到了 TrackEvent 选项,它需要构建一个复合事件,不仅需要客户端,还需要页面。我想知道是否有人知道一种方法可以向 TrackPageView 调用添加额外的数据以减轻一些额外的开销,因为我们已经在跟踪页面浏览量。

提前感谢您的任何想法。

您可以将自定义属性和指标附加到所有遥测类型,如文档中所述:http://azure.microsoft.com/en-us/documentation/articles/app-insights-custom-events-metrics-api/#properties

我们还需要在多租户应用程序中使用 AI,但我们希望查看对应于哪些租户数据点,并且我们还希望允许租户拥有自己的 AI 配置(除了应用程序范围内的一个).

我们使用设置租户名称的自定义 ITelemetryInitializer 解决了第一个问题。我们自己通过实例化 TelemetryConfigurationTelemetryClient 解决了第二个要求(使用来自数据库的检测密钥)。

有关 Orchard CMS 模块的完整代码,请参阅:http://orchardazureappinsights.codeplex.com/

如今,Application Insights 提供标准属性来跟踪经过身份验证的用户 ID 及其租户。用于租户跟踪的 属性 称为 AccountId

更多信息可以在官方文档中找到: