Azure网站应用程序洞察 - 切换配置

Bre*_*een 21 azure azure-web-sites azure-application-insights

我有一个Azure网站.为了这个问题,网站的生产版本运行example.com,并运行网站的测试版本sandbox.example.com.

两者之间的唯一区别是它们具有不同的配置.

目前,他们在不同的网站上运行,我通过git将相同的网站部署到每个azure网站.

我想分离出Application Insights数据.是否存在任何人使用的技术或流程 - 除了ApplicationInsights.config在部署后在沙箱环境中编辑文件?

或者使用部署槽以某种方式处理这个?

Joh*_*ner 35

今天有一篇关于这个问题的新博文:Application Insights支持多种环境,邮票和应用版本.

遥测的目的地由仪表键(iKey)确定,仪表键与每个遥测消息一起发送.在Application Insights门户中,聚合了具有相同iKey的类似事件和指标,以提供平均持续时间,事件计数,用户总数等图表.iKey出现在项目的两个位置.一个在ApplicationInsights.config: <InstrumentationKey>94843456-2345-3456-4567-324562759284</InstrumentationKey>

如果您的应用程序有网页,iKey也会出现在每个网页头部的脚本中.通常,它只在母版页中编码一次,例如Views\Shared\_Layout.cshtml.

要将遥测指向不同的应用程序资源,我们可以使用不同的iKeys创建多个资源.然后,我们只需要在其生命周期的每次转换中更改应用程序中的iKeys - 以及连接字符串,证书和订阅等其他配置数据.

然后文章继续讨论如何在代码,配置等中执行此操作:

1)iKeyWeb.config以下位置添加属性:

2)我们将在代码中设置它,而不是使用iKeyfrom ApplicationInsights.config.在global.asax.cs.

为避免混淆,请<InstrumentationKey>从中删除节点 ApplicationInsights.config.

3)配置要拾取的网页 instrumentationKey: "@Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration.Active.InstrumentationKey".这是通常在的脚本View\Shared\_Layout.cshtml.

4)不要忘记 在部署过程中Web.config使用适当的iKey配置更新您的.您可能会设计一种方法来将其设置为构建的一部分,但我会留给您.