Application Insights 概觀
Azure 監視器 Application Insights 是 Azure 監視器的功能,適用於即時 Web 應用程式的應用程式效能監視(APM)。
體驗
Application Insights 提供許多體驗,可增強應用程式的效能、可靠性和品質。
調查
- 應用程式儀表板: 應用程式健康情況和效能的快速評量。
- 應用程式對應: 應用程式架構和元件互動的視覺概觀。
- 即時計量: 即時分析儀表板,可深入解析應用程式活動和效能。
- 交易搜尋: 追蹤和診斷交易以識別問題並最佳化效能。
- 可用性檢視: 主動監視及測試應用程式端點的可用性和回應性。
- 失敗檢視: 識別和分析應用程式中的失敗,以將停機時間降到最低。
- 效能檢視: 檢閱應用程式效能計量和潛在瓶頸。
監視
- 警示: 監視應用程式的各種層面,並觸發各種動作。
- 計量: 深入探索計量資料,以了解使用模式和趨勢。
- 診斷設定: 設定平台記錄和計量的串流匯出至您選擇的目的地。
- 記錄: 擷取、合併及分析收集到 Azure 監視記錄中的所有資料。
- 活頁簿: 建立視覺化應用程式監視資料的互動式報表和儀表板。
使用方式
- 使用者、工作階段和事件: 判斷使用者與 Web 應用程式互動的時機、位置及方式。
- 漏斗圖: 分析轉換率,以識別使用者在漏斗圖中進步或退步的位置。
- 流程: 將網站上的使用者路徑視覺化,以識別高參與區域和出口點。
- 世代: 依共用特性將使用者分組,以簡化趨勢識別、分割和效能疑難排解。
程式碼分析
邏輯模型
邏輯模型圖表會將 Application Insights 的元件及其互動方式視覺化。
注意
必須調整防火牆設定,資料才能到達擷取端點。 如需詳細資訊,請參閱 Azure 監視器所使用的 IP 位址。
支援的語言
本章節會概述支援的案例。
如需檢測應用程式以啟用ApplicationInsights的詳細資訊,請參閱 資料收集基本概念。
自動檢測 (啟用,不需變更程式碼)
手動檢測
OpenTelemetry 發行版本
用戶端 JavaScript SDK
- JavaScript
- React
- React Native \(英文\)
- Angular
Application Insights SDK (傳統 API)
支援的平台和架構
本章節會列出所有支援的平台和架構。
Azure 服務整合 (入口網站啟用、Azure Resource Manager 部署)
- Azure 虛擬機器和 Azure 虛擬機器擴展集
- Azure App Service
- Azure Functions
- Azure Spring Apps
- Azure 雲端服務包含 Web 與背景工作角色
記錄架構
ILogger
- Log4Net、NLog 或 System.Diagnostics.Trace
Log4J
, Logback,或 java.util.logging- LogStash 外掛程式 (英文)
- Azure 監視器
匯出和資料分析
不支援的軟體開發套件 (SDK)
有許多社群支援的 Application Insights SDK 存在,但 Microsoft 僅支援本文所列的檢測選項。
常見問題集
本節提供常見問題的答案。
如何檢測應用程式?
如需檢測應用程式以啟用 Application Insights 的詳細資訊,請參閱 資料收集基本概念。
如何使用 Application Insights?
藉由 檢測應用程式來啟用 Application Insights 之後,建議您先查看 即時計量,以及 應用程式對應。
Application Insights 會收集什麼遙測資料?
從伺服器 Web 應用程式:
- HTTP 要求。
- 相依性。 對 SQL 資料庫的呼叫、外部服務的 HTTP 呼叫、Azure Cosmos DB、Azure 表格儲存體、Azure Blob 儲存體和 Azure 佇列儲存體。
- 例外狀況和堆疊追蹤。
- 效能計數器: 使用時可以使用性能計數器:
- 您以程式碼撰寫的自訂事件和計量。
- 追蹤記錄 - 如果您設定適當的收集器。
從 用戶端網頁:
應用程式中「未攔截到的例外狀況」,包括下列項目的相關資訊:
- 堆疊追蹤
- 錯誤隨附的例外狀況詳細資料和訊息
- 錯誤的行和資料行數目
- 引發錯誤的 URL
- 應用程式 XML Http 要求 (XHR) 和擷取 (預設會停用擷取收集) 要求所提出的「網路相依性要求」,包括以下相關資訊:
- 相依性來源的 URL
- 用來要求相依性的命令和方法
- 要求的持續時間
- 要求的結果碼和成功狀態
- 提出要求的使用者識別碼 (如果有的話)
- 提出要求的相互關聯內容 (如果有的話)
使用者資訊 (例如位置、網路、IP)
裝置資訊 (例如瀏覽器、OS、版本、語言、模型)
工作階段資訊
注意
對於某些應用程式,例如單頁應用程式 (SPA),可能不會記錄持續時間,且預設為 0。
如需詳細資訊,請參閱 Application Insights 中的資料收集、保留和儲存。
從其他來源 (如果您設定它們的話):
我應該部署多少 Application Insights 資源?
若要了解涵蓋整個環境的應用程式或元件所需的 Application Insights 資源數目,請參閱 Application Insights 部署規劃指南。
如何可以使用 PowerShell 來管理 Application Insights 資源?
您可以撰寫 PowerShell 指令碼以使用Azure 資源監視器來:
- 建立和更新 Application Insights 資源。
- 設定定價方案。
- 取得檢測金鑰。
- 新增計量警示。
- 新增可用性測試。
您無法設定「計量瀏覽器」報告或設定連續匯出。
如何可以查詢 Application Insights 遙測?
請使用 REST API 來執行 Log Analytics 查詢。
我是否可以將遙測資料傳送給 Application Insights 入口網站?
我們建議使用 Azure 監視器 OpenTelemetry 發行版本。
收集遙測資料需要花費多少時間?
大部分的 Application Insights 資料有 5 分鐘以內的延遲。 某些資料可能會更久,通常是較大的記錄檔。 請參閱 Application Insights 服務等級協定。
Application Insights 如何處理資料收集、保留、儲存體和隱私權?
集合
Application Insights 會收集關於應用程式的遙測資料,包括 Web 伺服器遙測、網頁遙測和性能計數器。 此資料可用來監視應用程式的效能、健康情況和使用量。 建立新的 Application Insights 資源時,您可以選取位置。
保留和儲存體
資料會傳送至 Application Insights Log Analytics 工作區。 您可以選擇原始資料的保留期間,從 30 到 730 天。 彙總的資料會保留 90 天,而偵錯快照集會保留 15 天。
隱私權
根據預設,Application Insights 不會處理敏感性資料。 我們建議您不要將敏感性資料以純文字的形式放入 URL,並確定您的自訂程式碼不會收集個人或其他敏感性詳細資料。 在開發和測試期間,請檢查 IDE 和瀏覽器偵錯輸出視窗中的已傳送資料。
如需封存的資訊,請參閱 Application Insights 中的資料收集、保留和儲存。
Application Insights 價格模型是什麼?
Application Insights 會透過 Log Analytics 工作區來計費,其記錄資料會擷取到其中。 預設隨用隨付 Log Analytics 定價層包含每個計費帳戶每月 5 GB 的免費資料允許額度。 深入了解 Azure 監視器記錄價格選項。
Azure Web 應用程式與 Application Insights 之間的資料傳輸需要收費嗎?
- 如果您的 Azure Web 應用程式是裝載在具有 Application Insights 集合端點的資料中心內,就不會有費用。
- 如果您的主機資料中心沒有收集端點,則應用程式的遙測會產生 Azure 傳出費用。
此答案視端點分佈而定,而不是裝載 Application Insights 資源的位置。
如果我的 Application Insights 資源正在監視不同區域中的 Azure 資源 (亦即遙測製作人),是否會產生網路費用?
是,您可能產生額外的網路費用,費用會因為遙測的來源區域和目的地區域不同而有所差異。 如需詳細資料,請參閱 Azure 頻寬價格。
Application Insights 支援哪些 TLS 版本
重要
在 2025 年 3 月 1 日,與 Azure 寬版 TLS 淘汰一致,TLS 1.0/1.1 通訊協定版本和列出的 TLS 1.2/1.3 舊版加密套件和橢圓曲線將會針對 Application Insights 淘汰。 為了提供最佳類別的加密,Application Insights 使用傳輸層安全性 (TLS) 1.2 和 1.3 作為選擇的加密機制。
如需舊版 TLS 問題的任何一般問題,請參閱 解決 TLS 問題和 Azure Resource Manager TLS 支援。
說明與支援
Azure 技術支援
針對 Azure 支援問題,請開啟 Azure 支援票證。
Microsoft Q&A 論壇
將問題張貼至 Microsoft Q&A 論壇。
Stack Overflow
使用 azure-application-insights
標籤,將撰寫程式碼問題張貼至 Stack Overflow。
意見反應社群
在 意見反應社群 中為工程小組留下產品意見反應。