Application Insights Connector 管理解決方案 (取代)
注意
因為跨資源查詢的支援,已不再需要 Application Insights Connector 管理解決方案。 此方案已被取代,並從 Azure Marketplace 中移除,連同 Azure 商業雲端的 OMS 入口網站也於 2019 年 1 月 15 日正式被取代。 Azure 美國政府雲端將於 2019 年 3 月 30 日淘汰該服務。
現有的連線將繼續運作,直到 2019 年 6 月 30 日為止。 隨著 OMS 入口網站被淘汰,將無法從入口網站設定及移除現有連線。 請參閱下方的使用 PowerShell 移除連接器,了解使用 PowerShell 來移除現有連線的指令碼。
如需查詢多個應用程式的 Application Insights 記錄資料的指引,請參閱整合多個 Azure 監視器 Application Insights 資源。 如需 OMS 入口網站被取代的詳細資訊,請參閱移至 Azure 的 OMS 入口網站。
Applications Insights Connector 解決方案可協助您診斷效能問題,以及了解使用者如何使用 Application Insights 監視您的應用程式。 在 Log Analytics 中可使用開發人員在 Application Insights 中看見的相同應用程式遙測檢視。 不過,在整合 Application Insights 應用程式與 Log Analytics 時,將作業與應用程式資料放在一個地方可提高您應用程式的可見性。 具有相同的檢視,可協助您與您的應用程式開發人員共同作業。 常見的檢視可協助減少偵測及解決應用程式和平台問題的時間。
當您使用解決方案時,您可以:
- 在一個地方檢視所有 Application Insights 應用程式,即使它們位於不同的 Azure 訂用帳戶中
- 讓基礎結構資料與應用程式資料相互關聯
- 在記錄搜尋中以檢視方塊將應用程式資料視覺化
- 在 Azure 入口網站中將 Log Analytics 資料轉換到 Application Insights 應用程式
注意
建議您使用 Azure Az PowerShell 模組來與 Azure 互動。 請參閱安裝 Azure PowerShell 以開始使用。 若要瞭解如何遷移至 Az PowerShell 模組,請參閱將 Azure PowerShell 從 AzureRM 遷移至 Az。
連接的來源
不同於大部分其他 Log Analytics 解決方案,代理程式不會收集 Application Insights Connector 的資料。 解決方案使用的所有資料直接來自於 Azure。
連接的來源 | 支援 | 描述 |
---|---|---|
Windows 代理程式 | 否 | 解決方案不會收集來自 Windows 代理程式的資訊。 |
Linux 代理程式 | 否 | 解決方案不會收集來自 Linux 代理程式的資訊。 |
SCOM 管理群組 | 否 | 解決方案不會收集來自連線 SCOM 管理群組的代理程式之中的資訊。 |
Azure 儲存體帳戶 | 否 | 解決方案不會收集來自 Azure 儲存體的資訊。 |
先決條件
- 若要存取 Application Insights Connector 資訊,您必須具有 Azure 訂用帳戶
- 您必須至少有一個已設定的 Application Insights 資源。
- 您必須是 Application Insights 資源的擁有者或參與者。
組態
- 從 Azure Marketplace 或使用從方案庫新增 Log Analytics 方案中所述的程序,啟用 Azure Web Apps 分析解決方案。
- 瀏覽至 Azure 入口網站。 選取 [所有服務] 來開啟 Application Insights。 然後,搜尋 Application Insights。
- 在 [訂用帳戶] 之下,選取擁有 Application Insights 資源的訂用帳戶,然後在 [名稱] 之下,選取一或多個應用程式。
- 按一下 [儲存]。
大約 30 分鐘內,資料就會變成可用,而且 Application Insights 圖格資料會更新,如下圖所示:
要牢記在心的其他幾點:
- 您只可以將 Application Insights 應用程式連結至一個 Log Analytics 工作區。
- 您只可以將 Basic 或 Enterprise Application Insights 資源連結至 Log Analytics。 不過,您可以使用 Log Analytics 的免費層。
管理組件
此解決方案不會在已連線的管理群組中安裝任何管理組件。
使用解決方案
下列各節說明如何使用ApplicationInsights儀錶板中顯示的區段來檢視及與應用程式的數據互動。
檢視 Application Insights Connector 資訊
單擊 [Application Insights ] 圖格以開啟 Application Insights 儀錶板,以查看下列各節。
儀錶板包含表格中顯示的區段。 每個區段最多會列出符合指定範圍和時間範圍之區段準則的10個專案。 當您按下區段底部的 [ 全部檢視 ] 或按下區段標頭時,您可以執行傳回所有記錄的記錄搜尋。
資料行 | 說明 |
---|---|
應用程式 - 應用程式的數目 | 顯示 [應用程式] 資源中的應用程式數目。 也會列出應用程式名稱以及各自的應用程式記錄計數。 按一下此數字可執行記錄搜尋,以搜尋 ApplicationInsights | summarize AggregatedValue = sum(SampledCount) by ApplicationName 按一下應用程式名稱,可執行應用程式的記錄搜尋,以顯示每個主機的應用程式記錄、各遙測類型的記錄,以及各類型的所有資料 (以最後一天為基礎)。 |
資料量 - 傳送資料的主機 | 顯示傳送資料的電腦主機數目。 也會列出電腦主機和每部主機的記錄計數。 按一下此數字可執行記錄搜尋,以搜尋 ApplicationInsights | summarize AggregatedValue = sum(SampledCount) by Host 按一下電腦名稱,可執行主機的記錄搜尋,以顯示每個主機的應用程式記錄、各遙測類型的記錄,以及各類型的所有資料 (以最後一天為基礎)。 |
可用性 – Webtest 結果 | 顯示 Web 測試結果的環圈圖,指出成功或失敗。 按一下該圖表可執行記錄搜尋,以搜尋 ApplicationInsights | where TelemetryType == "Availability" | summarize AggregatedValue = sum(SampledCount) by AvailabilityResult 結果會顯示所有測試的通過和失敗數目。 它會顯示過去一分鐘有流量的所有 Web Apps。 按一下應用程式名稱,以檢視可顯示失敗 Web 測試詳細資料的記錄搜尋。 |
伺服器要求 – 每小時的要求 | 顯示各種應用程式每小時的伺服器要求折線圖。 將滑鼠移至圖表中的一條線上,可查看在某個時間點接收最多要求的前 3 個應用程式。 也會顯示在所選期間內接收要求的應用程式清單和要求數目。 按一下圖表可執行記錄搜尋,以搜尋 ApplicationInsights | where TelemetryType == "Request" | summarize AggregatedValue = sum(SampledCount) by ApplicationName, bin(TimeGenerated, 1h) 結果會顯示各種應用程式每小時的伺服器要求折線圖。 按一下清單中的應用程式可執行記錄搜尋,以搜尋 ApplicationInsights | where ApplicationName == "yourapplicationname" and TelemetryType == "Request" and iff(isnotnull(toint(RequestSuccess)), RequestSuccess == false, RequestSuccess == "false") == true 結果會顯示要求清單、不同時間和要求期間的要求圖表,以及要求回應碼的清單。 |
失敗 – 每小時失敗的要求 | 顯示每小時失敗的應用程式要求折線圖。 將滑鼠移至圖表上,可查看在某個時間點具有最多失敗要求的前 3 個應用程式。 也會顯示詳列失敗要求數目的應用程式清單。 按一下圖表可執行記錄搜尋,以搜尋 ApplicationInsights | where TelemetryType == "Request" and iff(isnotnull(toint(RequestSuccess)), RequestSuccess == false, RequestSuccess == "false") == true | summarize AggregatedValue = sum(SampledCount) by ApplicationName, bin(TimeGenerated, 1h) 結果會顯示更詳細的失敗應用程式要求折線圖。 按一下清單中的項目可執行記錄搜尋,取得 ApplicationInsights | where ApplicationName == "yourapplicationname" and TelemetryType == "Request" and iff(isnotnull(toint(RequestSuccess)), RequestSuccess == false, RequestSuccess == "false") == true ,這會顯示失敗的要求、一段時間或要求持續時間的失敗要求圖表,及失敗要求回應碼的清單。 |
例外狀況 – 每小時的例外狀況 | 顯示每小時的例外狀況折線圖。 將滑鼠移至圖表上,可查看在某個時間點具有最多例外狀況的前 3 個應用程式。 也會顯示詳列例外狀況數目的應用程式清單。 按一下圖表可執行記錄搜尋,以搜尋 ApplicationInsights | where TelemetryType == "Exception" | summarize AggregatedValue = sum(SampledCount) by ApplicationName, bin(TimeGenerated, 1h) 結果會顯示更詳細的例外狀況折線圖。 按一下清單中的項目可執行記錄搜尋,以搜尋 ApplicationInsights | where ApplicationName == "yourapplicationname" and TelemetryType == "Exception" 結果會顯示例外狀況清單、不同時間的例外狀況和失敗要求圖表,以及例外狀況類型的清單。 |
透過記錄搜尋來檢視 Application Insights 檢視方塊
當您按一下儀表板中的任何項目時,您會看到搜尋中顯示的 Application Insights 檢視方塊。 此檢視方塊會根據所選的遙測類型提供延伸視覺效果。 因此,視覺效果內容會隨著不同的遙測類型而改變。
當您按下 [應用程式] 區段中的任何位置時,您會看到預設 的 [應用程式 ] 檢視方塊。
此檢視方塊會顯示您所選取的應用程式概觀。
[可用性] 區段會顯示不同的檢視方塊檢視,您可以在其中查看 Web 測試結果和相關失敗的要求。
當您按兩下 [ 伺服器要求 ] 或 [ 失敗 ] 區段中的任何位置時,檢視方塊元件會變更,以提供與要求相關的視覺效果。
當您按兩下 [例外狀況 ] 區段中的任何位置時,您會看到專為例外狀況量身打造的視覺效果。
不論您按一下 [Application Insights Connector] 儀表板上的某個項目,或按一下 [搜尋] 頁面本身,任何傳回 Application Insights 資料的查詢都會顯示 Application Insights 檢視方塊。 例如,如果您正在檢視 Application Insights 資料,* 查詢也會顯示如下圖所示的檢視方塊索引標籤:
檢視方塊元件會根據搜尋查詢進行更新。 這表示您可以使用任何搜尋欄位來篩選結果,以便您查看下列各項的資料:
- 所有應用程式
- 單一選取的應用程式
- 應用程式群組
在 Azure 入口網站中轉換至應用程式
Application Insights 連接器區段的設計目的是讓您在使用 Azure 入口網站 時,能夠樞紐至選取的 Application Insights 應用程式。 您可以使用此解決方案作為高階監視平台,協助您針對應用程式進行疑難排解。 當您在任何已連線的應用程式中看到潛在問題時,您可以在 Log Analytics 搜尋中深入探詢,也可以直接轉換至 Application Insights 應用程式。
若要轉換,按一下出現在每行結尾的省略符號 (...),然後選取 [在 Application Insights 中開啟]。
注意
[在 Application Insights 中開啟] 無法使用於 Azure 入口網站。
取樣更正資料
Application Insights 提供取樣更正來協助減少遙測流量。 當您在 Application Insights 應用程式上啟用取樣功能時,您取得之 Application Insights 和 Log Analytics 中儲存的項目數會減少。 雖然資料一致性會保留在 [Application Insights Connector] 頁面和檢視方塊中,您應針對您的自訂查詢手動更正取樣的資料。
在記錄搜尋查詢中取樣更正的範例如下:
ApplicationInsights | summarize AggregatedValue = sum(SampledCount) by TelemetryType
[取樣計數] 欄位會存在所有項目中,並且顯示項目所代表的資料點數目。 如果您開啟 Application Insights 應用程式的取樣功能,[取樣計數] 會大於 1。 若要計算應用程式所產生的實際項目數,請加總 [取樣計數] 欄位。
取樣只會影響應用程式產生的項目總數。 您不需更正 RequestDuration 或 AvailabilityDuration 等計量欄位的取樣,因為這些欄位會顯示表示項目的平均值。
輸入資料
解決方案會從已連線的 Application Insights 應用程式收到下列類型的遙測資料:
- 可用性
- 例外狀況
- Requests
- 頁面檢視 – 為了讓工作區接收頁面檢視,您必須設定您的應用程式來收集該資訊。 如需詳細資訊,請參閱 PageViews。
- 自訂事件 – 為了讓工作區接收訂事件,您必須設定您的應用程式來收集該資訊。 如需詳細資訊,請參閱 TrackEvent。
資料可用時,是由 Log Analytics 從 Application Insights 接收。
輸出資料
對於每種類型的輸入資料,系統會建立「類型」 為 ApplicationInsights 的記錄。 ApplicationInsights 記錄有下列各節所示的屬性:
一般欄位
屬性 | 描述 |
---|---|
類型 | ApplicationInsights |
ClientIP | |
TimeGenerated | 記錄的時間 |
ApplicationId | Application Insights 應用程式的檢測金鑰 |
ApplicationName | Application Insights 應用程式的名稱 |
RoleInstance | 伺服器主機的識別碼 |
DeviceType | 用戶端裝置 |
ScreenResolution | |
Continent | 要求的起源洲 |
國家 | 要求的來源國家/地區 |
Province | 要求的起源省、州或地區設定 |
City | 要求的起源城市或鄉鎮 |
isSynthetic | 指出要求是由使用者或自動化方法建立。 True = 自動化方法 或 false = 由使用者產生 |
SamplingRate | 由傳送至入口網站之 SDK 所產生的遙測百分比。 範圍 0.0-100.0。 |
SampledCount | 100/(SamplingRate)。 例如,4 => 25% |
IsAuthenticated | True 或 False |
OperationID | 具有相同作業識別碼的項目會在入口網站中顯示為相關項目。 通常要求識別碼 |
ParentOperationID | 父代作業的識別碼 |
OperationName | |
SessionId | 用來唯一識別建立要求之工作階段的 GUID |
SourceSystem | ApplicationInsights |
可用性專屬欄位
屬性 | 描述 |
---|---|
TelemetryType | 可用性 |
AvailabilityTestName | Web 測試的名稱 |
AvailabilityRunLocation | http 要求的地理區域來源 |
AvailabilityResult | 指出 Web 測試的成功結果 |
AvailabilityMessage | 附加至 Web 測試的訊息 |
AvailabilityCount | 100/(Sampling Rate)。 例如,4 => 25% |
DataSizeMetricValue | 1.0 或 0.0 |
DataSizeMetricCount | 100/(Sampling Rate)。 例如,4 => 25% |
AvailabilityDuration | Web 測試的持續時間 (毫秒) |
AvailabilityDurationCount | 100/(Sampling Rate)。 例如,4 => 25% |
AvailabilityValue | |
AvailabilityMetricCount | |
AvailabilityTestId | Web 測試的唯一 GUID |
AvailabilityTimestamp | 可用性測試的精確時間戳記 |
AvailabilityDurationMin | 對於取樣記錄,此欄位會顯示代表性資料點的最小 Web 測試持續時間 (毫秒) |
AvailabilityDurationMax | 對於取樣記錄,此欄位會顯示代表性資料點的最大 Web 測試持續時間 (毫秒) |
AvailabilityDurationStdDev | 對於取樣記錄,此欄位會顯示代表性資料點的所有 Web 測試持續時間 (毫秒) 之間的標準差 |
AvailabilityMin | |
AvailabilityMax | |
AvailabilityStdDev |
例外狀況專屬欄位
類型 | ApplicationInsights |
---|---|
TelemetryType | 例外狀況 |
ExceptionType | 例外狀況的類型 |
ExceptionMethod | 建立例外狀況的方法 |
ExceptionAssembly | 組件包含架構和版本,以及公開金鑰權杖 |
ExceptionGroup | 例外狀況的類型 |
ExceptionHandledAt | 指出處理此例外狀況的層級 |
ExceptionCount | 100/(Sampling Rate)。 例如,4 => 25% |
ExceptionMessage | 例外狀況的訊息 |
ExceptionStack | 例外狀況的完整堆疊 |
ExceptionHasStack | 如果例外狀況有一個堆疊,則為 True |
要求專屬欄位
屬性 | 描述 |
---|---|
類型 | ApplicationInsights |
TelemetryType | 要求 |
ResponseCode | 傳送至用戶端的 HTTP 回應 |
RequestSuccess | 指出成功或失敗。 true 或 false。 |
RequestID | 用以唯一識別要求的識別碼 |
RequestName | GET/POST + URL 基底 |
RequestDuration | 要求的持續時間 (秒) |
URL | 要求 URL (不包括主機) |
Host | Web 伺服器主機 |
URLBase | 要求的完整 URL |
ApplicationProtocol | 應用程式所使用的通訊協定類型 |
RequestCount | 100/(Sampling Rate)。 例如,4 => 25% |
RequestDurationCount | 100/(Sampling Rate)。 例如,4 => 25% |
RequestDurationMin | 對於取樣記錄,此欄位會顯示代表性資料點的最小要求持續時間 (毫秒)。 |
RequestDurationMax | 對於取樣記錄,此欄位會顯示代表性資料點的最大要求持續時間 (毫秒) |
RequestDurationStdDev | 對於取樣記錄,此欄位會顯示代表性資料點的所有要求持續時間 (毫秒) 之間的標準差 |
記錄搜尋範例
此解決方案並沒有一組顯示在儀表板上的範例記錄搜尋。 不過,檢視 Application Insights Connector 資訊一節會顯示範例記錄搜尋查詢及說明。
使用 PowerShell 移除連接器
隨著 OMS 入口網站被淘汰,將無法從入口網站設定及移除現有連線。 您可以使用下列 PowerShell 指令碼來移除現有連線。 您必須是擁有者或工作區的參與者和 Application Insights 資源的讀者,才能執行此作業。
$Subscription_app = "App Subscription Name"
$ResourceGroup_app = "App ResourceGroup"
$Application = "Application Name"
$Subscription_workspace = "Workspace Subscription Name"
$ResourceGroup_workspace = "Workspace ResourceGroup"
$Workspace = "Workspace Name"
Connect-AzAccount
Set-AzContext -SubscriptionId $Subscription_app
$AIApp = Get-AzApplicationInsights -ResourceGroupName $ResourceGroup_app -Name $Application
Set-AzContext -SubscriptionId $Subscription_workspace
Remove-AzOperationalInsightsDataSource -WorkspaceName $Workspace -ResourceGroupName $ResourceGroup_workspace -Name $AIApp.Id
您可以使用下列 PowerShell 指令碼叫用 REST API 呼叫以擷取應用程式清單。
Connect-AzAccount
$Tenant = "TenantId"
$Subscription_workspace = "Workspace Subscription Name"
$ResourceGroup_workspace = "Workspace ResourceGroup"
$Workspace = "Workspace Name"
$AccessToken = "AAD Authentication Token"
Set-AzContext -SubscriptionId $Subscription_workspace
$LAWorkspace = Get-AzOperationalInsightsWorkspace -ResourceGroupName $ResourceGroup_workspace -Name $Workspace
$Headers = @{
"Authorization" = "Bearer $($AccessToken)"
"x-ms-client-tenant-id" = $Tenant
}
$Connections = Invoke-RestMethod -Method "GET" -Uri "https://management.azure.com$($LAWorkspace.ResourceId)/dataSources/?%24filter=kind%20eq%20'ApplicationInsights'&api-version=2015-11-01-preview" -Headers $Headers
$ConnectionsJson = $Connections | ConvertTo-Json
此指令碼需要持有人驗證權杖,以便對 Azure Active Directory 進行驗證。 擷取此權杖的其中一個方法是使用 REST API 文件網站中的發行項。 按一下 [試用] 並登入您的 Azure 訂用帳戶。 您可以從 [要求預覽] 複製持有人權杖,如下圖所示。
您也可以擷取使用記錄查詢的應用程式清單:
ApplicationInsights | summarize by ApplicationName
後續步驟
- 使用記錄搜尋來檢視 Application Insights 應用程式的詳細資訊。