创建监视器状态规则

编辑

监视器状态规则有两种类型

  • 合成监视器状态 用于 Elastic Synthetics
  • [8.15.0] 在 8.15.0 中已弃用。 Uptime 监视器状态 用于 Uptime 应用程序。

    Uptime 应用程序和 Uptime 监视器状态规则自 8.15.0 版本起已弃用。

    如果您将 Uptime 监视器状态规则与 Uptime 应用程序一起使用,则应将 Uptime 监视器和 Uptime 监视器状态规则迁移到 Elastic Synthetics 和 Synthetics 监视器规则。

    如果您将 Uptime 监视器状态规则与使用 Elastic Synthetics 创建的监视器一起使用,则应将 Uptime 监视器状态规则迁移到 Synthetics 监视器规则。请在 从 Uptime 规则迁移到 Synthetics 规则 中了解如何操作。

合成监视器状态
编辑

在 Synthetics UI 中,创建一个 监视器状态 规则,以便根据错误和中断接收通知。

筛选器编辑

按以下条件筛选部分控制规则的范围。该规则只会检查与此部分中定义的筛选器匹配的监视器。在此示例中,该规则只会对位于 Asia/Pacific - Japan 中的 browser 监视器发出警报。

Filter by section of the Synthetics monitor status rule
条件编辑

每个规则的条件将应用于 按以下条件筛选 部分中与筛选器匹配的所有监视器。您可以选择监视器相对于运行的检查次数或运行检查的时间范围必须关闭的次数,以及监视器必须关闭的最小位置数。

重试次数包含在检查次数中。

规则计划定义评估条件的频率。请注意,检查会排队,并且在容量允许的情况下,它们会尽可能接近定义的值运行。例如,如果计划每 2 分钟运行一次检查,但检查的运行时间超过 2 分钟,则在上次检查完成之前,不会运行检查。

您还可以设置 高级选项,例如在发生警报之前必须满足规则条件的连续运行次数。

在此示例中,只要 browser 监视器在与筛选器匹配的任何位置的最后 5 次监视器运行时关闭 3 次,就会满足条件。这些条件将每分钟评估一次,并且仅当连续三次满足条件时才会收到警报。

Filters and conditions defining a Synthetics monitor status rule
操作类型编辑

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

某些连接器类型是付费的商业功能,而其他连接器类型是免费的。要比较 Elastic 订阅级别,请访问 订阅页面

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

synthetic monitor action types summary

或者,您可以设置操作频率,以便选择操作的运行频率(例如,在每个检查间隔、仅当警报状态更改时或在自定义操作间隔)。在这种情况下,您还必须选择影响操作运行时间的特定阈值条件:合成监视器状态更改或当它已恢复(从关闭变为打开)时。

synthetic monitor action types each alert

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

  • 如果警报匹配查询:输入一个 KQL 查询,该查询定义必须满足的字段-值对或查询条件才能发送通知。该查询仅搜索为规则指定的索引中的警报文档。
  • 如果警报是在时间范围内生成的:设置时间范围详细信息。只有在您定义的时间范围内生成警报时,才会发送通知。
synthetic monitor action types more options
操作变量编辑

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

synthetic monitor action variables

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

context.checkedAt
监视器运行的时间戳。
context.hostName
执行检查的位置的主机名。
context.lastErrorMessage
监视器上次错误消息。
context.locationId
执行检查的位置 ID。
context.locationName
执行检查的位置名称。
context.locationNames
执行检查的位置名称。
context.message
一条生成的摘要消息,概述了当前关闭的监视器的状态。
context.monitorId
监视器的 ID。
context.monitorName
监视器的名称。
context.monitorTags
与监视器关联的标签。
context.monitorType
监视器的类型(例如,HTTP/TCP)。
context.monitorUrl
监视器的 URL。
context.reason
对警报原因的简明描述。
context.recoveryReason
对恢复原因的简明描述。
context.status
监视器状态(例如,“关闭”)。
context.viewInAppUrl
在 Synthetics 应用程序中打开警报详细信息和上下文。
Uptime 监视器状态
编辑

Uptime 应用程序和 Uptime 监视器状态规则自 8.15.0 版本起已弃用。

如果您将 Uptime 监视器状态规则与 Uptime 应用程序一起使用,则应将 Uptime 监视器和 Uptime 监视器状态规则迁移到 Elastic Synthetics 和 Synthetics 监视器规则。

如果您将 Uptime 监视器状态规则与使用 Elastic Synthetics 创建的监视器一起使用,则应将 Uptime 监视器状态规则迁移到 Synthetics 监视器规则。请在 从 Uptime 规则迁移到 Synthetics 规则 中了解如何操作。

