

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 在 Amazon OpenSearch 服务中配置提醒
<a name="alerting"></a>

在 Amazon S OpenSearch ervice 中配置警报，以便在一个或多个索引中的数据满足特定条件时收到通知。例如，如果您的应用程序在一小时内记录了超过五个 HTTP 503 错误，您可能希望收到一封电子邮件；或者，如果在过去 20 分钟内未对任何新文档编制索引，您可能希望呼叫开发人员。

警报需要 OpenSearch 或 Elasticsearch 6.2 或更高版本。

**注意**  
本文档简要概述了提醒，并重点介绍了 Amazon Ser OpenSearch vice 域上的提醒与开源集群上的警报有何不同。 OpenSearch 有关完整的警报文档，包括全面的 API 参考、复合监视器的可用请求字段列表以及可用触发器和操作变量的描述，请参阅文档中的[ OpenSearch 警报](https://opensearch.org/docs/latest/monitoring-plugins/alerting/index/)。

**Topics**
+ [提醒权限](#alerting-diff-perms)
+ [开始使用警报](#alerting-getstarted)
+ [通知](#alerting-notifications)
+ [差异](#alerting-diff)

## 提醒权限
<a name="alerting-diff-perms"></a>

提醒支持[访问权限的精细控制](fgac.md)。有关混合和匹配权限以适应您的用例的详细信息，请参阅 OpenSearch 文档中的[警报安全性](https://opensearch.org/docs/latest/monitoring-plugins/alerting/security/)。

要访问 OpenSearch 仪表板中的**警报**页面，您必须至少映射到`alerting_read_access`预定义的角色，或者被授予同等权限。该角色会授予查看提醒、目标和监控器的权限，但不会授予确认提醒或修改目标或监控器的权限。

## 开始使用警报
<a name="alerting-getstarted"></a>

要创建警报，您需要配置*监视器*，这是一项按定义的计划运行并查询 OpenSearch 索引的作业。您还需要配置一个或多个*触发器*，这些触发器定义生成事件的条件。最后，您需要配置*操作*，即触发警报后进行的操作。

**开始使用警报**

1. 从 “ OpenSearch 控制面板” 主菜单中选择 “**警报**”，然后选择 “**创建监视器**”。

1. 创建每个查询、每个桶、每个集群的指标，或每个文档的监视器。有关说明，请参阅 [Create a monitor](https://opensearch.org/docs/latest/monitoring-plugins/alerting/monitors/#create-a-monitor)（创建监视器）。

1. 对于 **Triggers**（触发器），创建一个或多个触发器。有关说明，请参阅 [Create triggers](https://opensearch.org/docs/latest/monitoring-plugins/alerting/monitors/#create-triggers)（创建触发器）。

1. 对于 **Actions**（操作），为警报设置[通知通道](#alerting-notifications)。在 Slack、Amazon Chime、自定义 webhook 或 Amazon SNS 之间进行选择。正如您所想象的那样，通知需要连接到通道。例如，要通知 Slack 频道或向第三方服务器发送自定义 webhook，您的 OpenSearch 服务域需要适当的网络连接。自定义 webhook 必须具有公有 IP 地址， OpenSearch 服务域才能向其发送警报。
**提示**  
操作成功发送消息后，您负责确保对该消息的访问权限（例如，访问 Slack 频道）。如果您的域包含敏感数据，请考虑使用触发器而不采取任何操作，并定期检查仪表板中的警报。

## 通知
<a name="alerting-notifications"></a>

警报与通知集成，后者是一个统一的 OpenSearch通知系统。通知允许您配置要使用的通信服务，并查看相关的统计数据和故障排除信息。有关全面的文档，请参阅 OpenSearch 文档中的[通知](https://opensearch.org/docs/latest/notifications-plugin/index/)。

您的域名必须运行 OpenSearch 版本 2.3 或更高版本才能使用通知。

**注意**  
OpenSearch 通知与 OpenSearch 服务[通知](managedomains-notifications.md)是分开的，后者提供有关服务软件更新、Auto-Tune 增强功能的详细信息以及其他重要的域级信息。 OpenSearch 通知是特定于插件的。

从 2.0 OpenSearch 版开始，通知渠道取代了警报目的地。目标已被正式停用，今后所有警报通知都将通过通道进行管理。

当您将域名升级到版本 2.3 或更高版本时（由于 2.x 的 OpenSearch 服务支持从 2.3 开始），您的现有目的地将自动迁移到通知渠道。如果目标迁移失败，监视器将继续使用该目标，直到将监视器迁移到通知通道为止。有关更多信息，请参阅 OpenSearch 文档中[有关目的地的问题](https://opensearch.org/docs/latest/observing-your-data/alerting/monitors/#questions-about-destinations)。

要开始使用通知，请登录 OpenSearch 控制面板并选择 “**通知**”、“**频道**” 和 “**创建频道**”。

Amazon Simple Notification Service （Amazon SNS）是一种支持的通知渠道类型。要对用户进行身份验证，您要么需要为用户提供针对 Amazon SNS 的完全访问权限，要么让他们担任有权访问 Amazon SNS 的 IAM 角色。有关说明，请参阅 [Amazon SNS as a channel type](https://opensearch.org/docs/latest/observing-your-data/notifications/index/#amazon-sns-as-a-channel-type)（Amazon SNS 作为通道类型）。

## 差异
<a name="alerting-diff"></a>

与的开源版本相比 OpenSearch，Amazon Serv OpenSearch ice 中的警报有一些显著的区别。

### 警报设置
<a name="alerting-diff-settings"></a>

OpenSearch 服务允许您修改以下[警报设置](https://opensearch.org/docs/latest/observing-your-data/alerting/settings/#alerting-settings)：
+ `plugins.scheduled_jobs.enabled`
+ `plugins.alerting.alert_history_enabled`
+ `plugins.alerting.alert_history_max_age`
+ `plugins.alerting.alert_history_max_docs`
+ `plugins.alerting.alert_history_retention_period`
+ `plugins.alerting.alert_history_rollover_period`
+ `plugins.alerting.filter_by_backend_roles`

所有其他设置都使用您无法更改的默认值。

要禁用提醒，请发送以下请求：

```
PUT _cluster/settings
{
  "persistent" : {
    "plugins.scheduled_jobs.enabled" : false
  }
}
```

以下请求将提醒配置为在七天后自动删除历史记录索引，而不是默认的 30 天：

```
PUT _cluster/settings
{
  "persistent": {
    "plugins.alerting.alert_history_retention_period": "7d"
  }
}
```

如果您之前创建了监控器，并且想停止创建每日提醒索引，请删除所有提醒历史记录索引：

```
DELETE .plugins-alerting-alert-history-*
```

要减少历史记录索引的分片计数，请创建索引模板。以下请求会将警报的历史索引设置为一个分片和一个副本：

```
PUT _index_template/{{template-name}}
{
  "index_patterns": [".opendistro-alerting-alert-history-*"],
  "template": {
    "settings": {
      "number_of_shards": 1,
      "number_of_replicas": 1
    }
  }
}
```

根据您对数据丢失的容忍度，您甚至可以考虑使用零副本。有关创建和管理索引模板的更多信息，请参阅 OpenSearch 文档中的[索引模板](https://opensearch.org/docs/latest/opensearch/index-templates/)。