监控和排查规则执行
编辑监控和排查规则执行
编辑几个工具可以帮助您深入了解检测规则的性能
请参阅下面的排查缺失告警部分,了解如果规则未创建预期告警的调整规则策略。
规则监控选项卡
编辑要查看所有规则执行的摘要,包括最近的失败和执行时间,请选择规则页面上的规则监控选项卡。要访问该选项卡,请在导航菜单中找到检测规则 (SIEM),或使用全局搜索字段查找“检测规则 (SIEM)”,然后转到规则监控选项卡。
在规则监控选项卡上,您可以排序和筛选规则,就像在已安装规则选项卡上一样。
要排序规则列表,请单击任何列标题。要以降序排序,请再次单击列标题。
有关规则、其生成的告警和相关错误的详细信息,请单击表格中的规则名称。这还允许您执行已安装规则选项卡上可用的相同操作,例如修改或删除规则、激活或停用规则、导出或导入规则以及复制预构建规则。
执行结果
编辑每个检测规则执行都会被记录,包括执行类型、执行成功或失败、任何警告或错误消息、搜索数据、创建告警和完成所需的时间。这可以帮助您排查特定规则(例如,如果它没有创建告警或运行时间很长)是否行为异常。
要访问规则的执行日志,请单击规则名称以打开其详细信息,然后向下滚动并选择执行结果选项卡。在“执行日志”表中,您可以单击行末尾的箭头以展开冗长的警告或错误消息。
您可以将鼠标悬停在每个列标题上以显示有关该列数据的工具提示。单击列标题可按该列对表格进行排序。
使用这些控件来筛选日志表中包含的内容
-
运行类型下拉菜单按规则执行类型筛选表格
- 计划的:自动、计划的规则执行。
- 手动的:手动启动的规则执行。
-
状态下拉菜单按规则执行状态筛选表格
- 成功:规则已完成其定义的搜索。这并不一定意味着它生成了告警,只是它在没有错误的情况下运行。
- 失败:规则遇到阻止其运行的错误。例如,相应的机器学习作业未运行的机器学习规则。
- 警告:没有任何内容阻止规则运行,但它可能返回了意外结果。例如,自定义查询规则尝试搜索在 Elasticsearch 中找不到的索引模式。
- 日期和时间选择器设置表格中包含的规则执行的时间范围。这与规则详细信息页面顶部的全局日期和时间选择器分开。
- 源事件时间范围按钮切换与手动运行的时间范围相关的数据显示。
- 显示指标列切换包含表格中更多或更少的数据,与每次规则执行的时间相关。
- 操作列允许您显示从给定规则执行生成的告警。单击过滤器图标 () 可基于规则执行的 ID 值创建全局搜索过滤器。这将替换任何先前应用的过滤器,将全局日期和时间范围更改为规则执行前后的 24 小时,并显示确认通知。您可以通过单击通知中的恢复以前的过滤器来恢复此操作。
手动运行表
编辑此功能处于测试阶段,可能随时更改。其设计和代码不如正式 GA 功能成熟,按现状提供,不提供任何担保。测试版功能不受正式 GA 功能的支持 SLA 的约束。
每次手动运行都可以生成多个规则执行,具体取决于运行的时间范围和规则的执行计划。这些详细信息显示在“手动运行”表中。
要访问该表,请导航到检测规则页面,单击规则名称以打开其详细信息,然后向下滚动并选择执行结果选项卡。再次向下滚动以查找“手动运行”表。
要停止活动运行,请转到相应的行,然后单击操作列中的停止运行。每次手动运行的已完成规则执行都会记录在“执行日志”表中。
“手动运行”表显示重要的详细信息,例如:
-
每次手动运行的状态
- 挂起:规则尚未运行。
- 正在运行:规则在您指定的时间范围内执行。某些规则(例如指标匹配规则)可能需要更长时间才能运行。
- 错误:规则的配置阻止其正确运行。例如,无法验证规则的条件。
- 手动运行启动时间以及运行时间
- 对于手动运行,失败、挂起、正在运行和已完成的规则执行数量
- 对于手动运行,正在发生的规则执行总数
排查缺失告警
编辑当规则未能在其计划时间附近运行时,某些告警可能会缺失。有多种方法可以尝试解决此问题
您还可以使用 Kibana 中的任务管理器来排查可能与缺失告警相关的后台任务和进程
排查最大告警警告
编辑当规则达到在单个规则执行期间可以生成的告警的最大数量时,以下警告将显示在规则的详细信息页面和规则执行日志中:此规则达到了规则执行的最大告警限制。某些告警未创建。
如果收到此警告,请转到规则的告警选项卡并检查是否存在任何意外情况。意外告警可能是由数据源问题或范围过广的查询创建的。为了进一步减少告警数量,您还可以添加规则例外或抑制告警。
排查间隙
编辑如果您在“规则监控”表或少量规则的“规则详细信息”页面上的“间隙”列中看到值,您可以编辑这些规则并增加其附加回溯时间。
建议将附加回溯时间
设置为至少 1 分钟。这确保在规则未完全按计划时间运行时不会出现缺失告警。
Elastic Security 可防止重复。在附加回溯时间
期间发现的任何重复告警都不会创建。
如果遇到间隙的规则是指标匹配规则,请参阅如何调整指标匹配规则。另请注意,Elastic Security 对指标匹配规则的支持有限。
如果您看到许多规则出现间隙
- 如果您在激活许多规则时重新启动了 Kibana,请尝试停用它们,然后以交错的时间间隔分批重新激活它们。这可确保 Kibana 不会尝试同时运行所有规则。
- 考虑向您的环境中添加另一个 Kibana 实例。
排查摄取管道延迟
编辑即使您的规则按计划时间运行,如果您的摄取管道延迟大于您的规则间隔 + 附加回溯时间,仍然可能存在缺失告警。在 Elastic Stack 版本 >=7.11.0 中,预构建规则的最小间隔 + 附加回溯时间为 6 分钟。为避免错过预构建规则的告警,请谨慎操作,确保摄取管道延迟保持在 6 分钟以下。
此外,在创建自定义规则计划时,请谨慎操作,以确保指定的间隔 + 附加回溯时间大于部署的摄取管道延迟。
您可以通过在创建或编辑规则时,在高级设置中将Timestamp override
字段值指定为event.ingested
来减少由于摄取管道延迟导致的告警遗漏数量。检测引擎在执行规则时使用event.ingested
字段中的值作为时间戳。
例如,假设某个事件发生在10:00,但由于摄取管道延迟,直到10:10才被摄取到Elasticsearch中。如果您创建了一个规则来检测该事件,其时间间隔+额外回溯时间为6分钟,并且该规则在10:12执行,它仍然会检测到该事件,因为event.ingested
时间戳为10:10,距离规则执行只有2分钟,远小于规则的6分钟时间间隔+额外回溯时间。
机器学习作业的缺失告警排查
编辑机器学习检测规则使用机器学习作业,这些作业依赖于Beats和Elastic Agent集成填充的数据字段。在Elastic Stack 8.3版本中,发布了新的机器学习作业(以v3
为前缀)来操作当时可用的ECS字段。
如果您使用的是8.2或更早版本的Beats或Elastic Agent以及Elastic Stack 8.3或更高版本,则可能需要在更新Elastic预构建规则之前复制预构建规则或创建新的自定义规则。更新预构建规则后,它们将仅使用v3
机器学习作业。在更新预构建规则之前复制相关的预构建规则,可确保持续覆盖,让您能够继续使用v1
或v2
作业(在复制的规则中),同时也能运行新的v3
作业(在更新的预构建规则中)。
- 复制的规则可能会导致重复的异常检测和告警。
- 请确保在更新Elastic预构建规则之前,相关的
v3
机器学习作业正在运行。
- 如果您只有8.3或更高版本的Beats和Elastic Agent:您可以下载或更新您的预构建规则并使用最新的
v3
机器学习作业。无需执行其他操作。 - 如果您只有8.2或更早版本的Beats或Elastic Agent,或混合使用旧版本和新版本:要继续使用8.3之前的预构建检测规则指定的
v1
和v2
机器学习作业,必须在将它们更新到最新规则版本之前复制受影响的预构建规则。复制的规则可以继续使用相同的v1
和v2
机器学习作业,而更新的预构建机器学习规则将使用新的v3
机器学习作业。 - 如果您有收集与ECS兼容事件的非Elastic数据发送器:您可以使用最新的
v3
机器学习作业,无需执行其他操作,只要您的数据发送器使用最新的ECS规范即可。但是,如果您是从使用v1
/v2
作业的机器学习规则迁移过来的,请确保在更新Elastic预构建规则之前启动相关的v3
作业。
以下Elastic预构建规则使用新的v3
机器学习作业来生成告警。如果您需要继续使用v1
/v2
机器学习作业提供的覆盖范围,请在更新它们之前复制其关联的v1
/v2
预构建规则。
-
异常的Linux网络端口活动:
v3_linux_anomalous_network_port_activity
-
异常的Linux网络连接发现:
v3_linux_anomalous_network_connection_discovery
-
Linux集群中的异常进程:
v3_linux_anomalous_process_all_hosts
-
异常的Linux用户名:
v3_linux_anomalous_user_name
-
调用元数据服务的异常Linux进程:
v3_linux_rare_metadata_process
-
调用元数据服务的异常Linux用户:
v3_linux_rare_metadata_user
-
Linux主机上的异常进程:
v3_rare_process_by_host_linux
-
Windows主机上的异常进程:
v3_rare_process_by_host_windows
-
异常的Windows网络活动:
v3_windows_anomalous_network_activity
-
异常的Windows路径活动:
v3_windows_anomalous_path_activity
-
异常的Windows进程创建:
v3_windows_anomalous_process_creation
-
Windows集群中的异常进程:
v3_windows_anomalous_process_all_hosts
-
异常的Windows用户名:
v3_windows_anomalous_user_name
-
调用元数据服务的异常Windows进程:
v3_windows_rare_metadata_process
-
调用元数据服务的异常Windows用户:
v3_windows_rare_metadata_user