共用方式為


設定 Azure 監視器管線

Azure 監視器管線會將 Azure 監視器的數據收集功能延伸至邊緣和多重雲端環境。 它會在將遙測數據傳送至雲端之前,啟用大規模收集及路由。 管線可以將數據快取在本機,並在重建連線時與雲端同步處理;在網路區隔且無法將數據直接傳送至雲端的情況下,則會將遙測路由至 Azure 監視器。 本文說明如何在您的環境中啟用和設定 Azure 監視器管線。

概觀

Azure 監視器管線是容器化解決方案,部署在 已啟用 Arc 的 Kubernetes 叢集 上,並利用 OpenTelemetry Collector 作為基礎。 下圖顯示管線的元件。 一或多個資料流程會接聽來自用戶端的傳入資料,而管線延伸模組會視需要使用本機快取,將資料轉送至雲端。

管線組態檔會定義管線的數據流和快取屬性。 DCR 會定義要傳送至雲端的數據架構、篩選或修改數據的轉換,以及應該傳送數據的目的地。 管線組態的每個數據流定義都會指定該 DCR 和該 DCR 內的數據流,以處理雲端中的數據。

Azure 監視器管線數據流的概觀圖表。

備註

Azure 監視器管線支援私人連結以連線至雲端。

啟用 Azure 監視器管線需要下列元件和組態。 如果您使用 Azure 入口網站來設定管線,則會為您建立每個元件。 若使用其他方法,則必須設定每一個方法。

元件 說明
邊緣管線控制器延伸模組 新增至已啟用 Arc 的 Kubernetes 叢集以支援管線功能的延伸模組 - microsoft.monitor.pipelinecontroller
邊際管線控制器實例 在已啟用 Arc 的 Kubernetes 叢集上執行的流水線實例。
數據流 在管線控制器執行個體上執行的接收器和匯出工具組合。 接收器會接受來自用戶端的資料,而匯出工具會將該資料傳遞到 Azure 監視器。
管線設定 為管線執行個體定義資料流程的設定檔。 每個資料流程都包含一個接收器和一個匯出工具。 接收器會接聽傳入資料,而匯出工具會將資料傳送到目的地。
資料收集端點 (DCE) 將數據傳送至雲端中 Azure 監視器的端點。 管線設定包含 DCE URL 的屬性,以便讓管線執行個體知道要傳送資料的位置。
設定 說明
資料收集規則 (DCR) 組態檔,定義 Azure 監視器接收數據的方式及其傳送位置。 DCR 也可包含轉換,以在資料傳送到目的地之前進行篩選或修改。
管線設定 定義管線執行個體資料流程 (包括資料流程和快取) 的設定。

支援的設定

支援的發行版本

下列 Kubernetes 發行版支援 Azure Monitor 管線:

  • Canonical
  • Azure 的叢集 API 提供者
  • K3
  • Rancher Kubernetes 引擎
  • VMware Tanzu Kubernetes Grid

支援的位置

下列 Azure 區域支援 Azure 監視器管線:

  • 加拿大中部
  • 美國東部 2
  • 義大利北部
  • 美國西部 2
  • 西歐

如需詳細資訊,請參閱 依區域的產品可用性

先決條件

Workflow

您不需詳細了解 Azure 監視器管線所執行的不同步驟,即可使用 Azure 入口網站進行設定。 如果您使用另一種安裝方法,或者需要執行更進階的設定 (例如,在將資料儲存於目的地之前先加以轉換),您可能需要更詳細地了解它。

下表和圖表說明使用管線收集數據的程式詳細步驟和元件,並將它傳遞至雲端以在 Azure 監視器中儲存。 表格中也包含那其中每一個元件所需的設定。

步驟 動作 支援設定
1. 用戶端會將數據傳送至管線接收者。 用戶端會使用邊緣管線接收器的 IP 和連接埠進行設定,並以預期的接收器類型格式傳送資料。
2. 接收器會將資料轉送到匯出工具。 接收器和匯出工具均設定於相同的管線中。
3. 匯出者會嘗試將數據傳送至雲端。 管線設定中的匯出工具包含 DCE 的 URL、DCR 的唯一識別碼,以及 DCR 中定義資料處理方式的串流。
3a. 如果匯出工具無法連線到 DCE,便會將資料儲存在本機快取中。 管線設定中會啟用適用於快取的永續性磁碟區及本機快取的設定。

