本文介紹了如何使用Azure CLI腳本將Azure應用程序洞察正確連接到App Service Spring應用程序?的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!
問題描述
我通過Azure應用程序服務和Azure CLI腳本托管了我的Spring Boot應用程序。此外,我還使用Azure CLI腳本在同一訂閱上部署了Azure應用程序洞察。我的下一步是僅使用az
命令和補充文件將App Insights與App Service連接。
我已經閱讀了this文檔,了解如何以無代碼方式連接App Insights。但看起來我仍然缺少很多指標,如請求、依賴項、異常等(盡管我在類路徑中有微指標)。應用程序洞察|搜索只有痕跡,所以我嘗試從Azure門戶網站連接它,它起作用了。這個集成重新啟動了我的應用程序,并產生了一些我不知道的魔力:
以下是我從Azure門戶連接App Insights之前和之后的圖像:
查看App Service的配置時,我發現了文檔中沒有描述的幾個新值:
{
"XDT_MicrosoftApplicationInsights_PreemptSdk": "disabled",
"XDT_MicrosoftApplicationInsights_Mode": "recommended",
"XDT_MicrosoftApplicationInsights_BaseExtensions": "disabled",
"SnapshotDebugger_EXTENSION_VERSION": "disabled",
"InstrumentationEngine_EXTENSION_VERSION": "disabled",
"DiagnosticServices_EXTENSION_VERSION": "~3",
"APPINSIGHTS_PROFILERFEATURE_VERSION": "1.0.0",
"APPINSIGHTS_INSTRUMENTATIONKEY": "key",
"APPINSIGHTS_SNAPSHOTFEATURE_VERSION": "1.0.0",
"ApplicationInsightsAgent_EXTENSION_VERSION": "~2"
}
因此我的問題是,我如何使用Azure CLI腳本模擬此按鈕,以便它對我的日志和指標產生完全相同的影響?&q;
推薦答案
在將JAR文件部署到App Services之前,請確保您在類路徑中具有與AI SDK的最新依賴關系。提供我的Gradle導入的依賴項集:
// Application Insights
implementation "com.microsoft.azure:applicationinsights-spring-boot-starter:$appInsightsVersion"
implementation "com.microsoft.azure:applicationinsights-logging-logback:$appInsightsVersion"
implementation 'com.microsoft.azure:azure-spring-boot-metrics-starter'
現在,在編譯應用程序后,可以使用此Azure CLI腳本將Application Insights連接到App Service:
az webapp config appsettings set
-n ${APP_NAME}
-g ${GROUP_NAME}
--settings
APPINSIGHTS_INSTRUMENTATIONKEY=${APPINSIGHTS_INSTRUMENTATIONKEY}
JAVA_OPTS="${APP_SERVICE_JAVA_OPTS}"
以下是我的VM環境變量:APP_SERVICE_JAVA_OPTS="-javaagent:/home/site/wwwroot/applicationinsights-agent.jar -Dserver.port=80"
如您所見,我有一個指向Applationinsights-agent.jar的路徑,這是我在部署過程中使用配置壓縮部署復制的JAR:
cp ./build/libs/app-0.0.1-SNAPSHOT.jar ./deploymentrepo/app.jar
cp ./build/resources/main/applicationinsights-agent*.jar ./deploymentrepo/applicationinsights-agent.jar
cp ./build/resources/main/ApplicationInsights.json ./deploymentrepo/ApplicationInsights.json
cd ./deploymentrepo
zip target.zip -r ./*
az webapp deployment source config-zip
--src target.zip
-n ${ANALYTICS_APP_NAME}
-g ${ANALYTICS_GROUP_NAME}
我的ApplicationInsights.json
看起來是這樣:
{
"instrumentationSettings": {
"preview": {
"roleName": "ApplicationName",
"heartbeat": {
"intervalSeconds": 60
},
"instrumentation": {
"logging": {
"threshold": "INFO"
},
"micrometer": {
"enabled": true
}
},
"selfDiagnostics": {
"destination": "file",
"directory": "/var/log/applicationinsights",
"level": "INFO",
"maxSizeMB": 10
}
}
}
}
這篇關于如何使用Azure CLI腳本將Azure應用程序洞察正確連接到App Service Spring應用程序?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,