首页 > 解决方案 > 一台应用程序服务器 (Wildfly) 中的许多应用程序指向 Microsoft Application Insights 中的多个检测键

问题描述

我一直在为我的应用程序洞察环境设置寻找解决方案。

我在同一台服务器上部署了 3 个应用程序,我将它们称为 App A、B、C 和服务器 A。

我想使用 3 个不同的应用程序洞察键分别从代理为每个应用程序生成指标。

查看环境设置

在 applicationinsights.json 中是否有一些配置要做?或者代理是否对每个 Wildfly 实例使用一个密钥?

谢谢。

PS:我在应用程序配置中执行了此操作(调用遥测并设置密钥),但这样我无法获得实时指标,只能获得内部 java 调用。

谢谢。

标签: javawildflyazure-application-insights

解决方案


您必须按照以下步骤更改一些配置:

遥测的目的地由与每条遥测消息一起发送的检测密钥 (iKey) 确定。

iKey 出现在项目中的两个位置。一个在ApplicationInsights.config 中: <InstrumentationKey>94843456-2345-3456-4567-324562759284</InstrumentationKey>

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

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

注意:请记住将web.config中的 iKey 替换为您的应用程序 iKey。

要为每个应用设置多个 App Insights 资源,请执行以下步骤:

  1. 将 Application Insights 添加到项目时,将资源组设置为 DEV: 在此处输入图像描述

  2. 为每个应用程序创建两个额外的 Application Insights 资源,并将它们放在名为 STAGING 和 PRODUCTION 的资源组中。 在此处输入图像描述

  3. 为您的应用程序获取每个资源的 iKey。若要在 Application Insights 门户中找到它,请打开“属性”。 在此处输入图像描述 您只需更改 iKey 在应用程序代码中的任何位置。要在应用程序的不同位置更改 iKey,如下所述:

  4. 在Web.config中添加 iKey 作为属性: 在此处输入图像描述

  5. 我们将在代码中设置它,而不是使用 ApplicationInsights.config 中的 iKey。在 global.asax.cs 中: 在此处输入图像描述 为避免混淆,请从 ApplicationInsights.config 中删除节点

  6. 配置网页以获取相同的 iKey 配置。这是通常在 ViewShared_Layout.cshtml 中找到的脚本。 在此处输入图像描述

  7. 不要忘记在部署过程中使用适当的 iKey 配置更新您的 Web.config。


推荐阅读