使用 Azure 監視器管線進行數據收集的步驟和元件詳細圖表。

步驟 動作 支援設定
4. Azure 監視器接受傳入數據。 DCR 包含輸入流的結構定義,必須符合來自管線數據的結構。
5. Azure 監視器會將轉換套用至數據。 DCR 包含轉換,可在資料傳送到目的地之前進行篩選或修改。 轉換可以篩選資料、移除或新增資料行,或是完全變更其結構描述。 轉換的輸出必須符合目的地資料表的結構描述。
6. Azure 監視器會將數據傳送至目的地。 DCR 包含目的地,其會指定儲存資料所在的 Log Analytics 工作區和資料表。

使用 Azure 監視器進行數據收集的步驟和元件詳細圖表。

分段網路

網路分割是一種模型,您可在其中使用軟體定義的周邊,為網路的不同部分建立不同的安全性態勢。 在此模型中,您可能有無法連線到網際網路或其他網路區段的網路區段。 Azure 監視器管線可用來從這些網路區段收集數據,並將其傳送至雲端。

Azure 監視器管線分層網路的圖表。

若要在分層式網路設定中使用 Azure 監視器管線,您必須將下列項目新增至已啟用 Arc 的 Kubernetes 叢集允許清單。 請參閱在層級 4 叢集上設定 Azure IoT 分層式網路管理預覽

- destinationUrl: "*.ingest.monitor.azure.com"
  destinationType: external
- destinationUrl: "login.windows.net"
  destinationType: external

在 Log Analytics 工作區中建立資料表

在設定管線的數據收集程式之前,您必須在Log Analytics工作區中建立資料表以接收數據。 這必須是自訂資料表,因為目前不支援內建資料表。 資料表的結構描述必須符合其接收的資料,但收集程式中有多個步驟可以修改傳入資料,因此資料表結構描述不需要符合您正在收集的來源資料。 對 Log Analytics 工作區中資料表的唯一需求是其具有 TimeGenerated 資料行。

如需建立資料表不同方法的詳細資訊,請參閱在 Azure 監視器記錄中新增或刪除資料表和資料行。 例如,使用下列 CLI 命令來建立資料表,其中具有三個名為 BodyTimeGeneratedSeverityText 的資料行。

az monitor log-analytics workspace table create --workspace-name my-workspace --resource-group my-resource-group --name my-table_CL --columns TimeGenerated=datetime Body=string SeverityText=string

啟用快取

某些環境中的邊緣裝置可能會因為網路壅塞、訊號干擾、電源中斷或行動等各種因素而發生連線斷斷續續的情況。 在這些環境中,您可以透過在叢集中建立永續性磁碟區,來設定管線以快取資料。 此流程將根據您的特定環境而有所不同,但設定必須符合下列需求:

  • 中繼資料命名空間必須與 Azure 監視器管線的指定執行個體相同。
  • 存取模式必須支援 ReadWriteMany

在適當的命名空間中建立磁碟區之後,使用下列管線設定檔中的參數進行設定。

謹慎

邊緣管線的每個複本都會將資料儲存在永續性磁碟區中該複本專屬的位置。 在叢集與雲端中斷連線時減少複本數目,將防止在連線恢復時重新填入資料。

系統會使用先進先出 (FIFO),從快取擷取資料。 任何超過 48 小時的資料都將遭到捨棄。

啟用和設定管線

下列索引標籤將詳細說明目前用於啟用和設定的選項。

使用 Azure 入口網站設定管線

當您使用 Azure 入口網站啟用和設定管線時,系統會根據您的選項建立所有必要元件。 這讓您能夠免去個別建立每個元件的複雜度,但您必須使用其他方法。

在 Azure 入口網站中執行下列其中一項,以啟動安裝 Azure 監視器管線的流程:

  • 從 [Azure 監視器管線 (預覽)] 功能表,按一下 [建立]
  • 從已啟用 Arc 的 Kubernetes 叢集功能表中,選取 [延伸模組],然後新增 [Azure 監視器管線延伸模組 (預覽)] 延伸模組。

