教學課程:監視 IoT Edge 裝置

適用於: IoT Edge 1.5 核取記號 IoT Edge 1.5 IoT Edge 1.4 核取記號 IoT Edge 1.4

重要

IoT Edge 1.5 LTS 和 IoT Edge 1.4 LTS 為支援的版本。 IoT Edge 1.4 LTS 於 2024 年 11 月 12 日結束生命週期。 如果您是舊版,請參閱更新 IoT Edge

使用 Azure 監視器活頁簿來監視 Azure IoT Edge 部署的健康情況和效能。

在本教學課程中,您會了解如何:

  • 了解 IoT Edge 裝置所共用的計量,以及計量收集器模組如何加以處理。
  • 將計量收集器模組部署至 IoT Edge 裝置。
  • 檢視從裝置收集之計量的策劃視覺效果。

必要條件

部署了模擬溫度感應器模組的 IoT Edge 裝置。 如果您尚未準備好裝置,請依照將第一個 IoT Edge 模組部署至虛擬 Linux 裝置中的步驟,使用虛擬機器建立一個。

了解 IoT Edge 計量

每個 IoT Edge 裝置都依賴兩個模組 (執行階段模組),以管理裝置上所有其他模組的生命週期和通訊。 這些模組稱為 IoT Edge 代理程式IoT Edge 中樞。 若要深入了解這些模組,請參閱了解 Azure IoT Edge 執行階段及其架構

這兩個執行階段模組都會建立計量,讓您從遠端監視 IoT Edge 裝置或其個別模組的執行情形。 IoT Edge 代理程式會報告個別模組和主機裝置的狀態,因此會建立一些計量,例如模組已正確執行多久的時間,或裝置上使用的 RAM 數量和 CPU 百分比。 IoT Edge 中樞會報告裝置上的通訊情形,因此會建立一些計量,例如傳送和接收的訊息總數,或解析直接方法所需的時間。 如需可用計量的完整清單,請參閱存取內建計量

這兩個模組都會自動公開這些計量,讓您可以建立自己的解決方案來存取及報告這些計量。 為了簡化此程序,Microsoft 提供了 azureiotedge-metrics-collector 模組,可為沒有或不想要自訂解決方案的人員處理此程序。 計量收集器模組會從兩個執行階段模組和任何其他您可能想要監視的模組收集計量,並將其從裝置對外傳輸。

計量收集器模組可透過兩種方式之一將計量傳送至雲端。 我們將在本教學課程中使用第一個選項,即直接將計量傳送至 Log Analytics。 第二個選項只有在網路原則需要時才建議使用,即透過 IoT 中樞傳送計量,然後設定路由以將計量訊息傳遞至 Log Analytics。 無論採用哪種方式,只要計量位於 Log Analytics 工作區中,即可透過 Azure 監視器活頁簿來檢視。

建立 Log Analytics 工作區

Log Analytics 工作區是收集計量資料所不可或缺的,可提供查詢語言以及與 Azure 監視器的整合,讓您能夠監視裝置。

  1. 登入 Azure 入口網站

  2. 搜尋並選取 [Log Analytics 工作區]

  3. 選取 [建立],然後依照提示建立新的工作區。

  4. 在建立工作區之後,選取 [前往資源]

  5. 在主功能表的 [設定] 底下,選取 [代理程式管理]

  6. 複製 [工作區識別碼] 和 [主要金鑰] 的值。 您稍後將在教學課程中使用這兩個值來設定計量收集器模組,以將計量傳送至此工作區。

擷取 IoT 中樞資源識別碼

在設定計量收集器模組時,您會為其提供 IoT 中樞的 Azure Resource Manager 資源識別碼。 此時請擷取該識別碼。

  1. 從 Azure 入口網站中,瀏覽至 IoT 中樞。

  2. 從左側功能表的 [設定] 底下,選取 [屬性]

  3. 複製 [資源識別碼] 的值。 其格式應為 /subscriptions/<subscription_id>/resourceGroups/<resource_group_name>/providers/Microsoft.Devices/IoTHubs/<iot_hub_name>

部署計量收集器模組

將計量收集器模組部署到您想要監視的每個裝置。 此模組會像任何其他模組一樣在裝置上執行,並監看為了要收集並傳送至雲端的計量而指派的端點。