在 Uptime 应用程序中,创建一个 监视器状态 规则,以便根据错误和中断接收通知。

  1. 要访问此页面,请转到 ObservabilityUptime
  2. 在页面顶部,单击 警报和规则创建规则
  3. 选择 监视器状态规则

如果您的概述页面搜索栏中已有一个查询,它将在此处填充。

条件编辑

您可以为规则指定以下阈值。

状态检查

当监视器在一段时间范围(秒、分钟、小时或天)内关闭指定次数时接收警报。

可用性

当监视器在一段时间范围(天、周、月或年)内低于指定的可用性阈值时接收警报。

让我们为任何在 10 分钟内显示 关闭 超过三次的监视器创建一个规则。

此规则涵盖您正在运行的所有监视器。您可以使用查询来指定特定的监视器,并且您还可以为每个监视器设置不同的条件。

Monitor status rule

创建规则的最后一步是选择在触发警报时要执行的一个或多个操作。

操作类型编辑

您可以通过将您的规则连接到使用以下受支持的内置集成操作来扩展您的规则。操作是 Kibana 服务或与第三方系统的集成,当满足规则条件时,这些操作作为 Kibana 服务器上的后台任务运行。

您可以在 设置页面上配置操作类型。

Uptime rule connectors

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

Action frequency summary of alerts

或者,您可以设置操作频率,以便选择操作的运行频率(例如,在每个检查间隔、仅当警报状态更改时或在自定义操作间隔)。在这种情况下,您还必须选择影响操作运行时间的特定阈值条件:Uptime 关闭监视器已恢复

Action frequency for each alert
操作变量编辑

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

Default notification message for monitor status rules with open "Add variable" popup listing available action variables
警报恢复编辑

要在警报恢复时接收通知,请选择 在已恢复时运行。使用默认通知消息或对其进行自定义。您可以通过单击消息文本框上方的图标并从可用变量列表中进行选择,从而向消息添加更多上下文。

Default recovery message for monitor status rules with open "Add variable" popup listing available action variables
从 Uptime 规则迁移到 Synthetics 规则
编辑

如果您当前正在将 Uptime 监视器状态与使用 Elastic Synthetics 创建的监视器一起使用,则应将 Uptime 监视器状态规则迁移到

Uptime 状态检查到 Synthetics 监视器规则编辑
筛选器编辑

您在 Uptime 监视器状态规则中使用的 KQL 语法在 Synthetics 监视器状态规则的 按以下条件筛选 部分中也有效。Synthetics 监视器状态规则还为多个类别提供了下拉列表,以便轻松筛选。但是,如果您愿意,仍然可以对这些类别使用 KQL 语法。

条件编辑

如果您使用的是Uptime 可用性条件,请参阅 Uptime 可用性检查到 Synthetics 可用性 SLI

如果您使用的是 Uptime 状态检查条件,则可以使用以下 Synthetics 监视器状态规则等效项来重新创建类似的效果

Uptime Synthetics 等效项

监视器关闭的次数

任何监视器关闭 >= {number}

示例任何监视器关闭 >= 5

关闭 {number}

示例关闭 5

时间范围

在上次 {number} {时间范围单位}

示例在上次 15 分钟

在最近 {数字} {时间范围单位}

示例: 在最近 15 分钟内

操作编辑

Uptime 监控状态规则和 Synthetics 监控状态规则的默认消息不同,但您可以使用Synthetics 监控状态规则操作变量来重新创建类似的消息。

将 Uptime 可用性检查迁移到 Synthetics 可用性 SLI编辑

SLO 允许您基于可用性等因素,为您的服务性能设置清晰、可衡量的目标。Synthetics 可用性 SLI 是一种基于您的合成监控器可用性的服务级别指标 (SLI)。

筛选器编辑

您在 Uptime 监控状态规则中使用的 KQL 语法在 Synthetics 可用性 SLI 的 查询筛选器 字段中也有效。

条件编辑

使用以下 Synthetics 可用性 SLI 字段来替换 Uptime 监控状态规则的可用性条件

Uptime Synthetics 等效项

相对于所有运行检查,处于关闭状态的检查数量

任何监控器在 < {百分比} 的检查中处于活动状态

示例: 任何监控器在 < 90% 的检查中处于活动状态

目标/SLO (%) 字段

示例: 90%

时间范围

在最近 {数字} {时间范围单位}

示例: 在最近 30 天内

时间窗口持续时间 字段

示例: 时间窗口: 滚动,持续时间: 30 天

操作编辑

在使用 Synthetics 可用性 SLI 创建新的 SLO 后,您可以使用 SLO 消耗率规则。 有关配置该规则的更多信息,请参阅创建 SLO 消耗率规则