智慧型住宅的記錄指標

1. 事前準備

如先前在「為智慧型住宅偵錯」程式碼研究室中所述,我們會將指標和記錄發布到智慧型住宅專案。指標可協助您判斷智慧住宅動作發生問題的部分,而記錄檔則可協助您深入瞭解並解決問題。

848f483bfcd2997a.png

除了我們提供給您的專案提供的指標以外,您也可以透過 Google Cloud Platform 的記錄指標產生自己的指標。這可讓您監控記錄檔中的特定模式,並有效偵錯品質問題。

必要條件

課程內容

  • 如何撰寫有效查詢,以篩選智慧型住宅錯誤記錄
  • 如何建立記錄指標,從查詢中產生指標
  • 如何根據記錄指標建立圖表和資訊主頁,以便進行監控

2. 使用記錄檔

對智慧型住宅程式碼研究室偵錯所述,使用記錄是專案成功的關鍵。Google Cloud Platform 提供多項優質工具,協助您監控及分析記錄檔。如要存取專案可用的所有記錄檔,請使用記錄檔探索工具

存取記錄

存取記錄檔的第一步是登入 Google Cloud Platform 並選擇專案。依序前往「作業」>「記錄檔」,使用側邊選單前往「記錄檔探索工具」。記錄 >記錄檔探索工具。開啟工具後,您應該會看到以下檢視畫面:

78982d8b6d19b827.png

記錄檔探索工具包含兩個主要部分:在頂端寫入查詢的區段 (「查詢產生器」),以及顯示相符結果的區域 (查詢結果)。

根據預設,Google 中有許多不同元件會將記錄寫入您的專案。如要尋找及使用智慧型住宅整合項目的記錄,你必須編寫自訂查詢。

撰寫查詢

記錄檔會發布到特定資源類型的專案。每種資源類型都代表 Google 內部的不同平台。專案的 assistant_action_project 資源類型下方會顯示來自智慧型住宅平台的記錄。

此外,所有記錄在建立時都會獲派嚴重性等級。透過智慧型住宅記錄,我們使用 ERROR 層級來呈現代表錯誤和例外狀況的記錄,而處理其他所有記錄時,則會使用 DEBUG 層級。

在以下範例中,我們會撰寫查詢,只從代表錯誤的平台篩選記錄,如下所示:

753bfe72a9f8e959.png

查詢寫入完畢後,按一下 [執行查詢] 按鈕即可啟動查詢。這應該會顯示智慧型住宅整合的錯誤:

3ef42da5a6c322e1.png

如您所見,過去一個小時內出現好幾種錯誤,每一行都代表一項錯誤記錄。您可以進一步按一下個別記錄並展開巢狀欄位,查看其中包含的資訊。

使用直方圖

記錄檔探索工具提供實用的直方圖功能,方便您查看符合查詢的記錄時間分佈情形。如要啟用直方圖,請按一下右上角的「頁面版面配置」,然後勾選「直方圖」啟用這項功能。

10eaf1d204decf3c.png

啟用之後,您會看到與查詢相符的記錄檔分佈情形:

dd3410e65a83cf5d.png

如上圖所示,我們在過去一小時內發現幾個錯誤,但這些錯誤並不多發生。它們似乎在下午 1:45、2:00 和 2:15 左右形成三個叢集直方圖只檢查時間戳記值,幫助您偵測難以察覺的模式。

目前我們使用的查詢不會區分記錄,而是顯示智慧型住宅整合服務中的所有錯誤。您可能會想在許多情況下區分錯誤,例如追蹤來自特定裝置類型或特徵的錯誤模式。為此,我們會說明如何撰寫進階查詢。

進階查詢

當您查看智慧型住宅事件記錄時,可以從以下幾個欄位收集資訊:

825c57c36800844e.png

action

  • trait為使用者指定裝置特徵 (例如 OnOff、StartStop、Brightness)
  • actionType特徵的精細狀態 (例如開啟、關閉、暫停、停止、繼續)

device

  • deviceType為使用者指定裝置類型 (例如燈具、開關、洗衣機)

status

  • isSuccess動作結果是否成功 (true / false)
  • statusType動作結果的狀態碼 (表示失敗時會顯示錯誤代碼)
  • externalDebugString動作的偵錯字串 (請詳細說明錯誤)

