排解偵測規則問題

支援的國家/地區:

規則執行期間可能會發生執行階段錯誤,導致規則無法順利執行。本文可協助您排解一些常見的執行階段問題。

  • 您可以在部署前測試規則,避免發生執行階段錯誤。 在規則編輯器中按一下「執行測試」,如果系統偵測到錯誤,請點選錯誤連結查看詳細資料。

  • 如果規則執行期間發生錯誤,請點選「偵測」頁面上的錯誤連結查看詳細資料。

查詢語法和邏輯錯誤

查詢結構無效、過於複雜或使用不相容的資料型別時,就會發生這類錯誤。

錯誤訊息 根本原因 解決方法
Too many `OR` and `AND` operations 查詢包含的運算式或邏輯過於深入巢狀結構,超出堆疊空間限制。

簡化規則條件。

將複雜的邏輯拆解成多個小部分。

Query is too long 查詢需要過多堆疊空間才能處理。 將邏輯拆分為多條規則。
Accessing a new field that did not exist for this time range 規則參照了最近新增至結構定義的欄位,但規則執行的時間範圍內沒有該欄位。

將時間範圍的開始時間調整為該欄位出現之後。

修改規則,處理欄位為空值或遺漏的情況。

Invalid subnet CIDR 部分函式遇到無法剖析的無類別跨網域路由 (CIDR) 範圍 檢查規則中的 CIDR 範圍格式。
Invalid IP address 部分函式遇到格式錯誤的 IP 位址。 確認欄位值包含有效的 IP 位址格式
Map access for reading label does not support duplicate map keys 部分函式嘗試從類似地圖的結構 (例如額外欄位) 存取元素,但該結構中存在重複的鍵 (作業不允許)。

調查資料來源,找出重複的鍵。

調整規則邏輯,處理這項資料特徵。

Invalid regular expression 函式 (例如 re.regex()) 中使用的規則運算式格式有誤。

修正規則運算式語法。

Invalid re.replace() re.regex() 使用方式有誤,通常是因為括號中的子運算式與替代字串中的參照不符。 請確認 re.regex() 中的重寫結構定義與規則運算式中的括號子運算式相符。
Integer overflow in sum() aggregation 值的總和超過標準整數的上限。 先將欄位轉換為浮點類型,再進行加總 (例如使用 sum(0.0 + $e.field))。
Cannot complete [arithmetic/mod] operation between unsigned and signed integer 嘗試在不同整數型別之間執行算術運算 (+-*/MOD) 所致。 使用 cast.as_int()cast.as_uint() 將其中一個欄位轉換為與另一個欄位相符。

資源限制和效能錯誤

這些錯誤表示查詢過於繁重,系統無法處理。

錯誤訊息 根本原因 解決方法
Request was throttled, please try again later 規則需要的記憶體或處理能力超出分配量 (通常是因為聯結複雜、匯總量大或篩選條件不足)。 在「事件」部分新增更精細的篩選條件。
Not enough memory for aggregation 超過 aggregate_memory_limit 減少 `match` 區段中的鍵數,即可最佳化匯總。
Spilled bytes exceed limit 查詢嘗試處理的事件過多。 新增篩選器來最佳化查詢,例如:metadata.log_type
Your query resource usage is exceeding its allocation 查詢使用的資源過多,因此資源管理工具已取消查詢。 新增篩選器來最佳化查詢,例如:metadata.log_type

資料存取權和系統錯誤

這類錯誤通常是暫時性問題,或是與後端資料儲存空間有關。

錯誤訊息 根本原因 解決方法
Error reading files 暫時無法存取基礎資料。 請稍後再試。如果錯誤持續發生,請與支援團隊聯絡。
Error reading database 暫時無法存取基礎資料。 請稍後再試。如果錯誤持續發生,請與支援團隊聯絡。
Internal error 系統發生暫時性問題。 請稍後再試。如果錯誤持續發生,請與支援團隊聯絡。
Unknown error 未定義特定內部錯誤代碼時的預設錯誤訊息。 請稍後再試。如果錯誤持續發生,請與支援團隊聯絡。
Request was throttled, please try again later 系統負載過重。 請稍後再試。

不明執行階段錯誤

您可能會遇到不明執行階段錯誤,且沒有說明。如果發生這種情況,請與 Google SecOps 支援團隊聯絡。

還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求答案。