本文說明 Analytics 檢視區,以及建立檢視區的時機。此外,本文也會說明分析檢視畫面與您可能熟悉的概念 (例如已儲存的查詢和記錄檢視畫面) 之間的差異。
總覽
Analytics 資料檢視是可供查詢的資源。也就是說,定義數據分析檢視區後,您可以在 FROM 子句中指定數據分析檢視區,然後撰寫查詢。
使用 Analytics 檢視畫面的主要優點是,您不必受限於 API 或系統定義的資料查詢格式。分析檢視畫面可讓您定義結構定義,簡化查詢或減少撰寫查詢的時間。分析檢視區的查詢可以執行下列動作:只保留特定欄位、重新命名欄位、將巢狀欄位移至頂層資料欄,以及執行分組和匯總作業。
Analytics 資料檢視並非具體化檢視。分析資料檢視並非預先運算的檢視,不會定期快取查詢結果。因此,查詢 Analytics 檢視區等同於查詢 Analytics 檢視區查詢中列出的檢視區。
Analytics 資料檢視比已儲存的查詢更強大。已儲存的查詢是指您在「記錄檔分析」頁面執行的查詢,然後儲存這些查詢。您可以重新執行已儲存的查詢,但無法查詢已儲存查詢的結果。
分析檢視畫面類型
分析檢視畫面分為兩種:使用者定義和系統定義:
- 使用者定義的 Analytics 資料檢視是指您建立的任何 Analytics 資料檢視。您可以查詢、編輯及刪除使用者定義的 Analytics 檢視畫面。 
- 系統定義的數據分析檢視畫面是由服務建立的數據分析檢視畫面。Google Cloud 您可以查詢系統定義的 Analytics 檢視區塊。但無法編輯或刪除。 
如要瞭解如何列出Google Cloud 專案中的 Analytics 檢視區塊,請參閱「列出 Analytics 檢視區塊」。
數據分析檢視畫面位置
資料分析檢視區的位置取決於所查詢資源的位置。舉例來說,如果分析檢視區查詢位於 global 位置的記錄檢視區,則分析檢視區的位置也必須是 global。使用 Google Cloud 控制台
建立 Analytics 資料檢視時,系統會自動設定位置。
應用實例
分析檢視畫面的主要優點在於,您不必受限於系統定義的格式,分析檢視畫面可讓您定義結構定義,簡化查詢或減少撰寫查詢的時間。
查詢網路詳細資料
您想使用虛擬私有雲流量記錄檔分析網路效能。您需要分析整體網路效能,並找出特定網路、IP 位址和主機。這項資訊會儲存在記錄項目的 json_payload 欄位中,以巢狀欄位表示。
為簡化分析查詢,請建立下列分析檢視並命名為 network_details:
SELECT
  -- Create a column for each network field.
  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
  -- Query one log view.
  `PROJECT_ID.LOCATION.BUCKET_ID.LOG_VIEW_ID`
WHERE
  -- Only query the VPC Flow Logs log.
  log_id = "compute.googleapis.com/vpc_flows"
  AND SEARCH(json_payload.reporter, "SRC")
使用查詢前,請先設定下列變數的值:
- PROJECT_ID:專案的 ID。
- LOCATION:記錄檢視畫面所在位置。
- BUCKET_ID:記錄 bucket 的名稱或 ID。
- LOG_VIEW_ID:記錄檢視的 ID,最多 100 個字元,只能包含英文字母、數字、底線和連字號。
如要分析聯播網成效,請查詢 Analytics 檢視畫面。舉例來說,如果您只對執行個體的名稱和傳送的資料量感興趣,可以編寫下列查詢:
SELECT vm_name, bytes_sent, packets_sent,
FROM `analytics_view.my_project.global.network_details`
ORDER BY bytes_sent DESC
LIMIT 100
API 延遲分析的基本查詢
多個團隊需要每週的成效資料才能完成分析。您不必讓每個團隊產生每週資料,而是建立可擷取每週資料的分析檢視畫面。其他團隊可以查詢數據分析檢視畫面,然後執行分析。
下列查詢說明如何使用 SQL 計算要求延遲時間的最小值、最大值和平均值:
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
    -- Query one log view.
    `PROJECT_ID.LOCATION.BUCKET_ID.LOG_VIEW_ID`
  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
限制
分析檢視畫面有下列限制:
- 分析檢視區塊只能查詢記錄檢視區塊。
- Analytics 檢視區塊的上層資源必須是 Google Cloud 專案。
- 您只能使用「記錄檔分析」頁面查詢 Analytics 檢視區,且只能使用「記錄檔分析 (預設)」查詢引擎。
- Analytics 檢視區塊查詢的所有檢視區塊都必須位於相同位置。
- 您必須使用 Google Cloud 控制台建立或管理 Analytics 檢視區。
- 每個專案最多可建立 100 個 Google Cloud Analytics 資料檢視。
- 每個區域最多可建立 50 個數據分析檢視區。
- 每個 Google Cloud 專案最多可有 10 個區域包含 Analytics 檢視區塊。