私はAzure上でJava webapp(Mavenビルドを使用したSpring Webapp)を構築し、Application Insightsを使用して監視しています。参照リンクhttps://azure.microsoft.com/en-us/documentation/articles/app-insights-java-get-started/を使用しました。Application InsightsはJava用の複数の環境をサポートしています
私は複数の環境を使用しているので、私はAzureポータルAPP_SETTING(JAVA_OPTS
の値は-Dappinsight.instrumentation.key=xxxxxxx
)からシステムプロパティとしてApp Insights計測キーを渡す予定でした。
私は必要なMavenの依存関係を追加した、私のsrc\main\resources\ApplicationInsights.xml
は通りのAppインサイト計装キーの参照を持っています
<?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のApplication Insightのシステムプロパティを参照する具体的な方法はありますか?
完璧、ありがとう! – Satheesh