儲存及共用 SQL 查詢

本文說明如何儲存及共用在記錄分析中建立的查詢。

本文假設您已熟悉 Log Analytics,並瞭解如何使用「Log Analytics」頁面查詢記錄檔資料。如果您不熟悉這些主題,請參閱「查詢及分析記錄檔」。

如要瞭解如何將查詢結果繪製成圖表,以及如何將這些圖表儲存到自訂資訊主頁,請參閱「將 SQL 查詢結果繪製成圖表」。

已儲存查詢與數據分析檢視畫面的差異

已儲存的查詢是指您使用「Log Analytics」頁面執行的查詢,然後儲存為查詢。儲存後,您就能在方便的時間重新執行這項查詢。儲存查詢時,您可以選擇設為私人查詢,或是開放給有權使用記錄檔分析的其他使用者查看。您無法撰寫 SQL 查詢,其中 FROM 子句指定已儲存的查詢。

資料分析檢視畫面包含查詢,您可以隨時重新執行。您可以針對記錄檢視表編寫 SQL 查詢,然後將結果儲存為檢視表,藉此建立 Analytics 檢視表。與儲存的查詢不同,您無法將數據分析檢視畫面設為私人檢視畫面。 您可以查詢 Analytics 檢視畫面。這項功能可將 LogEntry 格式的記錄資料轉換為更適合您的其他格式。然後,您會查詢分析檢視畫面,而不是查詢記錄檢視畫面。

您可以儲存查詢記錄檢視畫面或數據分析檢視畫面的查詢。

事前準備

本節說明使用記錄分析前必須完成的步驟。

設定記錄檔 bucket

確認記錄檔 bucket 已升級為使用記錄檔分析:

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

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

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

  2. 針對要查詢的記錄檢視區塊所屬的每個記錄 bucket,請確認「可使用記錄檔分析」欄顯示「開啟」。如果顯示「升級」,請按一下「升級」並完成對話方塊。

設定 IAM 角色和權限

本節說明使用記錄檔分析功能所需的 IAM 角色或權限:

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

    如要將主體限制為特定記錄檢視畫面,請在專案層級授予記錄檢視畫面存取者角色時新增 IAM 條件,或在記錄檢視畫面的政策檔案中新增 IAM 繫結。詳情請參閱「控管記錄檢視畫面存取權」。

    您必須具備這些權限,才能在「記錄探索器」頁面查看記錄項目。如要瞭解查詢使用者定義值區中的檢視畫面,或查詢 _Default 記錄檔值區的 _AllLogs 檢視畫面時,需要哪些額外角色,請參閱「Cloud Logging 角色」。

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

儲存查詢

您執行的所有查詢都會自動儲存 30 天,只要在「記錄檔分析」頁面選取「最近」分頁,即可存取這些查詢。您可以搜尋、查看、執行及分享「近期」分頁中列出的查詢。

如要保留查詢以供日後使用、為查詢加上對您有用的註解,或允許團隊成員查看及執行查詢,請儲存查詢。您可以依名稱、說明和顯示標籤搜尋及排序已儲存的查詢。您也可以編輯及刪除這些查詢。儲存的查詢會保留到您刪除為止。

每個專案最多可儲存 10,000 個查詢。 Google Cloud

控制台

如要儲存查詢,請按照下列步驟操作:

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

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

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

  2. 在「Query」(查詢) 窗格中填入查詢。

    您可以輸入新查詢、從「近期」分頁選取查詢,或從「已儲存」分頁選取查詢,藉此填入「查詢」窗格。

    查詢可包含任何有效的檢視區塊、多個檢視區塊和數據分析檢視區塊

    當「查詢」窗格中的查詢有效時,「儲存」「儲存」會啟用。

  3. 按一下「儲存」,選取「儲存查詢」,然後填寫「名稱」和「說明」欄位。您為這些欄位設定的值會顯示在「已儲存」分頁中。

  4. 選用:如要讓有權存取專案檢視畫面「記錄檔分析」頁面的人員執行已儲存的查詢,請啟用「與專案共用」切換按鈕。 Google Cloud

    根據預設,這個切換按鈕會停用,且只有你能查看。

  5. 按一下 [Save query] (儲存查詢)

  6. 選用:如要查看、排序及執行您可見的已儲存查詢,請選取「已儲存」分頁標籤。

    您可以依據名稱、說明和顯示狀態標籤,排序及篩選已儲存的查詢。你也可以依查詢內容篩選。

