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