Observability Analytics 可將 SQL 查詢結果以圖表呈現,方便您找出記錄資料中的模式和趨勢。執行查詢來搜尋及匯總記錄後,您可以在表格中查看結果、將結果轉換為圖表,以及將圖表儲存至資訊主頁。
舉例來說,下圖顯示 12 小時內的記錄項目數量,並依 severity 細分:
事前準備
本節說明使用 Observability Analytics 前必須完成的步驟。
設定記錄檔 bucket
確認記錄檔 bucket 已升級為使用 Observability Analytics:
-
在 Google Cloud 控制台中,前往「Logs Storage」(記錄檔儲存空間) 頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果。
- 針對要查詢記錄檔檢視表的每個記錄檔 bucket,確認「可使用 Observability Analytics」欄顯示「開啟」。如果畫面上顯示「Upgrade」(升級),請按一下「Upgrade」(升級),然後完成對話方塊。
設定 IAM 角色和權限
本節說明使用 Observability Analytics 所需的 IAM 角色或權限:
-
如要取得使用 Observability Analytics 和查詢記錄檢視表所需的權限,請要求管理員在專案中授予您下列 IAM 角色:
-
如要查詢
_Required和_Default記錄檔 bucket,請按照下列步驟操作: 記錄檢視器 (roles/logging.viewer) -
如要查詢專案中的所有記錄檢視表:記錄檢視表存取子 (
roles/logging.viewAccessor)
如要限制主體只能存取特定記錄檢視,您可以在專案層級授予「記錄檢視存取子」角色時,新增 IAM 條件,或是在記錄檢視的政策檔案中新增 IAM 繫結。詳情請參閱「控管記錄檔檢視畫面的存取權」。
這些權限與在「Logs Explorer」頁面查看記錄項目所需的權限相同。如要瞭解查詢使用者定義 bucket 上的檢視表,或查詢
_Default記錄檔 bucket 的_AllLogs檢視表時,需要哪些其他角色,請參閱「Cloud Logging 角色」。 -
如要查詢
-
如要取得查詢分析檢視表所需的權限,請要求管理員授予您專案的 Observability Analytics 使用者 (
roles/observability.analyticsUser) IAM 角色。 -
如要取得建立圖表所需的權限,請要求管理員授予您專案的 Monitoring 編輯者 (
roles/monitoring.editor) IAM 角色。
選取要製成圖表的資料
如要設定圖表顯示的資料,請使用 SQL 建構查詢。選取「Chart」(圖表) 分頁標籤時,圖表會顯示查詢結果。執行查詢並產生圖表後,您可以變更圖表類型並選取資料欄,自訂圖表來顯示不同資料。
如要以圖表形式查看查詢結果,請按照下列步驟執行查詢:
-
在 Google Cloud 控制台中,前往 manage_search「Observability Analytics」(觀測能力分析) 頁面:
前往「Observability Analytics」(觀測能力分析) 頁面
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果。
在「查詢」窗格中輸入查詢,然後點選「執行」。
查詢完成後,在「Results」(結果) 分頁中,選取查詢結果的查看方式:
表格:僅限表格格式。
圖表:僅限圖表格式。
兩者:圖表和表格格式。
選取查詢結果的檢視方式後,您可以為所選圖表設定任何欄位,然後將查詢和結果儲存至自訂資訊主頁。如果選取「Table」(表格) 選項,系統會以表格形式儲存。否則,格式為圖表。
如果是圖表,您可以透過圖表選項選取圖表類型,以及要納入圖表的資料列和資料欄。如要進一步瞭解圖表設定,請參閱「自訂圖表設定」。
自訂圖表設定
您可以變更圖表類型、選取要繪製圖表的維度和測量指標,以及套用細目,藉此自訂圖表設定。維度用於將資料列分組或分類,並代表 X 軸值。「Measure」(測量) 或 Y 軸值是根據 Y 軸繪製的資料序列。
變更圖表類型
您可以根據選取做為維度和測量指標的資料列和資料欄類型,以及資料的視覺化呈現方式,從下列圖表類型中進行選擇。
長條圖 (預設): 長條圖會在兩個軸上繪製資料。如果圖表使用類別或字串做為維度,您可以將長條圖的圖表設定設為水平或垂直,維度和測量軸會互換。
折線圖: 折線圖可用來呈現資料的變化趨勢。使用折線圖時,每個時間序列都會以不同的線條顯示,對應您選取的測量指標。
如果 X 軸是以時間為基礎,每個資料點都會放在時間間隔的開頭。每個資料點都透過線性內插法連接。
堆疊面積圖: 面積圖是以折線圖為基礎,每條線下方的區域都會加上陰影。在面積圖中,資料序列會堆疊。舉例來說,如果您有兩個相同的系列,則系列會在折線圖中重疊,但陰影區域會在面積圖中堆疊。
圓餅圖或環圈圖:圓餅圖會使用圓形代表整個資料集,並以圓形中的扇形代表資料集中的類別,藉此呈現資料集中的類別與整個資料集的關係。扇形的大小代表該類別占整體的比例,通常以百分比表示。
表格: 表格會為查詢結果中的每一列顯示一列。資料表中的資料欄是由
SELECT子句定義。如果您打算在資訊主頁上以表格形式顯示資料,請使用LIMIT子句,將結果中的資料列數量限制在幾百列以內。量表或評量表: 量表和評量表會提供最新值,並根據該值與一組門檻的比較結果,顯示綠色、琥珀色或紅色。量表只會顯示最新值的相關資訊,評量表則不同,還能包含過去值的相關資訊。
只有在查詢結果至少包含一列,且該列包含時間戳記欄和數值資料欄時,量表和評量表才能顯示查詢結果。查詢結果可以包含多個資料列和兩個以上的資料欄。
如要在查詢中執行時間彙整,請按照下列步驟操作:
設定查詢,依時間間隔匯總資料、依時間戳記遞減排序結果,並限制結果中的資料列數量。您可以使用
LIMIT子句或日期範圍選取器,限制查詢結果中的資料列數量。舉例來說,下列查詢會查詢記錄檢視表,並依小時匯總資料、套用限制,以及排序結果:
SELECT TIMESTAMP_TRUNC(timestamp, HOUR) AS hour, severity, COUNT(*) AS count FROM `PROJECT_ID.LOCATION.BUCKET_ID.LOG_VIEW_ID` WHERE severity IS NOT NULL AND severity = "DEFAULT" GROUP BY hour,severity ORDER BY hour DESC LIMIT 10
以下說明上述運算式中各欄位的意義:
- PROJECT_ID:專案 ID。
- LOCATION:記錄檔檢視表或分析檢視表的位置。
- BUCKET_ID:記錄檔 bucket 的名稱或 ID。
- LOG_VIEW_ID:記錄檔檢視畫面的 ID,長度上限為 100 個字元,且只能包含英文字母、數字、底線和連字號。
將「維度」設為與記錄時間單位的資料欄一致。舉例來說,如果查詢依一小時匯總資料,並建立名為
hour的資料欄,請將「Dimension」(維度) 選單設為hour。選取「Disable interval」(停用間隔),因為查詢已指定匯總間隔。在本範例中,這個間隔為一小時。
將「Measure」(測量指標) 設為數值欄,並將函式設為「none」(無)。
如要讓 Observability Analytics 執行時間彙整,請按照下列步驟操作:
- 設定日期範圍選取器,這會影響查詢結果中的資料列數量。
- 將「維度」設為與記錄時間單位的資料欄一致。舉例來說,您可以將這個選單設為
timestamp。 - 將「Interval」(間隔) 選單設為特定匯總時間間隔。舉例來說,將這個欄位的值設為
1 hour。請勿選取「Automatic interval」。 - 將「Measure」(測量) 設為數值欄,然後選取「sum」(總和) 等函式。
變更維度和測量指標
您可以選取維度和測量結果欄位,選擇要繪製哪些列和欄。
維度
維度必須是時間戳記、數字或字串欄。根據預設,維度會設為結構定義中第一個以時間戳記為基礎的資料欄。如果查詢中沒有時間戳記,系統會選取第一個字串資料欄做為維度。您也可以在「Chart display」(圖表顯示) 面板中自訂維度。如果選取時間戳記資料欄做為維度,圖表會顯示資料隨時間變化的情形。如果選取字串資料欄做為長條圖的維度,您可以按照遞增或遞減順序排序資料,這會按照詞彙順序排序維度。您也可以保留「預設」排列順序,根據對應測量指標的值,以遞減順序排序維度。
根據預設,系統會自動設定時間戳記的間隔,但您也可以選取自訂間隔。自動間隔會根據日期範圍選取器變更值,以維持大小相似的群組。
您也可以停用間隔,在查詢中指定自己的匯總和日期範圍,進行更複雜的分析。停用間隔會將測量指標的匯總函式設為
none。維度間隔停用時,只能使用數值測量指標。度量
您可以在「圖表顯示」面板中選取多個測量指標。選取測量指標時,也必須選取要對分組值執行的匯總函式,例如
count、sum、average和percentile-99。舉例來說,count-distinct會傳回指定資料欄中不重複值的數量。如果勾選維度的「停用間隔」核取方塊,則可使用
none匯總函式選項。如果維度是字串值,系統就不會顯示「停用間隔」核取方塊。不過,如果將測量指標的匯總函式設為none,也會停用間隔。
新增細目
如要根據其他資料欄將單一資料序列分割成多個資料序列,請新增細目。
選取細目時,請選擇包含少量簡短且有意義標籤的資料欄,例如 region_name。請勿選取可能包含大量字串或長字串的欄位,例如 textPayload。
舉例來說,請參閱下列圖表設定,其中「Dimension」(維度) 欄位設為 type、「Measure」(測量指標) 欄位設為「Count rows」(計算資料列數),「Breakdown」(細目) 欄位設為 severity:

