1. 事前準備
如同智慧型家居偵錯程式碼研究室所述,我們會將指標和記錄發布至智慧型家居專案。指標可協助您判斷智慧家庭動作發生問題的所在位置,而記錄則可用於深入瞭解這些問題並加以解決。
除了我們為專案提供的指標之外,您也可以使用 Google Cloud 的記錄指標產生自訂指標。這樣一來,您就能監控記錄中的特定模式,並有效偵錯品質問題。
必要條件
課程內容
- 如何撰寫有效的查詢,篩選智慧家庭錯誤記錄
- 如何建立記錄指標,從查詢產生指標
- 如何使用記錄檔指標建立圖表和監控資訊主頁
2. 使用記錄檔
如同我們在智慧型家居程式碼研究室中簡要說明,使用記錄檔是專案成功的關鍵。Google Cloud 提供多種實用工具,可用於監控及分析記錄。如要存取專案可用的所有記錄,您可以使用記錄檔探索工具。
存取記錄檔
如要存取記錄,請先登入 Google Cloud 並選擇專案。使用側邊選單前往「Logs Explorer」,方法是依序點選「作業」>「記錄」>「記錄檔探索工具」。開啟工具後,您應該會看到這個檢視畫面:
Logs Explorer 包含兩個主要部分:頂端的編寫查詢區段 (查詢建構工具) 和顯示比對結果的區域 (查詢結果)。
根據預設,Google 中的許多不同元件都會將記錄寫入專案。如要查看並處理智慧型住宅整合功能產生的記錄,您必須編寫自訂查詢。
編寫查詢
記錄會發布至資源類型下的專案。每個資源類型都代表 Google 中的不同平台。來自智慧型家居平台的記錄會以 assistant_action_project
資源類型提供給專案。
此外,所有記錄在建立時都會指派嚴重性層級。在智慧型家居記錄中,我們會使用 ERROR
層級代表錯誤和例外狀況,其他則使用 DEBUG
層級。
在以下範例中,我們會編寫查詢,只篩選來自平台的記錄,如下所示:
編寫查詢完成後,請按一下「Run query」 按鈕,啟動查詢。這應該會顯示智慧住宅整合功能產生的錯誤:
如您所見,我們在過去一小時內發生了許多錯誤。每列代表一個錯誤記錄。您可以進一步點選個別記錄,並展開巢狀欄位,查看其中包含的資訊。
使用直方圖
記錄檔探索工具提供實用的「直方圖」功能,可查看符合查詢的記錄檔時間分布情形。如要啟用「直方圖」,請按一下右上角的「頁面版面配置」按鈕,然後勾選「直方圖」即可啟用這項功能。
啟用後,您會看到符合查詢的記錄分布情形:
如上圖所示,我們在過去一小時內發現了幾個錯誤,但這些錯誤分散分布。這些點似乎形成了三個叢集,分別位於下午 1 點 45 分、2 點和 2 點 15 分。您可以使用直方圖偵測出只查看時間戳記值時難以發現的模式。
目前,我們使用的查詢不會區分記錄,並會顯示智慧型家居整合功能產生的所有錯誤。在許多情況下,您可能需要區分錯誤,例如追蹤特定裝置類型或特徵的錯誤模式。為此,我們將介紹如何撰寫進階查詢。
進階查詢
檢查智慧家庭事件記錄時,你會看到可用來收集資訊的各種欄位:
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)
使用上述清單中的特徵欄位,我們會修改查詢,只納入來自 OnOff 特徵的錯誤,如下所示:
resource.type="assistant_action_project" AND severity=ERROR AND jsonPayload.executionLog.executionResults.actionResults.action.trait="TRAIT_ON_OFF"
執行更新後的查詢後,系統會識別記錄並顯示對應結果:
到目前為止,我們都手動執行查詢。這麼做雖然可以快速檢查錯誤狀態,但無法監控錯誤模式隨時間的變化。為了自動化這項流程,並擷取較長時間範圍的資料,我們會建立記錄指標。
3. 記錄指標
如要計算與查詢相符的記錄數量,您可以使用記錄指標。這樣一來,您就能查看記錄檔中的模式,並針對潛在問題提供詳細的洞察資料。
建立記錄指標
如要建立記錄指標,請依序前往「操作」>「記錄」>「記錄指標」。這會顯示專案中現有的記錄指標清單。點選「建立指標」按鈕後,您會看到以記錄為基礎的指標建立畫面:
主要指標類型有兩種:計數指標會計算符合查詢條件的記錄數。分配指標可追蹤基礎分配情形,並允許執行統計運算,例如平均值、中位數和第 95 個百分位數。
向下捲動畫面,即可看到可輸入查詢的篩選器部分。
我們會將上一個部分的查詢貼到「Build filter」文字區域中。
resource.type="assistant_action_project" AND severity=ERROR AND jsonPayload.executionLog.executionResults.actionResults.action.trait="TRAIT_ON_OFF"
您也可以按一下「預覽記錄」按鈕,快速查看符合篩選條件的過去記錄。完成後,您可以按一下「建立指標」按鈕,繼續進行下一節。
查看記錄指標資料
記錄指標建立完成後,您可以在「記錄指標」頁面的「使用者定義指標」專區中查看這項指標。
在對應於記錄指標的選單 (3 點) 中,選取「在 Metrics Explorer 中查看」,即可查看記錄指標收集到的資料:
一旦發生新錯誤,系統就會透過以記錄為基礎的指標擷取錯誤,並在 Metrics Explorer 的圖表視窗中顯示。
透過自訂資訊主頁進行監控
確認新的以記錄為基礎指標運作正常後,就可以將這張圖表檢視畫面儲存為自訂資訊主頁。如要儲存圖表,請按一下Metrics Explorer 右上角的「Save Chart」按鈕。系統會顯示提示,要求您為圖表命名,並選取要儲存圖表的資訊主頁:
將圖表儲存到資訊主頁後,我們就能輕鬆存取。如要查看專案中可用的資訊主頁清單,請依序前往「作業」>「監控」>「資訊主頁」。
我們已將圖表儲存在名為「Codelab Dashboard」的資訊主頁中。開啟後會顯示下列檢視畫面:
如您所見,這裡會顯示代表記錄式指標的圖表,以及新收集的資料。智慧型家居記錄會即時發布至專案。新的記錄可供使用時,您會立即看到系統根據記錄為基礎的指標計算的結果。
4. 恭喜
恭喜!您已成功瞭解如何將查詢轉換為以記錄為基礎的指標,並將這些指標儲存到自訂資訊主頁中進行監控。
後續步驟
請參考本程式碼研究室的內容,嘗試下列練習,並探索其他資源: