创建延迟阈值规则
对于 Observability 无服务器项目,创建延迟阈值规则需要 Editor 角色或更高权限。要了解更多信息,请参考 分配用户角色和权限。
您可以创建延迟阈值规则,以便在服务中特定事务类型的延迟超过定义阈值时向您发出警报。阈值规则可以设置在不同的级别:环境、服务、事务类型和/或事务名称。添加操作以便通过服务或第三方集成(例如邮件、Slack、Jira)引发警报。
这些步骤展示了如何使用 Alerts 界面。您也可以直接从 Applications 内的任何页面创建延迟阈值规则。点击 Alerts and rules 按钮,选择 Create threshold rule,然后选择 Latency。以这种方式创建规则时,Name 和 Tags 字段会被预先填充,但您仍然可以更改它们。
要创建延迟阈值规则
在可观测性 UI 中,转到警报。
从警报页面中选择管理规则,然后选择创建规则。
为您的规则输入名称,以及用于更精细报告的任何可选标签(如果不确定,请留空)。
从 APM 用例中选择 Latency threshold 规则类型。
选择合适的 Service、Type、Environment 和 Name(或保留 ALL 以包含所有选项)。或者,您也可以选择 Use KQL Filter 并输入 KQL 表达式来限制规则的范围。
定义阈值和周期
- When:在
Average、95th percentile或99th percentile之间进行选择。 - Is Above:输入毫秒数(默认为 1500ms)。
- For the last:定义要评估的时间段(默认为过去 5 分钟)。
- When:在
选择如何按以下项对警报分组。每个唯一值都将创建一个警报。
定义检查规则的时间间隔(例如,每 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.environment- 为其创建警报的事务类型。
context.grouping- 包含正在报告数据的组的对象。
context.interval- 满足警报条件的时间段的长度和时间单位。
context.reason- 告警原因的简要说明。
context.serviceName- 为其创建警报的服务。
context.threshold- 高于此值的任何触发值都会导致警报触发。
context.transactionName- 为其创建警报的事务名称。
context.transactionType- 为其创建警报的事务类型。
context.triggerValue- 突破阈值并触发警报的值。
context.viewInAppUrl-
链接到警报源。
当服务中特定事务类型的延迟超过定义的阈值时,延迟阈值警报将被触发。
在继续之前,请确定要为其创建延迟阈值规则的服务名称、环境名称和事务类型。
本指南将根据以下标准为错误组 ID 创建警报
- 服务:
{your_service.name} - 事务:
{your_transaction.name} - 环境:
{your_service.environment} - 过去 5 分钟内的平均延迟高于 1500ms
- 按
service.name和service.environment对警报进行分组 - 每 1 分钟检查一次
- 通过电子邮件将警报发送给站点可靠性团队
从 Applications 中的任意页面,选择 Alerts and rules → Create threshold rule → Latency threshold。更改警报名称(如果需要),但不要编辑标签。
根据上述标准,定义以下规则详细信息
- 服务:
{your_service.name} - Type:
{your_transaction.name} - 环境:
{your_service.environment} - When:
Average - Is above:
1500ms - 最近:
5 分钟 - 警报分组依据:
service.nameservice.environment - 检查频率:
1 分钟
接下来,选择电子邮件连接器并点击创建连接器。填写所需详细信息:发件人、主机、端口等,然后选择保存。
系统提供了一条默认消息作为警报的起点。您可以在检测到条件时,使用 Mustache 模板语法({{variable}})将附加的警报值传递给操作。点击添加变量按钮可以访问可用变量的列表。
选择保存。警报已创建,现已处于活动状态!