關於數據分析檢視畫面

本文說明 Analytics 檢視區,以及建立檢視區的時機。此外,本文也會說明分析檢視畫面與您可能熟悉的概念 (例如記錄檢視畫面和已儲存的查詢) 之間的差異。

如要瞭解如何建立、查詢及管理 Analytics 檢視區塊,請參閱「建立及查詢 Analytics 檢視區塊」。

總覽

資料分析檢視區是可查詢的資源。這項資源包含 SQL 查詢,可查詢一或多個記錄檢視畫面。

記錄檔 bucket 中的記錄檢視畫面可控管您能查看的記錄檔 bucket 記錄項目。您可以使用 Logs Explorer 和「記錄檔分析」頁面查詢記錄檢視畫面。無論是哪種情況,查詢資料的格式都是由 LogEntry 資料結構決定。

分析檢視區塊所含的 SQL 查詢可讓您將一或多個記錄檢視區塊中的記錄資料轉換為自訂格式。也就是說,您可以篩選記錄檢視畫面中的哪些記錄項目會影響查詢結果,並定義結果的資料欄。舉例來說,您可以捨棄資料欄、將巢狀 JSON 欄位中的資料移至資料欄,或是新增資料欄。

Analytics 資料檢視不是具體化檢視。 分析資料檢視不是預先計算的檢視,不會定期快取查詢結果。因此,查詢 Analytics 資料檢視等同於查詢 Analytics 資料檢視所查詢的記錄檢視。

分析檢視區和已儲存的查詢都包含 SQL 查詢。不過,分析資料檢視是可查詢的資源。 您可以重新執行已儲存的查詢,但無法查詢已儲存查詢的結果。

數據分析檢視類型

分析檢視畫面分為兩種:使用者定義和系統定義:

  • 使用者定義的 Analytics 資料檢視是指您建立的任何 Analytics 資料檢視。您可以查詢、編輯及刪除使用者定義的 Analytics 檢視畫面。

  • 系統定義的數據分析檢視畫面是由Google Cloud 服務建立的數據分析檢視畫面。您可以查詢系統定義的 Analytics 檢視區塊。但無法編輯或刪除。

如要瞭解如何列出Google Cloud 專案中的 Analytics 檢視區塊,請參閱「列出 Analytics 檢視區塊」。

數據分析檢視畫面位置

資料分析檢視區的位置取決於所查詢資源的位置。舉例來說,如果 Analytics 資料檢視查詢位於 global 位置的記錄檢視,則 Analytics 資料檢視的位置也必須是 global。使用 Google Cloud 控制台建立 Analytics 資料檢視時,系統會自動設定位置。

數據分析檢視的優點

分析檢視區的主要優點是,您可以轉換記錄檔資料,並為其他查詢建立一致的結構定義。不過,您也可能會發現,建立資料分析檢視區塊可減少撰寫查詢所花費的心力,或改善查詢的結構。由於資料分析檢視表並非具體化檢視表,因此使用這類檢視表不一定能縮短查詢時間。

範例:資料轉換

假設您要使用虛擬私有雲流量記錄檔分析網路效能。您需要分析整體網路效能,並識別特定網路、IP 位址或主機。很抱歉,您需要的資訊位於記錄項目的 json_payload 欄位中,屬於巢狀欄位。

如要從記錄檔項目擷取這項資訊,請編寫下列查詢,然後將查詢儲存為名為 network_details 的 Analytics 檢視區塊:

SELECT
  JSON_VALUE(resource.labels.subnetwork_name) subnetwork_name,
  JSON_VALUE(json_payload.src_instance.vm_name) vm_name,
  JSON_VALUE(json_payload.connection.src_ip) as src_ip,
  JSON_VALUE(json_payload.connection.src_port) as src_port,
  JSON_VALUE(json_payload.connection.dest_ip) as dest_ip,
  JSON_VALUE(json_payload.connection.dest_port) as dest_port,
  CAST(JSON_VALUE(json_payload.bytes_sent) as INT64) as bytes_sent,
  CAST(JSON_VALUE(json_payload.packets_sent) as INT64) as packets_sent
