正在加载

创建和管理规则

Elastic Stack Serverless

Stack Management(堆栈管理) > Rules(规则) UI 提供了一个跨应用程序的告警视图。不同的 Kibana 应用程序,例如 Observability(可观测性)Security(安全性)Maps(地图)Machine Learning(机器学习) 都可以提供自己的规则。

您可以在 Kibana 的 Stack Management(堆栈管理) > Alerts and insights(告警和洞察) > Rules(规则) 中找到 Rules(规则),或者使用全局搜索字段

Rules page navigation

Rules(规则) 提供了一个中心位置来

有关告警概念以及可用规则和连接器类型的更多信息,请访问告警

对规则的访问是根据您的告警功能权限授予的。有关更多信息,请访问安全性

某些规则必须在 Kibana 应用程序(例如 Metrics(指标)APMUptime)的上下文中创建,但其他规则是通用的。可以通过单击 Create rule(创建规则) 按钮在 Rules(规则) 中创建通用规则类型。这将启动一个浮出层,引导您选择规则类型并配置其条件和操作。

创建规则后,您可以打开操作菜单 (…) 并选择 Edit rule(编辑规则) 以重新打开浮出层并更改规则属性。

提示

您还可以使用适用于 Terraform 的 Elasticstack provider(Elasticstack 提供程序) 将规则作为资源进行管理。有关更多详细信息,请参阅 elasticstack_kibana_alerting_rule 资源。

根据 Kibana 应用程序和上下文,系统可能会提示您选择要创建的规则类型。某些应用程序会为您预先选择规则类型。

每种规则类型都提供了定义检测条件的自身方法,但由一系列子句组成的表达式是一种常见模式。例如,在 Elasticsearch 查询规则中,您可以指定索引、查询和阈值,该阈值使用指标聚合操作(countaveragemaxminsum)。

UI for defining rule conditions in an {{es}} query rule

所有规则都必须有一个检查间隔,用于定义评估规则条件的频率。检查已排队;它们会尽可能接近定义的价值运行,因为容量允许。

有关可用规则类型以及如何配置它们的详细信息,请参阅规则类型

您可以向规则添加一个或多个操作,以在其条件得到满足以及不再满足时生成通知。

每个操作都使用一个连接器,该连接器为 Kibana 服务或第三方集成提供连接信息,具体取决于您要将通知发送到何处。

[预览] 某些在 Kibana 中执行操作的连接器(例如 Cases connector(案例连接器))需要较少的配置。例如,您无需设置操作频率或变量。

选择连接器后,设置操作频率。您可以选择在每个检查间隔或自定义间隔上创建告警摘要。或者,您可以选择为每个告警运行操作(在每个检查间隔、仅当告警状态更改时或在自定义间隔)。

注意

如果您选择自定义操作间隔,则它不能短于规则的检查间隔。

例如,如果您创建 Elasticsearch 查询规则,则可以发送在自定义间隔上总结新告警、持续告警和已恢复告警的通知

UI for defining alert summary action in an {{es}} query rule

当您选择为每个告警运行操作时,必须指定一个操作组。每种规则类型都有一组有效的操作组,这些操作组会影响操作的运行时间。例如,您可以将 Run when(何时运行) 设置为 Query matched(查询匹配)Recovered(已恢复) 以用于 Elasticsearch 查询规则

UI for defining a recovery action

连接器对于每个操作组都具有独特的行为。例如,您可以让操作在满足规则条件时创建 Opsgenie 告警,以及在满足规则条件时关闭 Opsgenie 告警的恢复操作。有关连接器的更多信息,请参阅 连接器

提示

如果您不使用告警摘要,则会为每个告警生成操作,并且规则最终可能会生成大量操作。以下面的示例为例,该规则每分钟监控三台服务器的 CPU 使用率 > 0.9,并且操作频率为 On check intervals(在检查间隔时)

  • 第 1 分钟:服务器 X123 > 0.9。一封电子邮件已针对服务器 X123 发送。
  • 第 2 分钟:X123 和 Y456 > 0.9。两封电子邮件已发送,一封针对 X123,一封针对 Y456。
  • 第 3 分钟:X123、Y456、Z789 > 0.9。三封电子邮件已发送,一封针对 X123、Y456、Z789 中的每一个。

在此示例中,在 3 分钟内,针对同一规则,为服务器 X123 发送了三封电子邮件。通常,最好禁止这些重新通知。如果您将操作频率设置为 On custom action intervals(在自定义操作间隔时),且间隔为 5 分钟,则可以通过仅每 5 分钟获取一次继续超过阈值的服务器的电子邮件来减少噪音

  • 第 1 分钟:服务器 X123 > 0.9。一封电子邮件将针对服务器 X123 发送。
  • 第 2 分钟:X123 和 Y456 > 0.9。一封电子邮件将针对 Y456 发送。
  • 第 3 分钟:X123、Y456、Z789 > 0.9。一封电子邮件将针对 Z789 发送。

要仅在服务器超过阈值时收到一次通知,您可以将操作频率设置为 On status changes(在状态更改时)。或者,请考虑使用告警摘要来减少通知量。

您可以在检测到条件时将规则值传递给操作。要查看您的规则可用的变量列表,请单击“add rule variable(添加规则变量)”按钮

Passing rule values to an action

有关常用操作变量的更多信息,请参阅规则操作变量

通过规则列表,您可以快速暂停、禁用、启用或删除单个规则。例如,您可以更改规则的状态

Use the rule status dropdown to enable or disable an individual rule

如果存在当前不需要的规则,请禁用它们以停止运行检查并减少集群上的负载。

当您暂停一个规则时,该规则检查会继续按计划运行,但不会生成警报操作。您可以暂停指定的时间段、无限期暂停,或安排单次或重复的停机时间

Snooze notifications for a rule

当规则处于暂停状态时,您可以取消或更改此状态的持续时间。

[预览] 要临时禁止规则的通知,您还可以创建一个维护窗口

您可以通过查看 Stack Management > Rules 中的 Last response 来确定规则的运行状况。规则可以有以下响应之一

failed(失败)
规则运行出错。
succeeded(成功)
规则运行无误。
warning(警告)
规则运行中出现一些非关键错误。

点击规则名称以访问规则详细信息页面

Rule details page with multiple alerts

在本示例中,该规则检测到某个站点在 24 小时内提供的字节数超过阈值。有四个站点超出阈值。这些称为警报 - 检测到的条件发生的情况 - 警报名称、状态、检测时间以及条件的持续时间显示在此视图中。警报会根据规则条件是否满足而在列表中出现和消失。有关警报的更多信息,请转到查看警报

如果某些规则操作未能成功运行,您可以在 History 选项卡上查看详细信息。在 Message 列中,单击警告或展开图标double arrow icon to open a flyout with the document details,或者单击 Errored actions 列中的数字以打开 Errored Actions 面板。在此示例中,操作失败,因为xpack.actions.email.domain_allowlist设置已更新,并且操作的电子邮件收件人不再包含在允许列表中

Rule histor page with alerts that have errored actions

要导入和导出规则,请使用已保存的对象

注意

某些规则类型无法通过此界面导出

安全规则可以使用安全 UI导入和导出。

Stack 监控规则自动创建的,因此无法在 Saved Objects 中进行管理。

规则在导出时会被禁用。成功导入后,系统会提示您重新启用该规则。

Rules import banner
© . All rights reserved.