儲存及共用 SQL 查詢

本文件說明如何儲存及共用您在 Log Analytics 中建立的查詢。

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

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

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

已儲存的查詢是指您透過「Log Analytics」頁面執行查詢,然後儲存為查詢的查詢。儲存動作可讓您隨時重新執行這項查詢。儲存查詢時,您可以選擇將查詢設為私人,也可以讓具備 Log Analytics 使用權限的其他使用者查看。您無法編寫 SQL 查詢,因為 FROM 子句會指定已儲存的查詢。

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

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

事前準備

本節說明您必須完成的步驟,才能使用 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 角色:

    • 如要查詢 _Required_Default 記錄檔值區: 記錄檢視器 (roles/logging.viewer)
    • 如要查詢專案中的所有記錄檢視畫面: 記錄檢視存取器 (roles/logging.viewAccessor)

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

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

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

儲存查詢

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

如果您想保留查詢以供日後使用,請在查詢中加上對您有用的註解,或是讓同事查看及執行查詢,然後儲存查詢。您可以依名稱、說明和顯示標籤搜尋及排序已儲存的查詢。您也可以編輯及刪除這些查詢。系統會保留您儲存的查詢,直到您刪除為止。

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

控制台

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

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

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

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

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

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

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

    如果「Query」窗格中的查詢有效,系統會啟用「Save」

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

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

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

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

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

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

您可以使用「Saved」分頁中的選項編輯及刪除所建立的查詢:

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

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

API

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

您可以使用方法參考資料頁面上的 API 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 角色會決定是否可以執行查詢,以及查詢傳回的資料。

控制台

排解問題或看到異常結果時,您可能會想與同事分享查詢和查詢結果。在「Log Analytics」頁面上查看查詢結果時,您可以複製網址,開啟後即可查看所執行查詢及其結果。

如要與同事分享查詢和結果,請按照下列步驟操作:

  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」頁面上的「最近」分頁,然後找出查詢:

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

如要查看、編輯或執行已儲存的查詢,請選取「Log Analytics」頁面中的「Saved」分頁,然後找出查詢:

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

後續步驟