FROM `TABLE_NAME_OF_LOG_VIEW`
WHERE
    log_id = "compute.googleapis.com/vpc_flows"
    AND SEARCH(json_payload.reporter, "SRC")

如要分析電視網成效,現在可以查詢您的分析檢視畫面。舉例來說,如果您只對執行個體的名稱和傳送的資料量感興趣,可以編寫下列查詢:

SELECT vm_name, bytes_sent, packets_sent,
FROM `analytics_view.my_project.global.network_details`
ORDER BY bytes_sent DESC
LIMIT 100

範例:API 延遲分析的基本查詢

假設您的任務是評估並彙整每週間隔的請求延遲時間。其他團隊會以每週成效分析資料為基礎,進行其他分析。

您建立的 Analytics 檢視畫面可供其他團隊查詢,並根據特定記錄檢視畫面中的記錄項目,回報已完成要求的最低、最高和平均延遲時間:

SELECT week,MIN(took_ms) as min , MAX(took_ms) AS max, AVG(took_ms) AS avg
FROM (
  SELECT TIMESTAMP_TRUNC(timestamp, WEEK) AS week,
  CAST( JSON_VALUE(json_payload, '$."http.resp.took_ms"') AS INT64) as took_ms
  FROM `TABLE_NAME_OF_LOG_VIEW`
  WHERE json_payload IS NOT NULL
    AND SEARCH(labels,"frontend")
    AND JSON_VALUE(json_payload.message) = "request complete"
  ORDER BY took_ms DESC, timestamp ASC
)
GROUP BY week ORDER BY week

必要 IAM 角色和權限

由於 Analytics 資料檢視會查詢記錄檔資料檢視,因此您的 IAM 角色也必須允許您查詢記錄檔資料檢視,並使用 Log Analytics,才能建立及查詢 Analytics 資料檢視。本節列出建立 Analytics 檢視區塊所需的 IAM 角色,以及查詢記錄檢視區塊和使用記錄檔分析所需的角色:

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

    這個預先定義的角色具備建立、管理及使用數據分析檢視畫面所需的權限。如要查看確切的必要權限,請展開「必要權限」部分:

    所需權限

    如要建立、管理及使用 Analytics 資料檢視,必須具備下列權限:

    • observability.analyticsViews.get
    • observability.analyticsViews.list
    • observability.analyticsViews.create
    • observability.analyticsViews.update
    • observability.analyticsViews.delete
  • 如要取得查詢記錄檢視區和使用記錄檔分析功能所需的權限,請要求管理員將專案的下列 IAM 角色授予您:

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

    如要瞭解查詢使用者定義值區中的檢視區塊,或查詢 _Default 記錄值區的 _AllLogs 檢視區塊時,需要哪些額外角色,請參閱「Cloud Logging 角色」一文。

限制

分析檢視畫面有下列限制:

  • 分析檢視畫面無法查詢其他分析檢視畫面。
  • 分析檢視區塊可以查詢多個記錄檢視區塊。不過,主機代管所查詢記錄檢視區的記錄 bucket 必須位於同一位置。舉例來說,假設您有兩個記錄值區,一個位於 us-east1,另一個位於 asia-east1。您無法建立分析檢視區塊,查詢這些記錄檔儲存空間中的記錄檔檢視區塊。
  • Analytics 檢視區塊的父項資源必須是 Google Cloud 專案。您無法在資料夾或機構中建立 Analytics 檢視區。
  • 分析檢視區不支援連結的資料集。因此,您只能使用「記錄檔分析」頁面查詢 Analytics 檢視畫面。此外,您必須在預設的 Cloud Logging 服務上執行這些查詢。
  • 無法透過 API 建立或管理數據分析檢視區。
  • 以下限制適用於 Analytics 檢視區:

    • 每個 Google Cloud 專案的 Analytics 檢視畫面數量上限:100 個
    • 每個 Google Cloud 專案在每個區域的 Analytics 檢視畫面數量上限:50 個
    • 每個 Google Cloud 專案最多可儲存 10 個區域的 Analytics 檢視畫面。

後續步驟