当前位置: 首页 > 知识库问答 >
问题:

应用程序洞察支持Java的多环境

郏经纬
2023-03-14

由于我使用多个环境,我计划将App Insights检测键作为azure portal APP_SETTING的系统属性传递(java_opts值作为-dappInsight.instrumentation.Key=xxxxxxx)。

我添加了所需的Maven依赖项,并且我的src\main\resources\applicationinsights.xml的App Insight instrumentation键引用为:

<?xml version="1.0" encoding="utf-8"?>
<ApplicationInsights xmlns="http://schemas.microsoft.com/ApplicationInsights/2013/Settings" schemaVersion="2014-05-30">


  <!-- The key from the portal: -->

  <InstrumentationKey>${appinsight.instrumentation.key}</InstrumentationKey>


  <!-- HTTP request component (not required for bare API) -->

  <TelemetryModules>
    <Add type="com.microsoft.applicationinsights.web.extensibility.modules.WebRequestTrackingTelemetryModule"/>
    <Add type="com.microsoft.applicationinsights.web.extensibility.modules.WebSessionTrackingTelemetryModule"/>
    <Add type="com.microsoft.applicationinsights.web.extensibility.modules.WebUserTrackingTelemetryModule"/>
  </TelemetryModules>

  <!-- Events correlation (not required for bare API) -->
  <!-- These initializers add context data to each event -->

  <TelemetryInitializers>
    <Add   type="com.microsoft.applicationinsights.web.extensibility.initializers.WebOperationIdTelemetryInitializer"/>
    <Add type="com.microsoft.applicationinsights.web.extensibility.initializers.WebOperationNameTelemetryInitializer"/>
    <Add type="com.microsoft.applicationinsights.web.extensibility.initializers.WebSessionTelemetryInitializer"/>
    <Add type="com.microsoft.applicationinsights.web.extensibility.initializers.WebUserTelemetryInitializer"/>
    <Add type="com.microsoft.applicationinsights.web.extensibility.initializers.WebUserAgentTelemetryInitializer"/>

  </TelemetryInitializers>
</ApplicationInsights>

但不管用。当我直接硬编码密钥时,它起作用了。

在Spring中有没有具体的方法来引用系统属性以获取应用程序的洞察?

共有1个答案

章高爽
2023-03-14

配置文件中提供的检测键按原样使用,因此指定系统属性将无济于事。

虽然没有文档化,但AI Java SDK尝试按照以下顺序解析检测密钥:

  1. 系统属性:-dapplication_insights_ikey=your_ikey
  2. 环境变量:application_insights_ikey
  3. 配置文件:ApplicationInsights.xml。
 类似资料:
  • 有没有什么简单的方法可以找到哪些应用程序正在使用azure Portal的特定应用程序洞察? 我已经检查了门户中的各种选项,但没有找到任何易于理解的界面,我可以在其中找到正在向特定应用程序Insights发送数据的应用程序列表。

  • 我们为Azure Portal中托管的Web应用程序安装了应用程序Insights。

  • 我正在尝试配置我的azure ASP.NET网站,以便将log4net跟踪发送到azure Application Insights。我可以看到在我的azure控制台页面视图等,因此我知道这是工作良好的。当配置了文件处理程序时,我还可以看到log4net跟踪,但是当配置log4net以使用application insights处理程序时,我没有看到任何log4net条目出现在applicatio

  • 我怎么能看到它?在portal中,我发现了一个选项,可以看到会话计数,但不是持续时间。

  • 在运行.NET Core3.1控制台应用程序时,我正在尝试获取应用程序的见解,以便在azure批处理作业/任务中工作。 https://docs.microsoft.com/en-us/Azure/Batch/Monitor-Application-Insights https://docs.microsoft.com/en-us/Azure/Azure-monitor/app/worker-se

  • 我正在尝试将API请求负载和响应数据记录到Azure Application Insight。使用跟踪我可以记录。但是我想知道什么是将请求和响应数据记录到application Insight的最佳方法。因为数据是巨大的,所以API调用的数量会更多。我不能仅仅使用跟踪来跟踪数十万个请求和响应数据。我尝试了一些博客,比如使用itelemetryinitializer/httpcontext.feat