创建错误计数阈值规则
创建错误计数阈值规则,以便在服务中的错误数量超过定义阈值时向您发出警报。可以为不同级别设置阈值规则:环境、服务、事务类型和事务名称。
要创建错误计数阈值规则,您需要以下内容
此规则从 APM 索引设置中查询错误索引。默认值为 logs-apm*、apm-* 和 logs-*.otel-*。您无法针对每个规则覆盖这些索引。
本节中的步骤展示了如何使用 Alerts UI。您还可以直接从 Applications 内的任何页面创建错误计数阈值规则。单击 Alerts and rules 按钮,然后选择 Create error count rule。通过这种方式创建规则时,Name 和 Tags 字段将被预填充,但您仍然可以更改它们。
要创建您的错误计数阈值规则
- 在 Observability UI 中,转到 Alerts。
- 从警报页面中选择管理规则,然后选择创建规则。
- 为您的规则输入名称,以及用于更精细报告的任何可选标签(如果不确定,请留空)。
- 从 APM 用例中选择 Error count threshold 规则类型。
- 选择适当的 Service、Environment 和 Error Grouping Key(或保留 ALL 以包含所有选项)。或者,您也可以选择 Use KQL Filter 并输入 KQL 表达式以限制规则的范围。
- 在 Is Above 中输入错误阈值(默认为 25 个错误)。
- 在 For the last 中定义要评估的时间段(默认为最近 5 分钟)。
- 选择如何按以下项对警报分组。每个唯一值都将创建一个警报。
- 定义检查规则的时间间隔(例如,每 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.errorGroupingKey- 创建警报所针对的错误分组键。
context.errorGroupingName- 创建警报所针对的错误分组名称。
context.grouping- 包含正在报告数据的组的对象。
context.interval- 满足警报条件的时间段的长度和时间单位。
context.reason- 告警原因的简要说明。
context.serviceName- 为其创建警报的服务。
context.threshold- 高于此值的任何触发值都会导致警报触发。
context.transactionName- 为其创建警报的事务名称。
context.triggerValue- 突破阈值并触发警报的值。
context.viewInAppUrl-
链接到警报源。
当服务中的错误数量超过定义的阈值时,错误计数阈值警报会触发。由于某些错误比其他错误更重要,本指南将重点关注特定的错误组 ID。
在继续之前,请确定您要为其创建错误计数阈值规则的服务名称、环境名称和错误组 ID。
本指南将根据以下标准为错误组 ID 创建警报
- 服务:
{your_service.name} - 环境:
{your_service.environment} - 错误分组键:
{your_error.ID} - 最近五分钟内错误计数超过 25 个错误
- 按
service.name和service.environment对警报进行分组 - 每 1 分钟检查一次
- 通过电子邮件将警报发送给站点可靠性团队
从 Applications 中的任何页面,选择 Alerts and rules → Create threshold rule → Error count rule。更改警报的名称(如果需要),但不要编辑标签。
根据上述标准,定义以下规则详细信息
- 服务:
{your_service.name} - 环境:
{your_service.environment} - Error Grouping Key:
{your_error.ID} - Is above:
25 个错误 - 最近:
5 分钟 - 警报分组依据:
service.nameservice.environment - 检查频率:
1 分钟
接下来,选择电子邮件连接器并点击创建连接器。填写所需详细信息:发件人、主机、端口等,然后选择保存。
提供了一条默认消息作为警报的起点。您可以使用 Mustache 模板语法 ({{variable}}) 在检测到条件时将附加的警报值传递给操作。点击“添加变量”图标 可以查看可用变量列表。
选择保存。警报已创建,现已处于活动状态!