智慧型住宅的記錄指標

1. 事前準備

如「對智慧型住宅進行偵錯」程式碼研究室所述,我們會發布指標和記錄到您的智慧型住宅專案。指標可協助您判斷智慧家庭動作發生哪些問題,而記錄有助於深入瞭解解決這些問題。

848f483bfcd2997a.png

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

必要條件

課程內容

  • 如何撰寫有效的查詢來篩選智慧型住宅錯誤記錄
  • 如何建立記錄指標,依據查詢產生指標
  • 如何使用記錄指標建立圖表與資訊主頁以進行監控

2. 使用記錄檔

如同我們在「對智慧型住宅程式碼研究室進行偵錯」一文中簡單介紹,處理記錄檔是專案成功的關鍵。Google Cloud Platform 提供許多絕佳的工具,可協助您監控及分析記錄檔。如要存取專案可用的所有記錄檔,您可以使用記錄檔探索工具

存取記錄

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

78982d8b6d19b827.png

記錄檔探索工具主要分為兩個部分:頂端部分 (「查詢建構工具」) 和顯示相符結果的區域 (查詢結果)。

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

撰寫查詢

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

此外,系統會在建立所有記錄時指派嚴重性等級。智慧型住宅記錄採用 ERROR 層級,記錄代表錯誤和例外狀況,其他則是 DEBUG 層級。

在以下範例中,我們會編寫查詢,只針對代表錯誤的記錄篩選記錄,如下所示:

753bfe72a9f8e959.png

當您撰寫完查詢後,按一下「Run query」(執行查詢) 按鈕即可啟動查詢。這應該會顯示智慧型住宅整合功能的錯誤:

3ef42da5a6c322e1.png

如您所見,過去 1 小時內出現了一些錯誤。每一行都代表一個錯誤記錄。您可以進一步點選個別記錄並展開巢狀欄位,查看其中所含的資訊。

使用直方圖

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

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要求使用的路徑 (會指出雲端或本機)
  • latencyMsecGoogle 伺服器中的要求發生延遲時間 (以毫秒為單位)
  • locale用來傳送要求的語言/區域組合 (例如 en-US、fr-FR)

如果使用上述清單中的特徵欄位,我們會修改查詢內容,僅納入來自 OnOff 特徵的錯誤,如下所示:

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

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

76176d7a41962341.png

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

3. 記錄指標

如要計算一段時間內符合查詢的記錄檔數量,可以使用記錄指標。如此一來,您便能掌握各種模式及記錄,進一步掌握潛在問題。

建立記錄指標

如要建立記錄指標,請依序前往「作業」>「Logging」>「記錄指標」。畫面上就會顯示專案已有的記錄指標清單。按下「建立指標」按鈕後,畫面會顯示記錄指標建立畫面:

296af6e7d8dcf6cf.png

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

向下捲動畫面會顯示篩選器部分,請在其中輸入查詢內容。

f7f2093fa1bce2ac.png

我們會將上一節的查詢內容貼到「建立篩選器」文字區域。

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

您也可以按一下「PREVIEW LOGS」按鈕,快速查看與篩選條件相符的過往記錄檔。完成後,請按一下「建立指標」按鈕,前往下一個部分。

查看記錄指標資料

記錄指標建立完成之後,您就能透過「記錄指標」頁面的「使用者定義指標」部分查看這項指標。

1b2c88c18533fbcd.png

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

54a836fdc3a666a3.png

擷取到的新錯誤會由記錄指標擷取,並顯示在 Metrics Explorer 的圖表視窗中。

透過自訂資訊主頁進行監控

確認新的記錄指標正常運作後,您就可以將這個圖表檢視畫面儲存到自訂資訊主頁。為此,請按一下 Metrics Explorer 右上角的「Save Chart」(儲存圖表) 按鈕。系統隨即會顯示提示,方便您為圖表命名,然後選取要儲存至圖表的資訊主頁:

52329085f841782e.png

只要將圖表儲存至資訊主頁,就能從該處輕鬆存取。如要查看專案中可用的資訊主頁清單,請依序點選「作業」>「Monitoring」>「資訊主頁」

44961e7cb3663341.png

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

f7e025c27f30f996.png

將顯示代表記錄指標的圖表和新收集的資料一併顯示在這裡。智慧型住宅記錄檔會即時發布至您的專案。取得新記錄時,會立即計入記錄指標中。

4. 恭喜

674c4f4392e98c1.png

恭喜!您已學會如何將查詢轉換成記錄指標,並儲存至自訂資訊主頁來監控。

後續步驟

建構本程式碼研究室後,您可以嘗試下列練習並瀏覽其他資源:

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