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