创建索引阈值规则

编辑

创建索引阈值规则编辑

索引阈值规则类型运行 Elasticsearch 查询。它聚合文档中的字段值,将它们与阈值进行比较,并在满足阈值时安排运行操作。

堆栈管理 > 规则 中,点击 创建规则。选择 索引阈值 规则类型,然后填写名称和可选标签。

定义条件编辑

创建索引阈值规则时,必须定义规则要检测的条件。例如

Defining index threshold rule conditions in Kibana
  1. 指定要查询的索引和将用于时间窗口的时间字段。
  2. WHEN 子句中,指定如何计算与阈值进行比较的值。该值通过聚合时间窗口中的数字字段来计算。聚合选项包括:计数、平均值、总和、最小值和最大值。使用计数时,将使用文档计数,并且不需要聚合字段。
  3. OVERGROUPED OVER 子句中,指定聚合是应用于所有文档还是使用分组字段拆分为组。如果使用分组,则当每个组超过阈值时,将为其创建一个警报。要限制高基数字段上的警报数量,必须指定要与阈值进行比较的组数。仅检查顶部组。
  4. 选择一个阈值和一个比较运算符(高于高于或等于低于低于或等于介于)。聚合的结果将与此阈值进行比较。
  5. FOR THE LAST 子句中,指定一个时间窗口。它确定搜索文档的时间范围,并使用索引子句中设置的时间字段。
  6. (可选)添加 KQL 表达式以进一步细化规则检测的条件。
  7. 设置检查间隔,该间隔定义评估规则条件的频率。通常,此值应设置为小于时间窗口的值,以避免检测到间隙。
  8. 在高级选项中,可以更改在发出警报之前必须满足规则条件的连续运行次数。默认值为 1

如果有可用数据并且已定义所有子句,则预览图表将呈现阈值,并显示一条线形图,显示过去 30 个间隔的值。这可以指示最近的值及其与阈值的接近程度,并帮助您调整子句。

添加操作编辑

您可以在满足规则条件和不再满足规则条件时选择发送通知。特别是,此规则类型支持

  • 警报摘要
  • 满足阈值时运行的操作
  • 不再满足规则条件时运行的恢复操作

对于每个操作,您必须选择一个连接器,该连接器提供 Kibana 服务或第三方集成的连接信息。有关所有受支持连接器的更多信息,请转到 连接器

选择连接器后,必须设置操作频率。您可以选择在每个检查间隔或自定义间隔上创建警报摘要。例如,以自定义间隔汇总新的、正在进行的和已恢复的警报

UI for defining alert summary action in an index threshold rule

或者,您可以设置操作频率,以便为每个警报运行操作。选择操作运行的频率(在每个检查间隔、仅当警报状态更改时或在自定义操作间隔)。您还必须选择一个操作组,该组指示是在满足阈值时还是在警报恢复时运行操作。每个连接器都支持每个操作组的一组特定操作。例如

UI for defining an action for each alert

您可以通过指定仅在操作匹配 KQL 查询或在特定时间范围内发生警报时才运行操作,来进一步细化操作运行的条件。

添加操作变量编辑

以下操作变量特定于索引阈值规则。您还可以指定 所有规则共有的变量

context.conditions
阈值条件的描述。例如:计数大于 4
context.date
规则满足阈值条件的日期,采用 ISO 格式。例如:2020-01-01T00:00:00.000Z
context.group
与阈值条件关联的操作组的名称。例如:满足阈值
context.message
规则的预构建消息。例如
规则“kibana sites - high egress”对组“threshold met”处于活动状态
- 值:42
- 满足的条件:5 分钟内计数大于 4
- 时间戳:2020-01-01T00:00:00.000Z
context.title
规则的预构建标题。例如:规则 kibana sites - high egress 达到阈值
context.value
满足阈值条件的规则的值。

示例编辑

在此示例中,您将使用 Kibana 示例 Web 日志数据集 来设置和调整索引阈值规则的条件。对于此示例,您希望检测何时任何排名前四的站点在 24 小时内提供超过 420,000 字节的数据。

  1. 转到 堆栈管理 > 规则,然后点击 创建规则
  2. 选择 索引阈值 规则类型。

    1. 提供规则名称。
    2. 选择索引。点击 索引,并将 要查询的索引 设置为 kibana_sample_data_logs。将 时间字段 设置为 @timestamp

      Choosing an index
    3. 要检测在时间窗口内提供的字节数,请点击 并选择 总和 作为聚合,选择 字节 作为要聚合的字段。

      Choosing the aggregation
    4. 要检测流量最大的四个站点,请点击 超过 并选择 顶部,输入 4,然后选择 host.keyword 作为字段。

      Choosing the groups
    5. 要在排名前四的任何站点在 24 小时内超过 420,000 字节时触发规则,请选择 高于 并输入 420000。然后点击 在过去,输入 24,然后选择 小时

      Setting the threshold
    6. 安排规则每四小时检查一次。

      Setting the check interval

      预览图表将呈现过去 120 小时(最后 30 个间隔)中每 4 小时间隔的 24 小时字节总和。

    7. 更改时间窗口并观察它对图表的影响。将 24 小时窗口与 12 小时窗口进行比较。请注意字节总和的变化,这是由于白天和晚上的流量水平不同。这种变化会导致规则产生噪声,因此 24 小时窗口更好。预览图表可以帮助您找到规则的正确值。
    8. 定义规则的操作。

      您可以在规则中添加一个或多个操作,以便在其条件满足和不再满足时生成通知。对于每个操作,您必须选择一个连接器,设置操作频率,并编写通知详细信息。例如,添加一个使用服务器日志连接器将条目写入 Kibana 服务器日志的操作

      Add an action to the rule

      您可以在通知中使用的唯一操作变量列在 添加操作变量 中。有关更多信息,请参阅 操作连接器

    9. 保存规则。
  3. 堆栈管理 > 规则 中查找规则并查看其详细信息。例如,您可以查看规则及其警报的状态

    View the list of alerts for the rule
  4. 当不再需要此示例规则时,请将其删除或禁用。在详细规则视图中,从操作菜单中选择 删除规则