java - 一台应用程序服务器 (Wildfly) 中的许多应用程序指向 Microsoft Application Insights 中的多个检测键
问题描述
我一直在为我的应用程序洞察环境设置寻找解决方案。
我在同一台服务器上部署了 3 个应用程序,我将它们称为 App A、B、C 和服务器 A。
我想使用 3 个不同的应用程序洞察键分别从代理为每个应用程序生成指标。
在 applicationinsights.json 中是否有一些配置要做?或者代理是否对每个 Wildfly 实例使用一个密钥?
谢谢。
PS:我在应用程序配置中执行了此操作(调用遥测并设置密钥),但这样我无法获得实时指标,只能获得内部 java 调用。
谢谢。
解决方案
您必须按照以下步骤更改一些配置:
遥测的目的地由与每条遥测消息一起发送的检测密钥 (iKey) 确定。
iKey 出现在项目中的两个位置。一个在ApplicationInsights.config 中: <InstrumentationKey>94843456-2345-3456-4567-324562759284</InstrumentationKey>
如果您的应用程序有网页,则 iKey 也会出现在每个网页头部的脚本中。通常它只在母版页中编码一次,例如ViewsShared_Layout.cshtml
要将遥测指向不同的应用程序资源,我们可以创建具有不同 iKey 的多个资源。然后,我们只需在应用程序生命周期的每次转换中更改 iKey 以及其他配置数据,例如连接字符串、证书和订阅。
注意:请记住将web.config中的 iKey 替换为您的应用程序 iKey。
要为每个应用设置多个 App Insights 资源,请执行以下步骤:
为每个应用程序创建两个额外的 Application Insights 资源,并将它们放在名为 STAGING 和 PRODUCTION 的资源组中。
为您的应用程序获取每个资源的 iKey。若要在 Application Insights 门户中找到它,请打开“属性”。 您只需更改 iKey 在应用程序代码中的任何位置。要在应用程序的不同位置更改 iKey,如下所述:
在Web.config中添加 iKey 作为属性:
我们将在代码中设置它,而不是使用 ApplicationInsights.config 中的 iKey。在 global.asax.cs 中: 为避免混淆,请从 ApplicationInsights.config 中删除节点
配置网页以获取相同的 iKey 配置。这是通常在 ViewShared_Layout.cshtml 中找到的脚本。
不要忘记在部署过程中使用适当的 iKey 配置更新您的 Web.config。
推荐阅读
- react-admin - 如何在 React-Admin 中更改 SaveButton 图标
- angular - 我应该如何打包一个 Angular 组件以在不同的解决方案中共享?
- node.js - Dynamo - batchGet 返回空
- html - 避免 HTML 表格溢出
- php - 我无法在我的 WordPress 帖子中添加媒体(图片)
- c++ - 模板类未特化时为模板类的模板成员函数编写特化的解决方法
- c++ - 如果是来自特定基类的派生类,如何强制转换
- python - 遍历 PyMongo 游标抛出 InvalidBSON: year is out of range
- javascript - html/javascript 如何知道属性是布尔值而不是字符串
- javascript - 未知数量的承诺取决于先前承诺的结果?