使用 Cloud Monitoring 取得擷取洞察資訊
本文說明如何使用 Cloud Monitoring 接收擷取通知。Google SecOps 會使用 Cloud Monitoring 傳送擷取通知。這項功能可用於接收擷取通知,以及查看擷取量。您可以將電子郵件通知整合至現有工作流程。當擷取值達到預先定義的特定層級時,系統就會觸發通知。 在 Cloud Monitoring 說明文件中,通知稱為「快訊」。
事前準備
熟悉 Cloud Monitoring。
設定 Google SecOps 專案。 Google Cloud
確認您的 Identity and Access Management 角色包含角色
roles/monitoring.alertPolicyEditor中的權限。如要進一步瞭解角色,請參閱「使用 IAM 控管存取權」。熟悉如何在 Cloud Monitoring 中建立快訊政策。如需這些步驟的相關資訊,請參閱「建立指標閾值快訊政策」。
設定通知管道,透過電子郵件接收擷取通知。如需這些步驟的相關資訊,請參閱「建立及管理通知管道」。
設定健康指標的擷取通知
如要設定通知,監控 Google SecOps 專屬的擷取健康狀態指標,請按照下列步驟操作:
在 Google Cloud 控制台中選取「Monitoring」。
在導覽窗格中選取「快訊」,然後按一下「建立政策」。
在「選取指標」頁面中,按一下「選取指標」。
在「選取指標」選單中,按一下下列任一選項:
- 有效切換按鈕,篩選並只顯示過去 25 小時內有資料的資源和指標。如未選取這項設定,系統會列出所有資源和指標類型。
- 機構/資料夾層級切換鈕:監控機構和資料夾的資源與指標,例如用戶配額用量或 BigQuery 運算單元分配情形。
選取下列任一指標:
依序選取「Chronicle Collector」>「Ingestion」,然後選取「Total ingested log count」或「Total ingested log size」。
依序選取「Chronicle Collector」>「Normalizer」,然後選取「Total record count」或「Total event count」。
依序選取「Chronicle 記錄類型」>「Outofband」,然後選取「Total ingested log count (Feeds)」或「Total ingested log size (Feeds)」。
按一下「套用」。
新增篩選器
在「選取指標」頁面中,按一下「新增篩選器」。
在篩選器對話方塊中,選取「collector_id」collector_id標籤、比較器和篩選器值。
選取下列一或多個篩選器:
project_id:與此資源相關聯的 Google Cloud 專案 ID。
location:含有收集器物件的叢集實體位置。 建議您不要使用這個欄位。如果將這個欄位留空,Google SecOps 可以使用現有資訊,自動判斷資料的儲存位置。
collector_id:收款者的 ID。
log_type:記錄類型名稱。
「指標標籤」 >「命名空間」:記錄的命名空間。
feed_name:動態饋給名稱。
LogType:記錄類型。
「指標標籤」 >「event_type」:活動類型會決定活動包含哪些欄位。活動類型包括
PROCESS_OPEN、FILE_CREATION、USER_CREATION和NETWORK_DNS等值。指標標籤 > 狀態:事件或記錄的最終狀態。狀態為下列其中一種:
parsed:記錄已成功剖析。validated。記錄已成功驗證。failed_parsing。記錄檔有剖析錯誤。failed_validation。記錄中有驗證錯誤。failed_indexing。記錄檔有批次索引錯誤。
指標標籤 > drop_reason_code:如果擷取來源是 Google SecOps 轉送器,系統就會填入這個欄位,並指出記錄在正規化期間遭到捨棄的原因。
指標標籤 > ingestion_source:使用 Ingestion API 擷取記錄時,擷取標籤中顯示的擷取來源。
選取特殊收藏家 ID。「
collector_id」也可以是轉送者 ID 或特殊 ID,視擷取方法而定:- aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa:
代表使用動態饋給管理 API 或頁面建立的所有動態饋給。如要進一步瞭解動態饋給管理,請參閱「動態饋給管理」和「動態饋給管理 API」。 aaaa1111-aaaa-1111-aaaa-1111aaaa1111:
代表 Collection 代理程式,包括 Bindplane (Google 版)。aaaa1111-aaaa-1111-aaaa-1111aaaa1112:Bindplane Enterprise (Google 版)。
aaaa1111-aaaa-1111-aaaa-1111aaaa1113:
Bindplane Enterprise。aaaa1111-aaaa-1111-aaaa-1111aaaa1114:
無頭收集器。aaaa2222-aaaa-2222-aaaa-2222aaaa2222:透過 HTTPS 推送方法擷取的記錄,包括 Webhook、Amazon Kinesis Firehose 和 Pub/Sub 來源類型動態消息。
Google Cloudaaaa3333-aaaa-3333-aaaa-3333aaaa3333:
Cloud Storage 記錄,包括透過 Event Threat Detection 擷取的記錄。aaaa4444-aaaa-4444-aaaa-4444aaaa4444:
透過 Azure 事件中樞動態饋給整合功能擷取的記錄。包括 Microsoft Azure 事件中樞來源類型動態消息。bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb:
代表使用 Ingestion APIunstructuredlogentries方法的所有擷取來源。如要進一步瞭解 Ingestion API,請參閱 Google SecOps Ingestion API。cccccccc-cccc-cccc-cccc-cccccccccccc:
代表使用 Ingestion APIudmevents方法的所有擷取來源。dddddddd-dddd-dddd-dddd-dddddddddddd:
代表透過內部 API 擷取的任何記錄,並非透過 OutOfBand (OOB) 處理器擷取,也不是透過 Google Cloud 記錄擷取。eeeeeeee-eeee-eeee-eeee-eeeeeeeeeeee:代表用於
CreateEntities的collector_id。collector_id
- aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa:
在「轉換資料」專區,執行下列操作:
- 將「時間序列匯總」欄位設為「總和」。
將「時間序列分組依據」欄位設為「project_id」。
選用:設定包含多個條件的快訊政策。如要在快訊政策中建立包含多個條件的擷取通知,請參閱「包含多個條件的政策」。
Google SecOps 轉送器指標和相關聯的篩選器
下表說明可用的 Google SecOps 轉送器指標和相關聯的篩選器。
| Google SecOps 轉送器指標 | 篩選器 |
|---|---|
| 容器使用的記憶體 | log_type、collector_id |
| 容器使用的磁碟空間 | log_type、collector_id |
| 容器 cpu_used | log_type、collector_id |
| 記錄檔 drop_count | log_type、collector_id、input_type、reason |
| buffer_used | log_type、collector_id、buffer_type、input_type |
| last_heartbeat | log_type、collector_id、input_type |
設定範例政策,偵測無聲的 Google SecOps 轉寄者
下列範例政策會偵測所有 Google SecOps 轉送器,並在 Google SecOps 轉送器 60 分鐘未傳送記錄時傳送快訊。這可能不適用於您想監控的所有 Google SecOps 轉送器。 舉例來說,您可以監控一或多個 Google SecOps 轉送程式的單一記錄來源,並設定不同門檻,或根據 Google SecOps 轉送程式的報表頻率排除這些程式。
在 Google Cloud 控制台中選取「Monitoring」。
前往 Cloud Monitoring點選「建立政策」。
在「選取指標」頁面中,依序選取「Chronicle Collector」>「Ingestion」>「Total ingested log count」。
按一下「套用」。
在「轉換資料」專區,執行下列操作:
- 將「滾動週期」設為最多 1 小時*。
- 將「Rolling window function」(滾動週期函式) 設為「mean」(平均值)。
- 將「時間序列匯總」設為「平均值」。
- 將「時間序列分組依據」設為「collector_id」。如果未設定依 collector_id 分組,系統就會為每個記錄來源觸發警報。
點選「下一步」。
選取「Metric absence」,然後執行下列操作:
- 將「Alert trigger」(快訊觸發條件) 設為「Any time series violates」(任何時間序列違反條件時)。
- 將「沒有觸發條件的時間」設為最多 1 小時。
- 輸入條件的名稱,然後按一下「下一步」。
在「通知和名稱」部分,執行下列操作:
- 在「Use notification channel」(使用通知管道) 欄位中選取通知管道。建議您設定多個通知管道來提供備援。
- 設定事件結案通知。
- 將政策使用者標籤設為適當層級。使用這項設定為政策設定警告嚴重性等級。
- 輸入要隨快訊傳送的任何文件。
- 輸入快訊政策名稱。
在適用所有情況的政策中新增排除條件
您可能需要從全方位政策中排除特定 Google SecOps 轉送器,因為這些轉送器的流量可能偏低,或需要更自訂的快訊政策。
在 Google Cloud 控制台中選取「Monitoring」。
在導覽頁面中選取「快訊」,然後在「政策」部分選取要編輯的政策。
在「政策詳細資料」頁面中,按一下「編輯」。
在「編輯快訊政策」頁面的「新增篩選條件」部分,選取「新增篩選條件」,然後執行下列操作:
- 選取 collector_id 標籤,以及要從政策中排除的收集器。
- 將比較子設為
!=,值設為要排除的collector_id,然後按一下「完成」。 針對每個需要排除的收集器重複執行上述步驟。您也可以使用規則運算式,透過單一篩選器排除多個收集器,格式如下:
(?:aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa|bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb|cccccccc-cccc-cccc-cccc-cccccccccccc)
點選 [儲存政策]。
設定範例政策,偵測無聲的 Google SecOps 收集代理程式
下列範例政策會偵測所有 Google SecOps 收集代理程式,並在 Google SecOps 收集代理程式 60 分鐘未傳送記錄時傳送快訊。這個範例可能不適用於您要監控的所有 Google SecOps 收集代理程式。 舉例來說,您可以透過一或多個 Google SecOps 收集代理程式,監控單一記錄來源,並設定不同門檻,或是根據 Google SecOps 收集代理程式的回報頻率排除這些代理程式。
在 Google Cloud 控制台中選取「Monitoring」。
前往 Cloud Monitoring點選「建立政策」。
在「選取指標」頁面中,依序選取「Chronicle Collector」>「Agent」>「Exporter Accepted Spans Count」。
按一下「套用」。
在「轉換資料」專區,執行下列操作:
- 將「滾動週期」設為最多 1 小時*。
- 將「Rolling window function」(滾動週期函式) 設為「mean」(平均值)。
- 將「時間序列匯總」設為「平均值」。
- 將「時間序列分組依據」設為「collector_id」。如果未設定依 collector_id 分組,系統就會為每個記錄來源觸發快訊。
點選「下一步」。
選取「Metric absence」,然後執行下列操作:
- 將「Alert trigger」(快訊觸發條件) 設為「Any time series violates」(任何時間序列違反條件時)。
- 將「沒有觸發條件的時間」設為最多 1 小時*。
- 輸入條件的名稱,然後按一下「下一步」。
在「通知和名稱」部分,執行下列操作:
- 在「Use notification channel」(使用通知管道) 欄位中選取通知管道。建議您設定多個通知管道來提供備援。
- 設定事件結案通知。
- 將政策使用者標籤設為適當層級。用於設定政策的警告嚴重程度。
- 輸入要隨快訊傳送的任何文件。
- 輸入快訊政策名稱。
設定範例政策,偵測防火牆伺服器高可用性叢集是否發生故障
下列範例政策會偵測 Linux 防火牆伺服器主動/被動高可用性 (HA) 叢集的兩個成員何時停止回報,這表示發生故障。
在下列範例政策中,高可用性叢集成員的名稱為 prod-linux-server-1 和 prod-linux-server-2。如要設定範例政策,偵測防火牆伺服器高可用性叢集是否發生故障,請按照下列步驟操作:
在 Google Cloud 控制台中選取「Monitoring」。
前往 Cloud Monitoring點選「建立政策」。
將「政策設定模式」設為「建構工具」。
在「選取指標」部分,依序選取「Chronicle Collector」>「Ingestion」>「Total ingested log count」。
按一下「套用」。
在「新增篩選器」部分,輸入下列內容:
ingestion_source one_of prod-linux-server-1, prod-linux-server-2在「轉換資料」專區,執行下列操作:
- 將「滾動週期」設為「5 分鐘」。
- 將「滾動週期函式」設為「rate」。
- 將「時間序列匯總」設為「平均值」。
- 將「時間序列分組依據」設為「ingestion_source」。
點選「下一步」。
從「條件類型」選項中選取「指標缺席」,然後執行下列操作:
將「Alert trigger」(快訊觸發條件) 設為「All time series violate」(所有時間序列不符合條件時)。
將「沒有觸發條件的時間」設為「5 分鐘」。
將「條件名稱」設為「Linux-Active-Passive-Firewall-Cluster」。
點選「下一步」。
在「通知和名稱」部分,執行下列操作:
- 在「Use notification channel」(使用通知管道) 欄位中選取通知管道。建議您設定多個通知管道來提供備援。
- 設定事件結案通知。
- 將政策使用者標籤設為適當層級。用於設定政策的警告嚴重程度。
- 輸入要隨快訊傳送的任何文件。
- 輸入快訊政策名稱。
依記錄類型查看總擷取量
如要在 Cloud Monitoring 中依記錄類型查看擷取量,請按照下列步驟操作:
在「設定」頁面中,選取「個人資料」。
選取 Cloud Monitoring 設定檔。
在「設定檔」頁面的搜尋列中輸入「整合」。
選取「指標多層檢視」。
按一下「promQL」promQL,切換至 promQL 查詢模式。
在「Queries」(查詢) 欄位中,複製下列內容:
sum by (log_type) (increase(chronicle_googleapis_com:ingestion_log_bytes_count{monitored_resource="chronicle.googleapis.com/Collector"}[1h]))選用:篩選特定記錄類型,並納入查詢。
舉例來說,如要查看記錄類型
GCP_CLOUDAUDIT的擷取作業,查詢內容應如下所示:sum(increase(chronicle_googleapis_com:ingestion_log_bytes_count{monitored_resource="chronicle.googleapis.com/Collector",log_type="GCP_CLOUDAUDIT"}[1h]))在「結果」部分中,選取「表格」分頁標籤,即可查看加總資料。
選用:視需要調整時間範圍。
還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求答案。