基本標籤選項會要求您輸入下列資訊,以便部署延伸模組和管線執行個體於您的叢集上。

[建立 Azure 監視器管線] 畫面的螢幕擷取畫面。

下表將描述此索引標籤中的設定。

財產 說明
執行個體名稱 Azure 監視器管線執行個體的名稱。 針對訂用帳戶必須是唯一的。
訂閱 用來建立管線執行個體的 Azure 訂用帳戶。
資源群組 用來建立管線執行個體的資源群組。
叢集名稱 選取管線安裝所在之已啟用 Arc 的 Kubernetes 叢集。
自訂位置 適用於已啟用 Arc 的 Kubernetes 叢集的自訂位置。 這會自動填入將為您叢集建立的自訂位置名稱,或者您可以選取叢集中的另一個自訂位置。

[資料流程] 索引標籤可讓您建立和編輯管線執行個體的資料流程。 每個資料流程都包含下列詳細資料:

[建立新增資料流程] 畫面的螢幕擷取畫面。

下表將描述此索引標籤中的設定。

財產 說明
名稱 資料流程的名稱。 針對此管線必須是唯一的。
來源類型 已收集的資料類型。 目前支援下列來源類型:
- 系統日誌
- OTLP
港口 管線接聽傳入資料的連接埠。 如果兩個數據流使用相同的埠,它們都會接收和處理數據。
Log Analytics 工作區 要將資料傳送到其中的 Log Analytics 工作區。
資料表名稱 Log Analytics 工作區中要將資料傳送到其中的資料表名稱。

驗證組態

驗證在叢集中執行的管線元件

在 Azure 入口網站中,瀏覽至 [Kubernetes 服務] 功能表,然後選取已啟用 Arc 的 Kubernetes 叢集。 選取「服務與入口」,然後確定您看到下列服務:

  • <管線名稱>-external-service
  • <管線名稱>-service

支援 Azure 監視器管線的叢集元件螢幕快照。

按一下 <管線名稱>-external-service 的項目,並記下[端點] 資料行中的 IP 位址和連接埠。 這是用戶端將傳送資料到其中的外部 IP 位址和連接埠。 如需從用戶端擷取此位址的相關資訊,請參閱擷取輸入端點

驗證心跳

管線執行個體中設定的每個管線每分鐘都會將活動訊號記錄傳送到 Log Analytics 工作區中的 Heartbeat 資料表。 OSMajorVersion 資料行的內容應該符合管線執行個體的名稱。 如果管線執行個體中有多個工作區,則將使用第一個設定的工作區。

使用記錄查詢擷取活動訊號記錄,如下列範例所示:

Azure 監視器管線的日誌查詢回傳的心跳記錄截圖。

客戶端設定

安裝邊緣管線延伸模組和執行個體之後,您接著必須設定用戶端來將資料傳送到管線。

擷取輸入端點

每個使用者端都需要 Azure 監視器管線服務的外部 IP 位址。 使用下列指令擷取此位址:

kubectl get services -n <namespace where azure monitor pipeline was installed>
  • 如果產生記錄的應用程式位於叢集外部,請複製具有負載平衡器類型的服務 或 < 的 > 值。
  • 如果應用程式位於叢集內的 Pod 上,請複製 cluster-ip 值。

備註

如果 external-ip 字段設定為 等待中,您必須根據叢集組態手動設定此入口的外部 IP。

客戶 說明
Syslog 更新 Syslog 客戶端,以將資料傳送到管線端點及 Syslog 資料流的埠。
OTLP Azure 監視器的邊緣管線在連接埠 4317 上公開了一個 gRPC 型的 OTLP 端點。 將您的檢測設定為傳送至此 OTLP 端點,將取決於檢測程式庫本身。 如需 OpenTelemetry 文件,請參閱 OTLP 端點或收集器 (英文)。 環境變數方法記載於 OTLP 匯出工具設定 (英文)。

驗證資料

最後一個步驟是確認已在 Log Analytics 工作區中接收資料。 您可以在 Log Analytics 工作區中執行查詢,以從資料表擷取資料,以執行此驗證。

傳回 Syslog 集合的記錄查詢螢幕擷取畫面。

後續步驟