检测规则故障排除

编辑

本主题涵盖创建或管理检测规则时常见的故障排除问题。

机器学习规则

编辑
机器学习规则失败,并且所需的机器学习作业已停止

如果机器学习规则失败,请检查以确保所需的机器学习作业正在运行,并启动任何已停止的作业。

  1. 转到规则检测规则 (SIEM),然后选择机器学习规则。所需的机器学习作业及其状态列在定义部分。

    Rule details page with ML job stopped
  2. 如果所需的机器学习作业未运行,请打开它旁边的运行作业切换开关。
  3. 重新运行机器学习检测规则。

指标匹配规则

编辑
由于警报数量过多导致规则失败

如果您收到以下规则失败信息:"批量索引信号失败:[parent] 数据过大",则表示警报负载太大,无法处理。

这可能是由错误的指标数据、配置错误的规则或过多事件匹配引起的。请检查您的指标数据或规则查询。如果没有任何明显的配置错误,请尝试针对原始数据的子集执行该规则并继续诊断。

指标匹配规则超时

如果您收到以下规则失败信息:"规则执行期间发生错误:消息:"请求超时,超过 90000 毫秒"",则表示查询阶段超时。请尝试优化时间范围或将查询中定义的数据划分为多个规则。

指标匹配规则因maxClauseCount限制过低而失败

如果您收到以下规则失败信息:批量索引信号失败:索引:".index-name" 原因:"maxClauseCount 设置为 1024" 类型:"too_many_clauses",则表示查询树可以拥有的子句总数的限制过低。要更新最大子句计数,请增加 Elasticsearch JVM 堆内存的大小。1 GB 或更大的 Elasticsearch JVM 堆大小就足够了。

一般速度缓慢

如果您注意到规则延迟,请查看上述建议进行故障排除,并考虑限制同时运行的规则数量,因为这可能会在 Kibana 中导致明显的性能影响。

规则例外

编辑
无自动完成建议

在创建检测规则例外时,如果值不存在于当前页面的时间范围内,则自动完成可能不会在字段中提供建议。

您可以通过扩大时间范围来解决此问题,或者通过配置 Kibana 的自动完成功能来从完整数据集中获取建议。转到Kibana堆栈管理高级设置,然后关闭autocomplete:useTimeRange

如果数据集特别大,关闭autocomplete:useTimeRange可能会导致性能问题。

有关类型冲突和未映射字段的警告

对于具有跨多个索引的类型冲突的字段或未映射的字段,会出现警告图标(字段冲突警告图标)和消息。您可以通过单击警告消息了解有关冲突的更多信息。

一个字段可以同时具有类型冲突在指定的索引中未映射。

Shows the warning icon and message

具有冲突类型的字段

编辑

当一个字段在多个索引中映射到不同的类型时,会发生类型冲突。要解决此问题,您可以创建具有匹配字段类型映射的新索引,并重新索引您的数据。否则,请使用有关字段类型映射的信息,以确保在定义例外条件时输入兼容的字段值。

在以下示例中,所选字段在五个索引中被定义为不同的类型。

Warning for fields with type conflicts

未映射的字段

编辑

未映射的字段在索引的映射定义中未定义。使用未映射的字段来定义例外可能会导致它无法按预期工作,并导致误报或意外的警报。要修复未映射的字段,请将它们添加到您的索引的映射定义中。

在以下示例中,所选字段在两个索引中未映射。

Warning for unmapped fields