创建 SLO 燃烧速率规则
创建 SLO 燃烧速率规则,以便在燃烧速率在两个不同的回溯周期(长周期和短周期,短周期为长周期的 1/12)内超过定义阈值时发出警报。例如,如果您的长回溯周期为一小时,则短回溯周期为五分钟。
选择要监控的 SLO,然后使用适当的严重性定义多个燃烧速率窗口。对于每个周期,燃烧速率的计算公式为:错误率除以错误预算。当两个周期的燃烧速率均超过阈值时,将触发警报。添加操作以通过服务或第三方集成(例如邮件、Slack、Jira)引发警报。
若要创建 SLO 燃烧速率规则,您需要具备以下条件
-
必须配置适当的许可证、具有 transform和ingest节点角色的 Elasticsearch 集群,以及 SLO 访问权限。 -
为可观测性无服务器项目创建 SLO 需要 Editor(编辑)或更高角色。要了解更多信息,请参考分配用户角色和权限。
此规则会查询 SLO 可观测性 SLI 和摘要索引。默认值为 .slo-observability.sli* 和 .slo-observability.summary*。您无法针对每个规则覆盖这些索引。
这些步骤展示了如何使用 Alerts(警报)UI。您还可以直接从 Observability(可观测性)→ SLOs 创建 SLO 燃烧速率规则。单击要为其添加燃烧速率规则的 SLO 右侧的更多选项图标 ( ),然后从菜单中选择 Create new alert rule(创建新警报规则)。
当您使用 UI 创建 SLO 时,系统会自动创建一个默认的 SLO 燃烧速率警报规则。该燃烧速率规则将使用默认配置且没有连接器。如果您想接收 SLO 违规警报,则必须配置一个连接器。
若要创建 SLO 燃烧速率规则
在可观测性 UI 中,转到警报。
从警报页面中选择管理规则,然后选择创建规则。
为您的规则输入名称,以及用于更精细报告的任何可选标签(如果不确定,请留空)。
从 Select rule type(选择规则类型)列表中选择 SLO burn rate(SLO 燃烧速率)。
选择要监控的 SLO。
为每个 Action Group(操作组)定义多个燃烧速率窗口(默认为 4 个窗口,但您可以进行编辑)
- Lookback (hours)(回溯(小时)):输入此窗口的回溯周期。系统将使用等于此周期 1/12 的较短周期以实现更快的恢复。
- Burn rate threshold(燃烧速率阈值):为此窗口输入燃烧速率。
- Action Group(操作组):为此窗口选择严重性。
定义检查规则的时间间隔,例如每 1 分钟检查一次。
(可选)设置操作。
保存您的规则。
您可以使用与第三方系统交互、写入日志或索引或发送用户通知的操作来扩展您的规则。您可以随时向规则添加操作。您可以在不添加操作的情况下创建规则,也可以为单个规则定义多个操作。
要向规则添加操作,您必须首先为该服务(例如电子邮件或外部事件管理系统)创建一个连接器,然后您可以将其用于不同的规则,每个规则都可以有其自己的操作频率。
连接器类型
连接器为存储服务连接信息以及与第三方系统集成提供了一个中心位置。在为警报规则定义操作时,可以使用以下连接器
- 案例 (Cases)
- D3 Security
- 电子邮件
- IBM Resilient
- 索引
- Jira
- Microsoft Teams
- 可观测性 AI 助手
- Opsgenie
- PagerDuty
- 服务器日志
- ServiceNow ITOM
- ServiceNow ITSM
- ServiceNow SecOps
- Slack
- Swimlane
- Torq
- Webhook
- xMatters
部分连接器类型是付费商业功能,而其他则是免费的。有关 Elastic 订阅级别的比较,请前往订阅页面。
有关创建连接器的更多信息,请参考连接器。
操作频率
操作变量
使用默认通知消息或对其进行自定义。您可以通过点击“添加变量”图标 并从可用变量列表中进行选择,为消息添加更多上下文。
以下变量特定于此规则类型。您也可以指定适用于所有规则的通用变量。
context.alertDetailsUrl- 链接到警报故障排除视图以获取更多上下文和详细信息。如果未配置
server.publicBaseUrl,则此项将为空字符串。 context.burnRateThreshold- 燃烧速率阈值。
context.grouping- 包含正在报告数据的组的对象。
context.longWindow- 窗口持续时间及关联的燃烧速率值。
context.reason- 告警原因的简要说明。
context.shortWindow- 窗口持续时间及关联的燃烧速率值。
context.sloId- SLO 唯一标识符。
context.sloInstanceId- SLO 实例 ID。
context.sloName- SLO 名称。
context.timestamp- 检测到警报的时间戳。
context.viewInAppUrl-
指向 SLO 详情页面的 URL,有助于进一步调查。
了解如何查看警报并排查 SLO 燃烧速率违规