共用方式為


Azure 監視器邊緣管線設定

Azure 監視器管線是資料擷取管線,可為 Azure 監視器提供一致且集中的資料收集。 邊緣上的管線能夠在將遙測資料傳送到雲端之前進行大規模收集和路由傳送。 其可在本機快取資料,且在還原連線時與雲端同步,並在網路已分段且無法直接將資料傳送到雲端的情況下,將遙測路由傳送到 Azure 監視器。 此文章將描述如何在您的環境中啟用和設定邊緣上的管線。

概觀

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

管線設定檔會為邊緣上的管線定義資料流程和快取屬性。 DCR 會定義傳送到雲端管線的資料結構描述、篩選或修改資料的轉換,以及應該傳送資料的目的地。 適用於管線設定的每個資料流程定義都會指定 DCR 及該 DCR 內的串流,以便在雲端管線中處理該資料。

邊緣上 Azure 監視器管線資料流程的概觀圖表。

注意

邊緣管線支援專用連結,以連結至雲端管線。

您需要下列元件和設定,才能啟用邊緣上的 Azure 監視器管線。 如果您使用 Azure 入口網站在邊緣上設定管線,則系統會為您建立這其中每個元件。 若您使用其他方法,就必須設定每一個元件。

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

支援的設定

支援的發行版本
下列 Kubernetes 散發套件支援邊緣的 Azure 監視器管線:

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

支援的位置
下列 Azure 區域支援邊緣上的 Azure 監視器管線:

  • 美國東部 2
  • 美國西部 2
  • 西歐

必要條件

工作流程

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

下列表格和圖表將描述使用邊緣上的管線收集資料,並將其傳遞到雲端管線以儲存於 Azure 監視器之流程中的詳細步驟和元件。 表格中也包含那其中每一個元件所需的設定。

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

使用邊緣上的 Azure 監視器管線進行資料收集的步驟和元件詳細圖表。

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

使用 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 叢集的自訂位置。 這會自動填入將為您叢集建立的自訂位置名稱,或者您可以選取叢集中的另一個自訂位置。

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

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

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

屬性 描述
名稱 資料流程的名稱。 針對此管線必須是唯一的。
來源類型 已收集的資料類型。 目前支援下列來源類型:
- Syslog
- 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>
  • 如果產生記錄的應用程式位於叢集外部,請複製具有負載平衡器類型的服務 <管線名稱>-service<管線名稱>-external-serviceexternal-ip 值。
  • 如果應用程式位於叢集內的 Pod 上,請複製 cluster-ip 值。

注意

如果將 external-ip 欄位設定為 pending,您將必須根據叢集設定手動設定此輸入的外部 IP。

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

驗證資料

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

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

下一步