如要編輯及刪除您建立的查詢,請使用「已儲存」分頁中的選項:

  • 如要編輯查詢,請按一下「更多選項」,然後選取「編輯」。 您可以修改「名稱」和「說明」欄位的值,但無法修改查詢本身。

  • 如要刪除已儲存的查詢,請按一下「更多選項」,然後選取「刪除」

API

如要使用 Logging API 儲存查詢,請使用 savedQueries.create 方法。如要進一步瞭解這個方法、參數和回應資料,請參閱 savedQueries.create 的參考頁面。

您可以使用方法參考資料頁面上的 APIs Explorer 小工具,執行 savedQueries.create 方法。如果是 Log Analytics 查詢,您必須指定 opsAnalyticsQuery 欄位。下列範例說明範例要求主體,其中包含 SavedQuery 的例項:

{
   "parent": "projects/my-project/locations/global"
   "saved_query":
   {
      "ops_analytics_query":
      {
         "sql_query_text" :
            "SELECT
            timestamp, log_name, severity, json_payload, resource, labels
            FROM
            `VIEW`
            WHERE
            timestamp > TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 1 HOUR)
            ORDER BY timestamp ASC
            LIMIT 100"
      }
      "visibility": "PRIVATE"
   }
}

分享查詢

您可以與所有有權存取Google Cloud 專案的使用者分享已儲存的查詢。不過,主體的 IAM 角色會決定查詢是否可以執行,以及查詢傳回的資料。

控制台

排解問題或發現異常結果時,您可能想與隊友分享查詢和結果。在「記錄分析」頁面查看查詢結果時,您可以複製網址,開啟該網址即可顯示您執行的查詢及其結果。

如要與隊友共用查詢和結果,請按照下列步驟操作:

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

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

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

  2. 在「查詢」窗格中填入查詢,然後點選「執行查詢」

    您可以輸入新查詢、從「近期」分頁選取查詢,或從「已儲存」分頁選取查詢,藉此填入「查詢」窗格。

  3. 按一下「分享連結」圖示

  4. 將連結傳送給隊友。

    隊友開啟連結後,系統會開啟「Log Analytics」頁面並顯示查詢,但不會執行查詢。隊友必須手動執行查詢。

    如果查詢在 BigQuery 引擎上執行,且查詢的資源不在同一個擁有權界線內,記錄檔分析頁面就會顯示警告對話方塊。擁有權界線取決於多項因素,其中一項是查詢使用的資源階層。

    如要順利開啟網址,您隊友在 Google Cloud 專案中的 IAM 角色必須包含查看「記錄檔分析」頁面所需的權限。

API

您可以使用 Logging API,透過 savedQueries.Create 方法建立共用查詢,並在 visibility 欄位中指定 SHARED 值。詳情請參閱 savedQueries.create 的參考頁面。

查看及執行近期或已儲存的查詢

如要查看或重新執行查詢,請選取「Log Analytics」(記錄檔分析) 頁面上的「Recent」(最近) 分頁標籤,然後找出查詢:

  • 點選「執行」執行查詢
  • 如要查看查詢,請使用「 更多選項」選單中的選項。

如要查看、編輯或執行已儲存的查詢,請在「記錄檔分析」頁面選取「已儲存」分頁,然後找出查詢:

  • 點選「執行」執行查詢
  • 如要編輯、查看或刪除查詢,請使用「更多選項」選單中的選項。

後續步驟