Azure 監視器 Application Insights 的資料收集基本概念
監視監視應用程式之前,您必須先檢測應用程式。
在下列各節中,我們將討論 Azure 監視器 Application Insights 的一些資料收集基本概念。
檢測選項
在基本層級,「檢測」只是讓應用程式能夠擷取遙測。
有兩種方法可以檢測您的應用程式:
- 自動檢測
- 手動檢測
自動檢測會透過設定啟用遙測集合,而無需動用應用程式的程式碼。 雖然比較方便,但它的可設定性通常比較低。 它也不適用於所有語言。 請參閱自動檢測支援的環境和語言。 自動檢測可以進行時,最簡單的方式就是啟用 Azure 監視器 Application Insights。
手動檢測需要針對 Application Insights 或 OpenTelemetry API 撰寫程式碼。 對使用者來說,這通常是指在應用程式中安裝特定語言的 SDK。 這表示您必須自行管理最新套件版本的更新。 如果您需要進行自訂相依性呼叫或預設未使用自動檢測擷取的 API 呼叫,您可以使用此選項。 手動檢測有兩個選項:
雖然我們認為 OpenTelemetry 是我們未來的方向,但我們並未計劃停止從舊版 SDK 收集資料。 在 Azure OpenTelemetry Distros 與 Application Insights SDK 達到功能同位之前,我們還有辦法。 在許多情況下,客戶會持續選擇使用 Application Insights SDK 相當長的時間。
重要
「手動」不代表您必須撰寫複雜的程式碼,才能定義分散式追蹤的範圍 (儘管它仍是一個選項)。 封裝至發行版本的檢測程式庫可讓您輕鬆地跨通用架構和程式庫擷取遙測訊號。 我們正積極努力使用 OpenTelemetry 檢測最受歡迎的 Azure 服務 SDK,以便使用 Azure 監視器 OpenTelemetry Distro 的客戶可以使用這些訊號。
遙測類型
遙測是用來觀察應用程式所收集的資料,可以分成三種類型或「要素」:
- 分散式追蹤
- 計量
- 記錄
完整的可檢視性案例包含這三個要素,Application Insights 會根據我們的資料模型,進一步將這些要素細分成資料表。 我們的 Application Insights SDK 或 Azure 監視器 OpenTelemetry 發行版本包含您在 Azure 上提供應用程式效能監視所需的一切功能。 套件本身是完全免費安裝,而且您只需支付您在 Azure 監視器中內嵌的資料所需的費用。
下列來源說明這三個要素:
- OpenTelemetry 社群網站 \(英文\)
- OpenTelemetry 規格 \(英文\)
- Cindy Srid 的分散式系統可檢視性 \(英文\)
遙測路由
有兩種方式可將您的資料傳送至 Azure 監視器 (或任何廠商):
- 透過直接匯出工具
- 透過代理程式
直接匯出工具會將處理中的遙測 (來自應用程式的程式碼) 直接傳送至 Azure 監視器擷取端點。 此方法的主要優點是上線簡單。
目前可用的 Application Insights SDK 和 Azure 監視器 OpenTelemetry Distros 需要直接匯出工具。
注意
關於 Azure 監視器在 OpenTelemetry-Collector 上的位置,請參閱 OpenTelemetry 常見問題。
提示
如果您打算使用 OpenTelemetry-Collector 進行取樣或其他資料處理,您可以取得 Azure 監視器內建的相同功能。 已移轉至工作區型 Application Insights 的客戶可以運用擷取時間轉換。 若要啟用,請遵循教學課程中的詳細資料,略過示範如何設定診斷設定的步驟,因為已設定以工作區為中心的 Application Insights。 如果您要篩選的整體磁碟區少於 50%,則不需要額外費用。 50% 之後會有成本,但遠遠低於每個 GB 的標準費用。
OpenTelemetry
Microsoft 很高興能與 OpenTelemetry 攜手打造遙測檢測的未來。 身為客戶的您要求提供廠商中立的檢測方式,而我們很高興能與 OpenTelemetry 社群合作,跨語言建立一致的 API 和 SDK。
Microsoft 會與兩個先前熱門的開放原始碼遙測專案 (OpenCensus \(英文\) 和 OpenTracing \(英文\)) 的專案關係人合作。 我們共同協助建立單一專案 OpenTelemetry。 OpenTelemetry 包含來自所有主要雲端和應用程式效能管理 (APM) 廠商的貢獻,並在 Cloud Native Computing Foundation (CNCF) \(英文\) 中運作。 Microsoft 為 CNCF 的白金成員。
如需術語,請參閱 OpenTelemetry 規格中的詞彙 \(英文\)。
由於 OpenTelemetry 上的產業融合,Application Insights 中的一些舊版詞彙會令人感到困惑。 下表強調說明這些差異。 OpenTelemetry 字詞會取代 Application Insights 字詞。
Application Insights | OpenTelemetry |
---|---|
自動收集器 | 檢測程式庫 |
通道 | Exporter |
無程式碼 / 代理程式型 | 自動檢測 |
追蹤 | 記錄 |
要求 | 伺服器範圍 |
相依性 | 其他範圍類型 (用戶端、內部等) |
作業識別碼 | 追蹤識別碼 |
識別碼或作業父系識別碼 | 範圍識別碼 |
常見問題集
哪裡可以找到 Application Insights SDK 版本及其名稱的清單?
SDK 版本和名稱的清單裝載在 GitHub 上。 如需詳細資訊,請參閱 SDK 版本。
下一步
選取您的啟用方法:
- 自動檢測
- Application Insights SDK
- Azure 監視器 OpenTelemetry Distro
如需詳細資訊,請參閱 Azure 監視器 Application Insights 常見問題和 OpenTelemetry 常見問題。