检测规则疑难解答

编辑

本主题涵盖创建或管理检测规则时常见的疑难解答问题。

机器学习规则

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

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

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

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

指标匹配规则

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

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

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

指标匹配规则超时

如果您收到以下规则失败信息:"规则执行期间发生错误:消息:“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