儲存及共用 SQL 查詢

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

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

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

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

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

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

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

事前準備

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

設定記錄檔 bucket

確認記錄檔 bucket 已升級為使用 Log Analytics:

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

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

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

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

設定 IAM 角色和權限

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

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

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

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

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

儲存查詢

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

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

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

控制台

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

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

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

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

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

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

    查詢可包含任何有效的資料檢視、多個資料檢視和資料分析檢視

    當「Query」(查詢) 窗格中的查詢有效時,「save」(儲存)「Save」(儲存) 會啟用。

  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
            `TABLE_NAME_OF_LOG_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. 在「Query」(查詢) 窗格中填入查詢,然後按一下「Run query」(執行查詢)

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

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

  4. 將連結傳送給隊友。

    隊友開啟連結後,系統會開啟「Log Analytics」(記錄分析) 頁面。 這個頁面會顯示您執行的查詢和查詢結果。

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

API

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

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

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

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

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

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

後續步驟