创建库存规则
对于可观测性的无服务器项目,需要具有 Editor 角色或更高的权限才能创建库存阈值规则。要了解更多信息,请参阅 分配用户角色和权限。
根据基础架构应用程序中的 基础架构库存 页面上列出的资源,您可以创建一个阈值规则,以便在特定资源或基础架构中的一组资源的指标达到或超过某个值时通知您。
此外,每个规则都可以使用多个条件来定义,这些条件组合了指标和阈值,以创建精确的通知并减少误报。
- 要访问此页面,请转到 可观测性 → 基础架构。
- 在 基础架构库存 页面或 指标资源管理器 页面上,单击 告警和规则 → 基础架构。
- 选择 创建库存规则。
当您选择 创建库存告警 时,您在 基础架构库存 页面上配置的参数将自动填充到规则中。您可以先使用库存来查看您想要收到哪些基础架构节点的通知,然后只需点击几下即可快速创建规则。
每个规则的条件都可以应用于与您选择的库存类型相关的特定指标。您可以选择聚合类型、指标,并且通过包含警告阈值,您可以根据严重性评分收到多个阈值的告警。创建规则时,如果未返回特定指标的数据,或者规则无法查询 Elasticsearch,您仍然可以收到通知。
在此示例中,Kubernetes Pods 是选定的库存类型。这些条件表明,对于 ingress-nginx
命名空间中任何内存使用率达到或超过 95% 的 pod,您将收到严重告警;如果内存使用率达到或超过 90%,您将收到警告告警。该图表显示了将规则应用于过去 20 分钟数据的结果。请注意,图表时间范围是 FOR THE LAST
字段中指定的后视窗口值的 20 倍。

您可以使用与第三方系统交互、写入日志或索引或发送用户通知的操作来扩展规则。您可以随时向规则添加操作。您可以创建不添加操作的规则,也可以为单个规则定义多个操作。
要向规则添加操作,您必须首先为该服务创建一个连接器(例如,电子邮件或外部事件管理系统),然后您可以将其用于不同的规则,每个规则都有自己的操作频率。
连接器类型
连接器提供了一个中心位置,用于存储与第三方系统的服务和集成相关的连接信息。在定义告警规则的操作时,可以使用以下连接器
- 案例
- D3 安全
- 电子邮件
- IBM Resilient
- 索引
- Jira
- Microsoft Teams
- 可观测性 AI 助手
- Opsgenie
- PagerDuty
- 服务器日志
- ServiceNow ITOM
- ServiceNow ITSM
- ServiceNow SecOps
- Slack
- Swimlane
- Torq
- Webhook
- xMatters
某些连接器类型是付费商业功能,而其他类型则是免费的。要比较 Elastic 订阅级别,请转到 订阅页面。
有关创建连接器的更多信息,请参阅 连接器。
操作频率
选择连接器后,必须设置操作频率。您可以选择在每个检查间隔或自定义间隔上创建告警摘要。例如,发送电子邮件通知,汇总每个小时的新告警、持续告警和已恢复的告警

或者,您可以设置操作频率,以便选择操作的运行频率(例如,在每个检查间隔、仅当告警状态更改时或在自定义操作间隔)。在这种情况下,您可以通过选择特定阈值条件来精确定义何时触发告警:Alert
、Warning
或 Recovered
(曾经高于阈值的值现在已降至阈值以下)。

您还可以通过指定仅当操作与 KQL 查询匹配或告警发生在特定时间范围内时才运行操作,从而进一步优化操作的运行条件
- 如果告警与查询匹配:输入一个 KQL 查询,该查询定义了必须满足的字段-值对或查询条件才能发送通知。该查询仅搜索规则指定的索引中的告警文档。
- 如果在时间范围内生成告警:设置时间范围详细信息。仅当在您定义的时间范围内生成告警时才会发送通知。

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

以下变量是此规则类型特有的。您还可以指定 所有规则通用的变量。
context.alertDetailsUrl
- 指向告警问题排查视图的链接,以获取更多上下文和详细信息。如果未配置
server.publicBaseUrl
,则这将是一个空字符串。 context.alertState
- 告警的当前状态。
context.cloud
- 如果源中可用,则由 ECS 定义的云对象。
context.container
- 如果源中可用,则由 ECS 定义的容器对象。
context.group
- 报告数据的组的名称。
context.host
- 如果源中可用,则由 ECS 定义的主机对象。
context.labels
- 与触发此告警的实体关联的标签列表。
context.metric
- 指定条件中的指标名称。用法:(
ctx.metric.condition0
、ctx.metric.condition1
等)。 context.orchestrator
- 如果源中可用,则由 ECS 定义的协调器对象。
context.originalAlertState
- 告警恢复之前的状态。这仅在恢复上下文中可用。
context.originalAlertStateWasALERT
- 告警恢复之前状态的布尔值。这可用于模板条件。这仅在恢复上下文中可用。
context.originalAlertStateWasWARNING
- 告警恢复之前状态的布尔值。这可用于模板条件。这仅在恢复上下文中可用。
context.reason
- 告警原因的简明描述。
context.tags
- 与触发此告警的实体关联的标签列表。
context.threshold
- 指定条件的指标阈值。用法:(
ctx.threshold.condition0
、ctx.threshold.condition1
等) context.timestamp
- 检测到告警的时间戳。
context.value
- 指定条件中的指标值。用法:(
ctx.value.condition0
、ctx.value.condition1
等)。 context.viewInAppUrl
-
指向告警源的链接。
使用基础设施阈值规则,无法将显式索引模式设置为配置的一部分。索引模式而是从基础设施应用程序的设置页面上的指标索引推断得出。
在每次执行规则检查时,都会检查指标索引设置,但创建规则时不会存储该设置。