請依照下列步驟來部署和設定收集器模組:

  1. 登入 Azure 入口網站,並移至您的 IoT 中樞。

  2. 從左側功能表,選取 [裝置管理] 功能表下的 [裝置]

  3. 從 IoT Edge 裝置清單中選取目標裝置的裝置識別碼,以開啟裝置詳細資料頁面。

  4. 在上方功能表列中,選取 [設定模組]

  5. 從入口網站部署模組的第一個步驟,是宣告裝置上應有哪些模組。 如果您使用在快速入門中建立的相同裝置,則應該會看到 SimulatedTemperatureSensor 列出。 如果沒有,請加以新增:

    1. 在 [IoT Edge 模組] 區段中,選取 [新增],然後選擇 [IoT Edge Module 模組]

    2. 更新下列模組設定:

      設定
      IoT 模組名稱 SimulatedTemperatureSensor
      映像 URI mcr.microsoft.com/azureiotedge-simulated-temperature-sensor:latest
      重新啟動原則 always
      需要的狀態 執行中
    3. 選取 [下一步:路由] 以繼續設定路由。

    4. 新增路由,以將所有訊息從模擬的溫度模組傳送到 IoT 中樞。

      設定
      名稱 SimulatedTemperatureSensorToIoTHub
      FROM /messages/modules/SimulatedTemperatureSensor/* INTO $upstream
  6. 新增及設定計量收集器模組:

    1. 選取 [新增],然後選擇 [IoT Edge模組]

    2. 搜尋並選取 [IoT Edge 計量收集器]

    3. 更新下列模組設定:

      設定
      IoT 模組名稱 IoTEdgeMetricsCollector
      映像 URI mcr.microsoft.com/azureiotedge-metrics-collector:latest
      重新啟動原則 always
      需要的狀態 執行中

    如果您想要使用不同的計量收集器模組版本或架構,請在 [Microsoft 成品登錄] 中尋找可用的映像。

    1. 瀏覽至 [環境變數] 索引標籤。

    2. 新增下列文字類型環境變數:

      名稱
      ResourceId 您在上一節中擷取的 IoT 中樞資源識別碼。
      UploadTarget AzureMonitor
      LogAnalyticsWorkspaceId 您在上一節中擷取的 Log Analytics 工作區識別碼。
      LogAnalyticsSharedKey 您在上一節中擷取的 Log Analytics 金鑰。

      如需環境變數設定的詳細資訊,請參閱計量收集器設定 (部分機器翻譯)。

    3. 選取 [套用] 以儲存變更。

    注意

    如果您想讓收集器模組透過 IoT 中樞傳送計量,您需要將路由 (類似於 FROM /messages/modules/< FROM_MODULE_NAME >/* INTO $upstream) 新增至上游。 不過,在本教學課程中,我們會將計量直接傳送至Log Analytics。 因此,不需要進行該動作。

  7. 選取 [檢閱 + 建立],以繼續進行部署模組的最後一個步驟。

  8. 選取 [建立] 以完成部署。

完成模組部署後,請返回裝置詳細資料頁面,在此您會看到四個列為指定於部署中的模組。 這四個模組可能需要一些時間才會列為由裝置回報,這表示模組已成功啟動,並將其狀態回報給 IoT 中樞。 重新整理頁面以查看最新狀態。

監視裝置健康情況

裝置監視活頁簿最多可能需要 15 分鐘才可供檢視。 計量收集器模組經部署後,就會開始將計量訊息傳送至 Log Analytics,並組織在資料表內。 您提供的 IoT 中樞資源識別碼會將擷取的計量連結至其所屬的中樞。 因此,策劃的 IoT Edge 活頁簿可以使用資源識別碼來查詢計量資料表,藉以擷取計量。

Azure 監視器提供三個適用於 IoT 的預設活頁簿範本:

  • [機群檢視] 活頁簿會顯示多個 IoT 資源間的裝置健康情況。 此檢視可讓您設定用來判斷裝置健康情況的閾值,並呈現每個裝置的主要計量彙總。
  • [裝置詳細資料] 活頁簿提供三個類別的視覺效果:傳訊、模組和主機。 傳訊檢視會視覺化呈現裝置的訊息路由,並報告傳訊系統的整體健康情況。 模組檢視會顯示裝置上個別模組的執行情形。 主機檢視會顯示主機裝置的相關資訊,包括主機元件的版本資訊和資源使用情形。
  • [警示] 活頁簿檢視會針對多個 IoT 資源間的裝置顯示警示。

探索機群檢視和健康情況快照集活頁簿

機群檢視活頁簿會顯示您的所有裝置,並讓您選取特定裝置以檢視其健康情況快照集。 請使用下列步驟來探索活頁簿視覺效果:

  1. 返回 Azure 入口網站中的 IoT 中樞頁面。

  2. 在主功能表中向下捲動以尋找 [監視] 區段,然後選取 [活頁簿]

    選取活頁簿以開啟 Azure 監視器活頁簿資源庫。

  3. 選取 [機群檢視] 活頁簿。

  4. 您應該會看到執行計量收集器模組的裝置。 裝置會列為狀況良好狀況不良

  5. 選取裝置名稱,以檢視該裝置的詳細計量。

  6. 在任意時間圖表上,使用 X 軸下的箭號圖示或選取圖表,並拖曳游標以變更時間範圍。

    螢幕擷取畫面:顯示透過選取及拖曳,或使用任何圖表上的箭號圖示來變更時間範圍。

  7. 關閉健康情況快照集活頁簿。 從機群檢視活頁簿中選取 [活頁簿],返回活頁簿資源庫。

探索裝置詳細資料活頁簿

裝置詳細資料活頁簿會顯示個別裝置的效能詳細資料。 請使用下列步驟來探索活頁簿視覺效果:

  1. 在活頁簿資源庫中,選取 [IoT Edge 裝置詳細資料] 活頁簿。

  2. 您在裝置詳細資料活頁簿中看到的第一個頁面,是已選取 [路由] 索引標籤的 [傳訊] 檢視。

    左側會有表格顯示裝置上的路由 (依端點排列)。 針對我們的裝置,我們看到上游端點 (這是用來表示路由傳送至 IoT 中樞的特殊詞彙) 從模擬溫度感應器模組的 temperatureOutput 輸出接收訊息。

    右側的圖表追蹤一段時間的連線用戶端數目。 您可以選取圖表並拖曳,以變更時間範圍。

    選取訊息檢視以查看裝置上的通訊狀態。

  3. 選取 [圖表] 索引標籤,以查看路由的不同視覺效果。 在圖表頁面上,您可以拖放不同的端點以重新排列圖形。 當您有許多路由要呈現時,此功能會有幫助。

    選取圖表檢視以查看裝置路由的互動式圖表。

  4. [健康情況] 索引標籤會報告傳訊的任何問題,例如訊息遭捨棄或用戶端已中斷連線。

  5. 選取 [模組] 檢視,以查看裝置上部署的所有模組的狀態。 您可以選取每個模組,以查看關於模組使用了多少 CPU 和記憶體的詳細資料。

    選取模組檢視,以查看部署至裝置的每個模塊狀態。

  6. 選取 [主機] 檢視,以查看主機裝置的相關資訊,包括作業系統、IoT Edge 精靈版本和資源使用。

檢視模組記錄

檢視裝置的計量之後,您可能會想要進一步深入了解和查看個別模組。 IoT Edge 透過即時模組記錄功能在 Azure 入口網站中提供疑難排解支援。

  1. 從裝置詳細資料活頁簿中,選取 [即時疑難排解]

    在裝置詳細資料活頁簿右上角,選取 [即時疑難解答] 按鈕。

  2. 疑難排解頁面隨即開啟,並顯示 IoT Edge 裝置的 edgeAgent 記錄。 如果您在裝置詳細資料活頁簿中選取特定時間範圍,該設定就會傳遞至疑難排解頁面。

  3. 使用下拉功能表,切換至裝置上執行的其他模組的記錄。 使用 [重新啟動] 按鈕,將模組重新啟動。

    使用下拉功能表來檢視不同模組的記錄,並使用 [重新啟動] 按鈕來重新啟動模組。

疑難排解頁面也可從 IoT Edge 裝置的詳細資料頁面存取。 如需詳細資訊,請參閱從 Azure 入口網站對 IoT Edge 裝置進行疑難排解

下一步

當您繼續進行其餘教學課程時,請將計量收集器模組保留在裝置上,並返回這些活頁簿,以查看在您新增更複雜的模組和路由時,資訊有何變化。

繼續進行下一個教學課程,您將設定開發人員環境,以開始將自訂模組部署至裝置。