我們增加了應用程序洞察部署到Azure的Web應用程序服務的一個Asp.Net 4.5.1應用程序。它使用實體框架和SqlCommands來調用數據庫。應用Insights的應用地圖不顯示來電的依賴
應用程序見解添加了javascript和後端。 JavaScript跟蹤工作正常,可以從使用Fiddler跟蹤的調用和Azure門戶中顯示的報告數據中看到。
報告中還顯示對Web服務器的請求,但應用程序映射圖並未顯示從Web服務器到數據庫的任何依賴性調用,也沒有顯示任何其他依賴項。
ApplicationInsights.config是您從「創建新項目」中刪除但刪除了InstrumentationKey元素的標準應用程序。該儀器關鍵是在Global.asax中設置爲
Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration.Active.InstrumentationKey = applicationInsightsKey;
此外web配置包含
<system.web>
<httpHandlers>
<add path="CombineScriptsHandler.axd" verb="*" type="AjaxControlToolkit.CombineScriptsHandler, AjaxControlToolkit" />
</httpHandlers>
<httpModules>
<add name="ApplicationInsightsWebTracking" type="Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule, Microsoft.AI.Web" />
</httpModules>
...
<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
<remove name="ApplicationInsightsWebTracking" />
<add name="ApplicationInsightsWebTracking" type="Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule, Microsoft.AI.Web" preCondition="managedHandler" />
</modules>
如何從跟蹤Web服務器獲取數據庫查詢數據在AI?
更新
我升級的Web項目到.NET 4.6.1,並開始看到了一些依賴關係,但不是實際的SQL查詢文本。爲了解決這個問題,我通過Azure門戶在應用服務中安裝了AI狀態監視器擴展。從那以後,我看到了完全不依賴電話和ApplicationInsightsExtension.log包含:
2016年9月29日下午12時15分45秒:從d [放牧]裝載組件:\家\ SiteExtensions \ Microsoft.ApplicationInsights.AzureWebSites \ Microsoft.ApplicationInsights.WebSiteManager.dll
2016/9/29 12:15:45 PM:[詳細]啓動Application Insights安裝和配置...
9/29/2016 12:15:46 PM:[Verbose ]從D:\ home \ SiteExtensions \ Microsoft.ApplicationInsights.AzureWebSites \ Microsoft.ApplicationInsights.WebSiteManager.dll加載程序集
9/29/2016 12:15:46 PM:[詳細]啓動應用程序Insights Profiler配置...
9/29/2016 12:15:46 PM:[詳細]當前處理器架構:x86
9/29/2016 12:15:46 PM:[詳細]開始下載/安裝'Microsoft.ApplicationInsights.Agent_x86 'nuget package from D:\ home \ SiteExtensions \ Microsoft.ApplicationInsights.AzureWebSites \ appinsights ...
9/29/2016 12:15:46 PM,[詳細]安裝'Microsoft.ApplicationInsights.Agent_x86',版本'2.0 0.0' ...
2016年9月29日下午12點15分47秒,[冗長]安裝 'Microsoft.ApplicationInsights.Agent_x86',版本 '2.0.0'。
2016年9月29日下午12點15分47秒:「Microsoft.ApplicationInsights.Agent_x86」 NuGet包下載的[冗長]結束/安裝。
9/29/2016 12:15:47 PM:[Verbose]準備從D:\ home \ SiteExtensions \ Microsoft.ApplicationInsights.AzureWebSites \ Packages \ Microsoft.ApplicationInsights.Agent_x86.2.0.0 \ content \ RTIA複製文件\ x86到D:\ home \ SiteExtensions \ Microsoft.ApplicationInsights.AzureWebSites \ Agent
9/29/2016 12:15:47 PM:[詳細] Microsoft.ApplicationInsights.Extensions.Base_x86.dll.Name被複制。
9/29/2016 12:15:47 PM:[詳細] Microsoft.ApplicationInsights.ExtensionsHost_x86.dll.Name已被複制。
9/29/2016 12:15:47 PM:[詳細] Microsoft.Diagnostics.Instrumentation.Extensions.Base.dll.Name被複制。
9/29/2016 12:15:47 PM:[詳細] Microsoft.InstrumentationEngine.Extensions.config.Name被複制。
9/29/2016 12:15:47 PM:[詳細] MicrosoftInstrumentationEngine_x86.dll.Name被複制。
9/29/2016 12:15:47 PM:[詳細]應用程序Insights Profiler配置結束。
9/29/2016 12:15:47 PM:[Verbose]從D:\ home \ site \ wwwroot \ ApplicationInsights.config加載配置
2016/9/29 12:15:47 PM:[詳細]應用程序已經安裝了Application Insights版本:2.1.0.0
9/29/2016 12:15:47 PM:[詳細]應用程序Insights安裝和配置結束。
那麼我怎麼能得到與sql查詢文本日誌的依賴關係日誌?
我有一個預感,如果我有applicationinsights.config文件中的遙測鍵,但我想從應用程序設置以編程方式設置。
我升級了Net版本,現在我得到了依賴項調用。我從其他問題了解到,如果應用程序正在將sql查詢作爲文本(而不是存儲過程),則必須安裝狀態監視器。這應該安裝在數據庫服務器還是Web服務器上?如果答案是Web服務器,那麼在Azure Web App服務的情況下,我該如何解決? – MathiasR
狀態監視器需要安裝在Web服務器上。對於Azure Web App Service,請轉到Web App Overview blade => Extensions => App Insights => install。 – ZakiMa
我能夠以這種方式安裝App Insights,但現在我的報告顯示絕對沒有依賴關係調用。可能這是因爲我以編程方式設置了檢測密鑰,並且安裝的擴展需要遙測密鑰位於applicationinsights.config文件中? – MathiasR