排查检测规则问题
支持的产品:
Google SecOps
SIEM
规则执行期间可能会发生运行时错误,并阻止规则成功执行。本文档可帮助您排查一些常见的运行时问题。
您可以在部署规则之前对其进行测试,以防止发生运行时错误。 在规则编辑器中点击运行测试 ;如果检测到错误,请点击错误链接以了解详情。
如果在规则执行期间发生错误,请点击检测 页面上的错误链接以了解详情。
查询语法和逻辑错误
当查询结构无效、过于复杂或使用不兼容的数据类型时,会发生这些错误。
| 错误消息 | 根本原因 | 解决方案 |
|---|---|---|
Too many `OR` and `AND` operations
|
查询包含深度嵌套的表达式或逻辑,超出了堆栈空间限制。 | 简化规则的条件。 将复杂的逻辑分解为较小的部分。 |
Query is too long
|
查询需要过多的堆栈空间才能处理。 | 将逻辑拆分为多个规则。 |
Accessing a new field that did not exist for this time range
|
规则引用了最近添加到架构中的字段,但规则运行的时间范围中不存在该字段。 | 调整时间范围,使其在字段存在后开始。 修改规则以处理字段为 null 或缺失的情况。 |
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 专业人士的解答。