使用 Log Analytics 查詢及分析記錄檔

本文件說明如何查詢及分析儲存在已升級為使用記錄檔分析工具的記錄檔 bucket 中的記錄資料。您可以使用 SQL 查詢這些值,篩選及匯總記錄。如要查看查詢結果,您可以使用表格形式,也可以使用圖表呈現資料。這些表格和圖表可儲存至自訂資訊主頁。

您可以查詢記錄值區的記錄檢視畫面數據分析檢視畫面。查詢記錄檢視畫面時,結構定義會對應至 LogEntry 資料結構。由於結構定義是由資料檢視建立者決定,因此資料檢視的用途之一,就是將記錄資料從 LogEntry 格式轉換為更適合您的格式。

無論記錄檔值區是否已升級為使用 Log Analytics,您都可以使用記錄檔檢視器查看專案中記錄檔值區儲存的記錄項目。

Log Analytics 不會去除重複的記錄項目,這可能會影響您編寫查詢的方式。此外,使用 Log Analytics 時也有一些限制。如要進一步瞭解這些主題,請參閱下列文件:

關於連結的資料集

Log Analytics 支援建立連結的 BigQuery 資料集,讓 BigQuery 能夠讀取基礎資料。如果您選擇建立連結資料集,可以執行下列操作:

本文件未說明如何建立已連結的資料集,或如何設定 Log Analytics 以便在保留的空格上執行查詢。如果您對這些主題有興趣,請參閱「在 BigQuery 中查詢已連結的資料集」。

事前準備

本節說明您必須完成的步驟,才能使用 Log Analytics。

設定記錄檔 bucket

確認記錄檔值區已升級,可使用 Log Analytics:

  1. 在 Google Cloud 控制台中,前往「Logs Storage」(記錄檔儲存空間) 頁面:

    前往「Logs Storage」(記錄檔儲存空間)

    如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果

  2. 針對每個含有您要查詢的記錄檢視畫面的記錄值區,請確認「可用 Log Analytics」欄顯示「開啟」。如果畫面顯示「Upgrade」,請按一下「Upgrade」,然後完成對話方塊。

設定 IAM 角色和權限

本節說明使用 Log Analytics 所需的 IAM 角色或權限:

  • 如要取得使用 Log Analytics 和查詢記錄檔檢視畫面所需的權限,請要求管理員為您授予專案的下列 IAM 角色:

    您可以將特定記錄檢視畫面限制給特定實體,方法是將 IAM 條件新增至專案層級的記錄檢視畫面存取者角色授權,或是將 IAM 繫結新增至記錄檢視畫面的政策檔案。詳情請參閱「控管記錄檢視畫面的存取權」。

    這些權限與您在「Logs Explorer」頁面上查看記錄項目時所需的權限相同。如要瞭解需要其他角色才能查詢使用者定義值區的檢視畫面,或查詢 _Default 記錄值區的 _AllLogs 檢視畫面,請參閱「Cloud Logging 角色」。

  • 如要取得查詢 Analytics 檢視畫面所需的權限,請要求管理員為您授予專案的 Observability Analytics 使用者 (roles/observability.analyticsUser) IAM 角色。

查詢記錄檢視畫面或數據分析檢視畫面

排解問題時,您可能需要計算欄位與模式相符的記錄項目數量,或計算 HTTP 要求的平均延遲時間。您可以在記錄檢視畫面上執行 SQL 查詢,執行這些動作。

如要對記錄檢視表發出 SQL 查詢,請執行下列操作:

  1. 在 Google Cloud 控制台中,前往「Log Analytics」(記錄檔分析) 頁面:

    前往「Log Analytics」(記錄檔分析)

    如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果

  2. 如要載入預設查詢,請執行下列操作:

    1. 在「資料檢視」選單中,前往「區隔」「記錄」或「data_table」「數據分析資料檢視」部分,然後選取要查詢的資料檢視。

      如要找出觀看次數,您可以使用 「篩選」列,也可以捲動清單:

      • 記錄檢視會以 BUCKET_ID.LOG_VIEW_ID 列出,其中這些欄位會參照記錄檔 bucket 和記錄檢視的 ID。

      • Analytics 資料檢視會以 LOCATION.ANALYTICS_VIEW_ID 列出,其中這些欄位會參照 Analytics 資料檢視的位置和 ID。Analytics 檢視畫面目前為公開測試版。

    2. 在「Schema」工具列中,按一下「Query」

      「查詢」窗格會更新 SQL 查詢,用於查詢所選的 Google Analytics 檢視表。

  3. 如要輸入查詢,請按照下列步驟操作:

    • 如要指定時間範圍,建議您使用時間範圍選取器。如果您可以新增指定 timestamp 欄位的 WHERE 子句,該值會覆寫時間範圍選取器中的設定,且該選取器會停用。

    • 如需查詢範例,請參閱「查詢範例」。

    • 如要查詢記錄檔檢視畫面,查詢的 FROM 子句應採用以下格式:

      FROM `PROJECT_ID.LOCATION.BUCKET_ID.LOG_VIEW_ID`
      
    • 如要查詢 Analytics 檢視畫面,查詢的 FROM 子句應採用下列格式:

      FROM `analytics_view.PROJECT_ID.LOCATION.ANALYTICS_VIEW_ID`
      

    以下說明上述運算式中的欄位含義:

    • PROJECT_ID:專案的 ID。
    • LOCATION:記錄檢視畫面或分析檢視畫面的位置。
    • BUCKET_ID:記錄值區的名稱或 ID。
    • LOG_VIEW_ID:記錄檢視的 ID,長度上限為 100 個半形字元,且只能包含英文字母、數字、底線和連字號。
    • ANALYTICS_VIEW_ID:數據分析檢視畫面的 ID,長度上限為 100 個半形字元,且只能包含英文字母、數字、底線和連字號。
  4. 確認工具列中顯示「Run query」按鈕。

    如果工具列顯示「在 BigQuery 中執行」,請按一下 「設定」,然後選取「記錄檔分析 (預設)」

  5. 執行查詢。

    系統會執行查詢,並在「結果」分頁中顯示查詢結果。

    您可以使用工具列選項設定查詢格式、清除查詢,以及開啟 BigQuery SQL 參考文件。

  6. 查看查詢結果。您可以以表格或圖表的形式查看結果。圖表可儲存至自訂資訊主頁。詳情請參閱「圖表 SQL 查詢結果」。

顯示結構定義

結構定義會定義其結構和每個欄位的資料類型。這項資訊對您來說非常重要,因為它會決定您建構查詢的方式。舉例來說,假設您要計算 HTTP 要求的平均延遲時間。您必須瞭解如何存取延遲時間欄位,以及該欄位是儲存為 100 這類整數,還是儲存為 "100" 這類字串。如果延遲資料是以字串形式儲存,則查詢必須先將值轉換為數值,才能計算平均值。

如果資料類型為 JSON,Log Analytics 會自動推斷資料欄的欄位。如要查看這些推論欄位在資料中出現的頻率,請按一下 「選項」,然後選取「查看資訊和說明」

如要找出結構定義,請按照下列步驟操作:

  1. 在 Google Cloud 控制台中,前往「Log Analytics」(記錄檔分析) 頁面:

    前往「Log Analytics」(記錄檔分析)

    如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果

  2. 在「Views」窗格中找出記錄檢視畫面或分析檢視畫面,然後選取所需檢視畫面。

    系統會顯示結構定義。對於記錄檢視畫面,結構定義是固定的,且對應至 LogEntry 資料結構。針對數據分析檢視表,您可以修改 SQL 查詢來變更結構定義。

後續步驟