本文件說明如何繪製 Log Analytics 查詢結果,協助您找出記錄檔資料中的模式和趨勢。您可以使用 SQL 查詢,透過 Log Analytics 搜尋及匯總記錄檔,產生實用的洞察資訊。
執行查詢後,您可以查看查詢結果表格或將查詢結果轉換為圖表,並將查詢和圖表化結果儲存到資訊主頁。舉例來說,如要查看記錄產生的嚴重性類型,請建立圖表,顯示過去 12 小時內產生的記錄數量,並依 severity
細分記錄。下圖顯示資料點細分為不同嚴重性類型:
事前準備
本節說明您必須完成的步驟,才能使用 Log Analytics。
設定記錄檔 bucket
確認記錄檔值區已升級,可使用 Log Analytics:
-
在 Google Cloud 控制台中,前往「Logs Storage」(記錄檔儲存空間) 頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果。
- 針對每個含有您要查詢的記錄檢視畫面的記錄值區,請確認「可用 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 角色。 -
如要取得建立圖表所需的權限,請要求管理員為您授予專案的 Monitoring 編輯者 (
roles/monitoring.editor
) IAM 角色。
選取要繪製圖表的資料
如要設定圖表要顯示的資料,請使用 SQL 建構查詢。選取「圖表」分頁後,圖表會顯示查詢結果。執行查詢並產生圖表後,您可以變更圖表類型並選取資料欄,以自訂圖表設定,查看不同的資料。
如要將查詢結果以圖表形式查看,請按照下列步驟執行查詢:
-
在 Google Cloud 控制台中,前往「Log Analytics」(記錄檔分析) 頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果。
在「查詢」窗格中輸入查詢,然後點選「執行」。
查詢完成後,請在「結果」分頁中選取查詢結果的檢視方式:
表格:僅限表格格式。
圖表:僅限圖表格式
兩者皆有:圖表和表格格式。
選取查詢結果的查看方式後,您可以為所選視覺化項目設定任何欄位,然後將查詢和結果儲存到自訂資訊主頁。選取「表格」選項後,系統會以表格格式儲存資料。否則,格式為圖表。
針對圖表,視覺化選項可讓您選取圖表類型,以及要繪製的資料列和資料欄。如要進一步瞭解圖表設定,請參閱「自訂圖表設定」。
自訂圖表設定
您可以變更圖表類型、選取要納入圖表的維度和評估指標,以及套用細目資料,來自訂圖表設定。維度用於分組或分類資料列,也是 X 軸值。「評估」或 Y 軸值,是根據 Y 軸繪製的資料序列。
變更圖表類型
您可以根據所選列和欄的類型 (做為維度和指標),以及您希望如何呈現資料,從下列圖表類型中選擇。
長條圖 (預設):長條圖會在兩個軸上繪製資料。如果圖表使用類別或字串做為維度,您可以將長條圖的圖表設定設為水平或垂直,這樣維度和測量軸就會互換。
折線圖:折線圖可用來顯示資料隨時間的變化。使用折線圖時,每個時間序列都會以不同的線條顯示,對應您選取的指標。
如果 X 軸是時間軸,則每個資料點都會置於時間間隔的開頭。每個資料點都會透過線性內插連接。
堆疊面積圖:面積圖是以折線圖為基礎,每條折線下方的區域都會著色。在面積圖中,資料系列會以堆疊方式顯示。舉例來說,如果您有兩個相同的序列,這些序列會在折線圖中重疊,但在面積圖中會堆疊陰影區域。
圓餅圖或圓形圖:圓餅圖會使用圓圈代表整個資料集,圓圈內的扇形則代表資料集中的類別,藉此顯示資料集中的類別與整個資料集的關係。楔形的大小表示該類別占總值的比重 (通常以百分比表示)。
表格:表格會顯示查詢結果中的每個資料列。資料表中的資料欄由
SELECT
子句定義。如果您打算在資訊主頁上以表格形式顯示資料,請使用LIMIT
子句,限制結果中的列數量少於幾百個。量測儀或評量表:量測儀和評量表會根據該值與一組閾值的比較結果,提供最新值和綠色、琥珀色或紅色的指標。與只顯示最近值資訊的儀表不同,分數卡還可納入過去值的資訊。
只有在查詢結果至少包含一列,且該列包含含有時間戳記的欄和含有數值資料的欄時,儀表和分數卡才能顯示查詢結果。查詢結果可包含多個資料列和兩個以上的欄。
如要將時間為依據的匯總作業納入查詢,請執行下列操作:
設定查詢,以便匯總特定時間間隔內的資料、依時間戳記遞減排序結果,以及限制結果中的資料列數。您可以使用
LIMIT
子句或時間範圍選取器,限制查詢結果中的資料列數量。舉例來說,下列查詢會查詢記錄檢視畫面,並按小時匯總資料、套用限制並排序結果:
SELECT TIMESTAMP_TRUNC(timestamp, HOUR) AS hour, severity, COUNT(*) AS count FROM `TABLE_NAME_OF_LOG_VIEW` WHERE severity IS NOT NULL AND severity = "DEFAULT" GROUP BY hour,severity ORDER BY hour DESC LIMIT 10
將「維度」設為與回報時間單位的欄一致。舉例來說,如果查詢會以一小時為單位匯總資料,並建立名為
hour
的資料欄,請將「維度」選單設為hour
。由於查詢已指定匯總間隔,請選取「停用間隔」。在這個範例中,這個間隔為一小時。
將「評估」設為數值欄,並將函式設為「無」。
如果您想讓 Log Analytics 為您執行以時間為依據的匯總作業,請執行下列操作:
- 設定時間範圍選取器,這會影響查詢結果中的資料列數量。
- 將「維度」設為與回報時間單位的欄一致。舉例來說,您可以將這個選單設為
timestamp
。 - 將「Interval」選單設為匯總時間間隔,以便指定時間間隔。例如,將這個欄位的值設為
1 hour
。請勿選取「自動間隔」。 - 將「度量」設為數值欄,然後選取「加總」等函式。
變更維度和測量指標
您可以選取維度和測量結果欄位,選擇要繪製的資料列和資料欄。
維度
維度必須是時間戳記、數字或字串欄。根據預設,維度會設為結構定義中第一個以時間戳記為準的資料欄。如果查詢中沒有時間戳記,系統會選取第一個字串欄做為維度。您也可以在「圖表顯示」面板中自訂維度。選取時間戳記欄做為維度時,圖表會顯示資料隨時間變化的情形。選取字串資料欄做為長條圖的維度時,您可以依遞增或遞減方式排序資料,以便依字典順序排序維度。您也可以保留「預設」排序順序,系統會根據對應計量的值以遞減順序排序維度。
根據預設,系統會自動設定時間戳記的間隔,但您也可以選取自訂間隔。自動間隔會根據時間範圍選擇器變更值,以維持相似大小的群組。
您也可以停用間隔,這樣一來,您就能在查詢中指定自己的匯總和時間範圍,以便進行更複雜的分析。停用間隔後,測量指標的匯總函式會設為
none
。停用維度間隔時,只能使用數值測量指標。測量
您可以在「圖表顯示」面板中選取多個指標。選取評估指標時,您必須一併選取要對其分組值執行的匯總函式,例如
count
、sum
、average
和percentile-99
。舉例來說,count-distinct
會傳回指定資料欄中的不重複值數量。如果您為維度選取「停用間隔」核取方塊,
none
匯總函式選項就會顯示。如果維度是字串值,系統不會顯示「停用間隔」核取方塊。不過,將測量指標的匯總函式設為none
也會停用間隔。
新增明細
如要根據另一個資料欄將單一資料序列分割為多個資料序列,請新增細目。
選取細目資料時,請選擇包含少量短而有意義的標籤的資料欄,例如 region_name
,而非可能包含大量字串或長字串的欄位,例如 textPayload
。
例如,請參閱下列圖表設定,其中「維度」欄位設為「類型」、「測量指標」欄位設為「列數」,而「細目」欄位設為「嚴重程度」:
以下圖表為新增細目資料的圖表範例:
在先前的螢幕截圖中,您會看到堆疊資料序列,其中資源類型 k8s_container
會分割為不同的 severity
類型。這可讓您瞭解特定資源產生的各嚴重性類型記錄數量。
將圖表儲存至自訂資訊主頁
從查詢產生圖表後,您可以將圖表儲存到自訂資訊主頁。您可以使用各種小工具類型,透過自訂儀表板顯示及整理對您有用的資訊。這些資訊主頁也讓您定義變數,也就是資訊主頁層級篩選器,只套用至特定小工具。如要將變數套用至小工具,您必須修改查詢。詳情請參閱「將變數套用至小工具」。
舉例來說,您可以建立資訊主頁,提供 Cloud Storage 值區用量的詳細資料:
如要將圖表儲存至資訊主頁,請按照下列步驟操作:
-
在 Google Cloud 控制台中,前往「Log Analytics」(記錄檔分析) 頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果。
執行查詢以產生圖表,然後按一下「圖表」分頁中的
「儲存圖表」。
在「Save to dashboard」對話方塊中,輸入圖表的標題,然後選取要儲存圖表的資訊主頁。
選用步驟:如要查看自訂資訊主頁,請在彈出式訊息中按一下「查看資訊主頁」。
如要查看包含 SQL 查詢產生圖表的自訂資訊主頁清單,請按一下「儲存圖表」按鈕,然後點選 arrow_drop_down「選單」。
編輯儲存至自訂資訊主頁的圖表
您可以在圖表儲存至資訊主頁後進行修改。詳情請參閱「修改小工具的設定」。在「Configure widget」對話方塊中,您可以執行下列操作:
- 變更查詢的資料。
- 編輯用於產生圖表的查詢。
- 自訂圖表設定,以便以圖形呈現不同的資料。
限制
如果 Google Cloud 專案位於使用 Assured Workloads 的資料夾中,則您產生的圖表無法顯示在自訂資訊主頁上。
資訊主頁層級篩選器不適用於透過 SQL 查詢產生的圖表。
查詢範例
本節提供可用於繪製查詢結果的 SQL 查詢範例。如要從記錄中獲得更多實用的洞察資料,請自訂圖表設定。如要使用查詢範例,請執行下列操作:
-
在 Google Cloud 控制台中,前往「Log Analytics」(記錄檔分析) 頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果。
找出要查詢的記錄檢視畫面的資料表名稱。
如要找出這個名稱,請前往「記錄檢視畫面」清單,找出記錄檢視畫面,然後選取「查詢」。「查詢」窗格會填入預設查詢,其中包含要查詢的記錄檢視畫面資料表名稱。資料表名稱的格式為
project_ID.region.bucket_ID.view_ID
。如要進一步瞭解如何存取預設查詢,請參閱「查詢記錄檢視畫面」。
將 TABLE_NAME_OF_LOG_VIEW 替換為您要查詢的記錄檢視畫面的資料表名稱,然後複製查詢。
在「Query」窗格中貼上查詢,然後點選「Run query」。
依據位置和嚴重性繪製記錄項目圖表
以下查詢會選取 location
和 severity
,並將位置轉換為字串:
SELECT
CAST(JSON_VALUE(resource.labels.location) AS STRING) AS location,
severity,
FROM
`TABLE_NAME_OF_LOG_VIEW`
範例圖表和圖表設定如下所示:
在先前的螢幕截圖中,圖表設定包含下列圖表設定:
- 圖表類型:長條圖 (橫式)
- 維度:
location
,上限為 10 - 評估:計算資料列
- 細目:
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 `TABLE_NAME_OF_LOG_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
,上限為五個 - 評估:計算資料列
- 細目:
auth_permission
,最多五個
限制
所選欄至少應包含一個非空值的資料列。
如果您儲存查詢並自訂圖表設定,系統就不會儲存自訂圖表設定。
如果查詢已包含匯總,則系統會自動套用其他匯總,因此產生的圖表可能會有所不同。
您必須將 JSON 路徑轉換為字串和數字,才能繪製圖表。
後續步驟
如需瞭解 Log Analytics 的總體概念,請參閱「查詢及分析記錄檔總覽」。
如需查詢範例,請參閱「SQL 查詢範例」。
如要瞭解如何使用記錄檔分析功能查看稽核記錄,請參閱「使用 SQL 查詢取得安全性深入分析資訊」一文。