检测规则故障排除
编辑检测规则故障排除
编辑本主题涵盖创建或管理检测规则时常见的故障排除问题。
机器学习规则
编辑机器学习规则失败,并且所需的机器学习作业已停止
如果机器学习规则失败,请检查以确保所需的机器学习作业正在运行,并启动任何已停止的作业。
-
转到规则 → 检测规则 (SIEM),然后选择机器学习规则。所需的机器学习作业及其状态列在定义部分。
- 如果所需的机器学习作业未运行,请打开它旁边的运行作业切换开关。
- 重新运行机器学习检测规则。
指标匹配规则
编辑由于警报数量过多导致规则失败
如果您收到以下规则失败信息:"批量索引信号失败:[parent] 数据过大"
,则表示警报负载太大,无法处理。
这可能是由错误的指标数据、配置错误的规则或过多事件匹配引起的。请检查您的指标数据或规则查询。如果没有任何明显的配置错误,请尝试针对原始数据的子集执行该规则并继续诊断。
指标匹配规则超时
如果您收到以下规则失败信息:"规则执行期间发生错误:消息:"请求超时,超过 90000 毫秒""
,则表示查询阶段超时。请尝试优化时间范围或将查询中定义的数据划分为多个规则。
指标匹配规则因maxClauseCount
限制过低而失败
如果您收到以下规则失败信息:批量索引信号失败:索引:".index-name" 原因:"maxClauseCount 设置为 1024" 类型:"too_many_clauses"
,则表示查询树可以拥有的子句总数的限制过低。要更新最大子句计数,请增加 Elasticsearch JVM 堆内存的大小。1 GB 或更大的 Elasticsearch JVM 堆大小就足够了。
一般速度缓慢
如果您注意到规则延迟,请查看上述建议进行故障排除,并考虑限制同时运行的规则数量,因为这可能会在 Kibana 中导致明显的性能影响。
规则例外
编辑无自动完成建议
在创建检测规则例外时,如果值不存在于当前页面的时间范围内,则自动完成可能不会在值字段中提供建议。
您可以通过扩大时间范围来解决此问题,或者通过配置 Kibana 的自动完成功能来从完整数据集中获取建议。转到Kibana → 堆栈管理 → 高级设置,然后关闭autocomplete:useTimeRange
。
如果数据集特别大,关闭autocomplete:useTimeRange
可能会导致性能问题。
有关类型冲突和未映射字段的警告
对于具有跨多个索引的类型冲突的字段或未映射的字段,会出现警告图标()和消息。您可以通过单击警告消息了解有关冲突的更多信息。
一个字段可以同时具有类型冲突和在指定的索引中未映射。
具有冲突类型的字段
编辑当一个字段在多个索引中映射到不同的类型时,会发生类型冲突。要解决此问题,您可以创建具有匹配字段类型映射的新索引,并重新索引您的数据。否则,请使用有关字段类型映射的信息,以确保在定义例外条件时输入兼容的字段值。
在以下示例中,所选字段在五个索引中被定义为不同的类型。
未映射的字段
编辑未映射的字段在索引的映射定义中未定义。使用未映射的字段来定义例外可能会导致它无法按预期工作,并导致误报或意外的警报。要修复未映射的字段,请将它们添加到您的索引的映射定义中。
在以下示例中,所选字段在两个索引中未映射。