其他欄位

您也可以從下列其他欄位取得資訊:

  • requestId與要求相關聯的專屬 ID (由 Google 產生)
  • executionType要求使用的路徑 (表示雲端還是本機)
  • latencyMsec偵測到 Google 伺服器要求的時間延遲 (毫秒)
  • locale要求的來源語言/地區組合 (例如 en-US、fr-FR)

使用上述清單中的 trait 欄位後,我們會修改查詢,只顯示來自 OnOff 特徵的錯誤,如下所示:

resource.type="assistant_action_project" AND severity=ERROR AND
jsonPayload.executionLog.executionResults.actionResults.action.trait="TRAIT_ON_OFF"

執行更新查詢後,系統會識別記錄並顯示相應的結果:

76176d7a41962341.png

到目前為止,我們已以人工方式完成所有查詢,這是快速檢查錯誤狀態的好方法,但無法監控錯誤模式隨時間的變化。為了自動化流程,並擷取較長時間的資料,我們將建立記錄指標。

3. 記錄指標

您可以使用記錄指標,計算在一段時間內符合查詢的記錄檔數量。透過這個方式,您可以查看記錄檔的模式和各個記錄檔,並深入瞭解潛在問題。

建立記錄指標

如要建立記錄指標,請前往「作業」>「作業」記錄 >記錄指標。這裡會顯示專案已有的記錄指標清單。按一下「建立指標」按鈕後,您會看見記錄指標建立畫面:

296af6e7d8dcf6cf.png

主要指標類型有兩種:計數器指標會計算符合查詢條件的記錄檔數量。分佈指標會追蹤基礎分佈情形,並允許統計作業,例如平均值、中位數和第 95 個百分位數。

向下捲動到篩選器部分,即可輸入查詢內容。

f7f2093fa1bce2ac.png

我們會在「建立篩選器」文字區域中貼上上一節的查詢。

​​resource.type="assistant_action_project" AND severity=ERROR AND
jsonPayload.executionLog.executionResults.actionResults.action.trait="TRAIT_ON_OFF"

您也可以按一下「預覽記錄」按鈕,快速查看符合篩選條件的過往記錄檔。完成後,您可以點選「建立指標」按鈕,然後前往下個部分。

查看記錄指標資料

記錄指標建立完成之後,該指標就會顯示在「記錄指標」頁面的「使用者定義指標」部分中。

1b2c88c18533fbcd.png

從記錄指標 (3 個圓點) 對應的選單中選取「在 Metrics Explorer 中查看」,即可查看記錄指標中收集到的資料:

54a836fdc3a666a3.png

發生新的錯誤後,系統就會透過記錄指標擷取錯誤,並顯示在 Metrics Explorer 的圖表視窗中。

透過自訂資訊主頁監控

我們看到新的記錄指標如預期正常運作後,應將這個圖表檢視儲存至自訂資訊主頁。如要進行這項操作,請按一下 Metrics Explorer 右上角的「Save Chart」(儲存圖表) 按鈕。畫面上會出現提示,提示您為圖表命名,並選取您想儲存至的資訊主頁:

52329085f841782e.png

將圖表儲存至資訊主頁後,就能輕鬆從該處存取圖表。如要存取專案可用的資訊主頁清單,請前往作業 >監控 >資訊主頁

44961e7cb3663341.png

我們已將圖表儲存至名為「程式碼研究室資訊主頁」的資訊主頁。開啟後會顯示以下檢視畫面:

f7e025c27f30f996.png

如您會看到代表記錄指標的圖表,以及新收集的資料,就會顯示在這裡。智慧住宅記錄會即時發布至專案。有新的記錄可用時,系統就會立即依照記錄指標來計算。

4. 恭喜

674c4f4392e98c1.png

恭喜!您已順利學會如何將查詢轉化為記錄指標,並儲存至自訂資訊主頁以供監控。

後續步驟

以本程式碼研究室為基礎,請嘗試下列練習並瀏覽其他資源:

  • 請參閱建立分佈指標指南,瞭解如何針對數值欄位 (例如延遲時間) 建立記錄指標。
  • 查看 Google Cloud 提供的查詢程式庫範例,瞭解可用於記錄指標的一些複雜篩選器。