2016-09-19 25 views
1

我們增加了應用程序洞察部署到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文件中的遙測鍵,但我想從應用程序設置以編程方式設置。

回答

1

根據此:https://azure.microsoft.com/en-us/documentation/articles/app-insights-dependencies/

爲了讓你要麼需要安裝狀態監視器或升級你的應用程序的.NET framework 4.6或更高版本的依賴關係。

+0

我升級了Net版本,現在我得到了依賴項調用。我從其他問題了解到,如果應用程序正在將sql查詢作爲文本(而不是存儲過程),則必須安裝狀態監視器。這應該安裝在數據庫服務器還是Web服務器上?如果答案是Web服務器,那麼在Azure Web App服務的情況下,我該如何解決? – MathiasR

+1

狀態監視器需要安裝在Web服務器上。對於Azure Web App Service,請轉到Web App Overview blade => Extensions => App Insights => install。 – ZakiMa

+0

我能夠以這種方式安裝App Insights,但現在我的報告顯示絕對沒有依賴關係調用。可能這是因爲我以編程方式設置了檢測密鑰,並且安裝的擴展需要遙測密鑰位於applicationinsights.config文件中? – MathiasR

0

還要檢查applicationinsights.config文件是否已複製到您的部署文件夾 - 即它在「複製到輸出目錄」屬性中標記爲「複製如果是新的」。我不認爲msbuild爲你做這件事。

相關問題