正在加载

创建指标阈值规则

基于基础设施应用中**指标浏览器**页面上列出的指标,您可以创建一个阈值规则,以便在特定时间段内指标达到或超过某个值时通知您。

此外,可以使用组合指标和阈值的多个条件来定义每个规则,以创建精确的通知。

提示

当您在**指标浏览器**页面上创建此规则时,该规则会自动填充与该页面相同的参数。如果您选择了**每个图表**值,则您的规则已预先配置为监视和通知页面上显示的每个单独的图表。

您还可以基于单个图表创建规则。在**指标浏览器**页面上,单击**警报和规则** → **创建警报**。阈值规则的条件和筛选器部分会自动填充。

每个规则的条件都可以应用于您选择的特定指标。您可以选择聚合类型(请参阅聚合选项),指标,并且通过包含警告阈值,您可以根据严重性评分收到多个阈值的警报。为了帮助您确定哪些阈值对您有意义,预览图表提供了可视化。

在此示例中,条件说明,如果主机的 CPU 使用率达到或超过 120%,您将收到严重警报;如果 CPU 使用率达到或超过 100%,您将收到警告警报。请注意,只有当内存使用率达到或超过 20% 时,您才会收到警报,如第二个条件所示。

Metric threshold alert

当您选择**如果没有数据则提醒我**时,如果指标在预期的时间段内未报告任何数据,或者如果规则无法查询 Elasticsearch,则会触发该规则。

Metric threshold filter and group fields

**筛选器**控制规则的范围。如果使用,该规则将仅评估与此字段中的查询匹配的指标数据。在此示例中,该规则仅会针对来自名为 us-east 的云区域报告的指标发出警报。

**按以下字段对警报进行分组**为添加的每个 field 的唯一值创建一个警报实例。例如,您可以为主机或每个主机的每个挂载点创建一个规则。您还可以添加多个字段。在此示例中,该规则将单独跟踪您的基础设施中每个 host.name 的状态。只有当 host.name: host-1 通过阈值时,您才会收到关于 host-1 的警报,但 host-2host-3 不会。

当您选择**如果某个组停止报告数据则提醒我**时,如果先前报告过指标的组在预期的时间段内没有再次报告指标,则会触发该规则。

重要提示

如果您在**筛选器**和**分组依据**中包含相同的字段,则您收到的结果可能比预期的少。例如,如果您按 cloud.region: us-east 进行过滤,则按 cloud.region 分组将不起作用,因为筛选器查询只能匹配一个区域。

在**高级选项**中,您可以更改在发生警报之前必须满足规则条件的连续运行次数。默认值为 1

通过将规则连接到使用以下支持的内置集成的操作来扩展规则。

注意

某些连接器类型是付费商业功能,而另一些则是免费的。有关 Elastic 订阅级别的比较,请转到订阅页面

选择连接器后,必须设置操作频率。您可以选择在每个检查间隔或自定义间隔创建警报摘要。例如,每小时发送电子邮件通知,其中总结了新的、正在进行的和已恢复的警报

Action types

或者,您可以设置操作频率,以便选择操作的运行频率(例如,在每个检查间隔、仅在警报状态更改时或在自定义操作间隔)。在这种情况下,您还必须选择影响操作运行时间的特定阈值条件:AlertWarningNo dataRecovered(曾经高于阈值的值现在已降至阈值以下)。

Configure when a rule is triggered

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

  • **如果警报与查询匹配**:输入一个 KQL 查询,该查询定义了必须满足才能发送通知的字段-值对或查询条件。该查询仅搜索规则指定的索引中的警报文档。
  • **如果在时间范围内生成警报**:设置时间范围详细信息。仅当在您定义的时间范围内生成警报时,才会发送通知。
Configure a conditional alert

使用默认通知消息或自定义它。您可以单击消息文本框上方的图标,然后从可用变量列表中进行选择,从而向消息添加更多上下文。

Default notification message for metric threshold rules with open "Add variable" popup listing available action variables

以下变量是此规则类型特有的。您还可以指定所有规则通用的变量

context.alertDetailsUrl
指向警报故障排除视图的链接,以获取更多上下文和详细信息。如果未配置 server.publicBaseUrl,则这将是一个空字符串。
context.alertState
警报的当前状态。
context.cloud
如果源中可用,则由 ECS 定义的云对象。
context.container
如果源中可用,则由 ECS 定义的容器对象。
context.group
报告数据的组的名称。要访问每个组键,请使用 context.groupByKeys
context.groupByKeys
包含报告数据的组的对象。
context.host
如果源中可用,则由 ECS 定义的主机对象。
context.labels
与此警报触发的实体关联的标签列表。
context.metric
指定条件中的指标名称。用法:(ctx.metric.condition0ctx.metric.condition1 等)。
context.orchestrator
如果源中可用,则由 ECS 定义的 orchestrator 对象。
context.originalAlertState
警报恢复之前的状态。这仅在恢复上下文中可用。
context.originalAlertStateWasALERT
警报恢复之前的状态的布尔值。这可用于模板条件。这仅在恢复上下文中可用。
context.originalAlertStateWasNO_DATA
警报恢复之前的状态的布尔值。这可用于模板条件。这仅在恢复上下文中可用。
context.originalAlertStateWasWARNING
警报恢复之前的状态的布尔值。这可用于模板条件。这仅在恢复上下文中可用。
context.reason
警报原因的简明描述。
context.tags
与此警报触发的实体关联的标记列表。
context.threshold
指定条件的指标的阈值。用法:(ctx.threshold.condition0ctx.threshold.condition1 等)
context.timestamp
检测到警报的时间戳。
context.value
指定条件下指标的值。 用法:(ctx.value.condition0, ctx.value.condition1, 等等)
context.viewInAppUrl
指向告警源的链接。

对于指标阈值规则,无法将显式索引模式设置为配置的一部分。 索引模式是从基础设施应用的设置页面上的指标索引推断出来的。

每次执行规则检查时,都会检查指标索引设置,但在创建规则时不会存储该设置。

设置下设置的时间戳字段决定了查询中使用哪个字段作为时间戳。

© . All rights reserved.