Application Insights 概觀

Application Insights 是 Azure 監視器 的延伸模組,可提供應用程式效能監視 (也稱為「APM」) 功能。 APM 工具很適合用來監視應用程式從開發、透過測試,以及以下列方式進入生產環境:

  1. 主動 瞭解應用程式的執行方式。
  2. 以回應方式 檢閱應用程式執行資料,以判斷事件的原因。

除了收集 計量 和應用程式 遙測 資料之外,還描述應用程式活動和健康情況,Application Insights 也可用來收集和儲存應用程式 追蹤記錄資料

記錄追蹤會與其他遙測相關聯,以提供活動的詳細檢視。 將追蹤記錄新增至現有的應用程式只需要提供記錄的目的地;記錄架構很少需要變更。

Application Insights 提供其他功能,包括但不限於:

  • 即時計量 – 即時觀察已部署應用程式的活動,而不會影響主機環境
  • 可用性 – 也稱為「綜合交易監視」,探查您的應用程式外部端點 () ,以測試一段時間的整體可用性和回應性
  • GitHub 或 Azure DevOps 整合 – 在 Application Insights 資料的內容中建立 GitHubAzure DevOps 工作專案
  • 使用 方式 – 瞭解哪些功能是使用者的熱門功能,以及使用者如何互動及使用您的應用程式
  • 智慧型偵測 – 透過主動式遙測分析自動失敗和異常偵測

此外,Application Insights 也支援 分散式追蹤,也稱為「分散式元件相互關聯」。 此功能允許 搜尋視覺化 指定執行或交易的端對端流程。 追蹤工作端對端的能力對於已建置為分散式元件或 微服務的應用程式而言,越來越重要。

應用程式對應允許應用程式架構的高階由上而下檢視,以及元件健康情況和回應性的一目了然視覺效果參考。

若要瞭解涵蓋應用程式或跨環境元件所需的 Application Insights 資源數目,請參閱 Application Insights 部署規劃指南

如何使用 Application Insights?

Application Insights 可透過 自動檢測 (代理程式) 或將 Application Insights SDK 新增至應用程式程式碼來啟用。 支援許多語言 ,而且應用程式可能位於 Azure、內部部署或由另一個雲端裝載。 若要找出哪種類型的檢測最適合您,請參考如何?檢測應用程式?

Application Insights 代理程式或 SDK 會先預先處理遙測和計量,再將資料傳送至 Azure,再將資料擷取並進一步處理,然後再儲存在 Azure 監視器記錄 (Log Analytics) 。 基於這個理由,必須使用 Azure 帳戶才能使用 Application Insights。

開始使用 Application Insights 最簡單的方式是透過Azure 入口網站和內建的視覺體驗。 進階使用者可以直接查詢基礎資料,以透過 Azure 監視器儀表板和活頁簿建置自訂視覺效果。

請考慮從高階檢視 的應用程式對應 開始。 使用 搜尋 體驗,依類型和日期時間快速縮小遙測和資料範圍,或在資料內搜尋 (例如記錄追蹤) ,並篩選為特定相互關聯的作業。

使用 效能檢視 跳到分析 – 深入瞭解您的應用程式或 API 和下游相依性如何執行,並尋找代表性範例來 探索端對端。 而且,主動處理 [失敗] 檢視 – 瞭解哪些元件或動作會產生失敗,並分級錯誤和例外狀況。 內建檢視有助於主動追蹤應用程式健康情況,以及回應根本原因分析。

建立 Azure 監視器警示 ,以在您的應用程式或元件元件與已建立的基準不同時發出潛在問題的訊號。

Application Insights 定價是以取用為基礎;您只需支付您使用的內容。 如需定價的詳細資訊,請參閱 Azure 監視器定價頁面 ,以及如何 將成本優化

如何?檢測應用程式嗎?

自動檢測 是慣用的檢測方法。 它不需要開發人員投資,並消除 與更新 SDK相關的未來額外負荷。 這也是檢測您沒有原始程式碼存取權之應用程式的唯一方法。

您只需要在下列情況下安裝 Application Insights SDK:

若要使用 SDK,您可以在應用程式中安裝小型檢測套件,然後在網頁內檢測 Web 應用程式、任何背景元件和 JavaScript。 應用程式及其元件不需要裝載於 Azure 中。 檢測會監視您的應用程式,並使用唯一權杖將遙測資料導向 Application Insights 資源。 對應用程式效能的影響很小;追蹤呼叫是非封鎖,且會批次處理以個別執行緒傳送。

整合式自動檢測可用於Azure App 服務 .NETAzure App 服務 .NET CoreAzure FunctionsAzure 虛擬機器

Azure 監視器 Application Insights 代理程式 適用于在內部部署虛擬機器中執行的工作負載。

這裡提供所有自動檢測支援環境、語言和資源提供者的詳細檢視。

在其他案例中,需要 Application Insights SDK

您也可以使用預覽 開啟遙測 供應專案。

下一步

疑難排解

常見問題集

檢閱常見問題集

Microsoft Q&A 問題論壇

將問題張貼至 Microsoft Q&A 解答論壇

Stack Overflow

使用 Application Insights 標籤,將程式碼撰寫問題張貼至 Stack Overflow

使用者心聲

UserVoice 上為工程小組留下產品意見反應。

支援的語言

支援的平台和架構

這裡列出支援的平臺和架構。

Azure 服務整合 (入口網站啟用、Azure Resource Manager部署)

自動檢測 (啟用,不需變更程式碼)

手動檢測/SDK (需要一些程式碼變更)

注意

OpenTelemetry 型檢測適用于 C#、Node.js 和 Python的預覽版。 請檢閱每個語言官方檔開頭所說明的限制。 如果您需要完整的功能體驗,請使用現有的 Application Insights SDK。

記錄架構

匯出和資料分析

不支援的 SDK

有數個其他社群支援的 Application Insights SDK 存在。 不過,當您使用此頁面所列的支援檢測選項時,Azure 監視器只會提供支援。 我們會持續評估擴充支援其他語言的機會。 請隨時留意適用於 Application Insights 的 Azure 更新,以取得最新的 SDK 消息。