在先前的螢幕截圖中,您可以看到堆疊資料序列,其中資源類型 k8s_container 分割成不同的 severity 類型。這可讓您瞭解特定資源產生的各嚴重性類型記錄數量。
將圖表儲存至自訂資訊主頁
系統根據查詢產生圖表後,您可以將圖表儲存至自訂資訊主頁。自訂資訊主頁可讓您使用各種小工具類型,顯示及整理實用資訊。您也可以在這些資訊主頁定義變數,也就是僅套用至特定小工具的資訊主頁層級篩選器。如要將變數套用至小工具,您必須修改查詢。詳情請參閱「將變數套用至小工具」。
如果查詢在 BigQuery 引擎上執行,且查詢的資源不在相同的擁有權邊界內,資訊主頁會針對包含 SQL 查詢的小工具顯示警告訊息。擁有權界線取決於多項因素,其中一項是查詢所用資源的階層。如要避免出現這些警告,請設定 service perimeter。
如要將圖表儲存至資訊主頁,請按照下列步驟操作:
-
在 Google Cloud 控制台中,前往 manage_search「Observability Analytics」(觀測能力分析) 頁面:
前往「Observability Analytics」(觀測能力分析) 頁面
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果。
執行查詢來產生圖表,然後按一下「 Save to dashboard」(儲存至資訊主頁)。
在「Save to dashboard」(儲存至資訊主頁) 對話方塊中,輸入圖表標題,然後選取要儲存圖表的資訊主頁。
選用:如要查看自訂資訊主頁,請按一下浮動式訊息中的「View dashboard」(查看資訊主頁)。
如要查看自訂資訊主頁清單,其中包含 SQL 查詢生成的圖表,請前往「Save to dashboard」(儲存至資訊主頁) 按鈕,然後點選 arrow_drop_down「Menu」(選單)。
編輯儲存至自訂資訊主頁的圖表
圖表儲存至資訊主頁後,您仍可進行修改。詳情請參閱「修改小工具設定」。在「Configure widget」對話方塊中,您可以執行下列操作:
- 變更查詢的資料。
- 編輯用來生成圖表的查詢。
- 自訂圖表設定,以視覺化方式呈現不同資料。
限制
如果 Google Cloud 專案位於使用 Assured Workloads 的資料夾中,產生的圖表就無法顯示在自訂資訊主頁上。
資訊主頁層級篩選器不適用於透過 SQL 查詢生成的圖表。
選取的資料欄至少須有一列含有非空值。
如果您儲存查詢並自訂圖表設定,系統不會儲存自訂圖表設定。
如果查詢已有匯總函式,Observability Analytics 會自動套用額外的匯總函式,因此生成的圖表可能會不同。
JSON 路徑必須轉換為字串或數字,才能繪製圖表。
查詢範例
本節提供 SQL 查詢範例,可用來繪製查詢結果圖表。如要從記錄中取得更多實用洞察資料,請自訂圖表設定。如要使用查詢範例,請按照下列步驟操作:
-
在 Google Cloud 控制台中,前往 manage_search「Observability Analytics」(觀測能力分析) 頁面:
前往「Observability Analytics」(觀測能力分析) 頁面
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果。
找出要查詢的記錄檢視表名稱。
如要找出這個名稱,請前往「Log views」(記錄檔檢視表) 清單,找出記錄檔檢視表,然後選取「Query」(查詢)。「Query」(查詢) 窗格會填入預設查詢,其中包含查詢的記錄檢視表資料表名稱。資料表名稱的格式為
project_ID.region.bucket_ID.view_ID。如要進一步瞭解如何存取預設查詢,請參閱「查詢記錄檢視表」。
將 VIEW 替換為要查詢的記錄檢視表資料表名稱,然後複製查詢。
在「查詢」窗格中貼上查詢,然後點選「執行查詢」。
依位置和嚴重程度繪製記錄項目圖表
下列查詢會選取 location 和 severity,並將位置轉換為字串:
SELECT
CAST(JSON_VALUE(resource.labels.location) AS STRING) AS location,
severity,
FROM
`VIEW`
WHERE resource.labels.location IS NOT NULL
圖表和圖表設定範例如下:
在上一張螢幕截圖中,圖表設定包含下列圖表設定:
- 圖表類型:長條圖 (橫式)
- 維度:
location,上限為 10 - 測量:資料列的計數
- Breakdown:
severity,最多五個
以圖表呈現 BigQuery 資料存取稽核記錄
下列查詢會篩選 BigQuery data_access 稽核記錄,並選取特定欄位,例如 user_email、ip、auth_permission 和 job_execution_project。舉例來說,您可以建立圖表,以視覺化方式呈現各主體在一段時間內的 BigQuery API 使用頻率。
SELECT
timestamp,
proto_payload.audit_log.authentication_info.principal_email as user_email,
proto_payload.audit_log.request_metadata.caller_ip as ip,
auth.permission as auth_permission,
auth.granted as auth_granted,
JSON_VALUE(data_access.resource.labels.project_id) AS job_execution_project,
SPLIT(proto_payload.audit_log.resource_name, '/')[SAFE_OFFSET(1)] AS referenced_project,
SPLIT(proto_payload.audit_log.resource_name, '/')[SAFE_OFFSET(3)] AS referenced_dataset,
SPLIT(proto_payload.audit_log.resource_name, '/')[SAFE_OFFSET(5)] AS referenced_table
FROM `VIEW` as data_access,
UNNEST(proto_payload.audit_log.authorization_info) AS auth
WHERE
log_id="cloudaudit.googleapis.com/data_access"
AND data_access.resource.type = 'bigquery_dataset'
圖表和圖表設定範例如下:
在上述螢幕截圖中,圖表設定包含下列圖表設定:
- 圖表類型:長條圖,垂直
- 維度:
user_email,最多五個 - 測量:資料列的計數
- Breakdown:
auth_permission,最多五個
後續步驟
如需 Observability Analytics 總覽,請參閱「查詢及分析記錄總覽」。
如需查詢範例,請參閱「SQL 查詢範例」。
如要瞭解如何使用 Observability Analytics 透過稽核記錄進行分析,請參閱「SQL 查詢安全性深入分析」。