在 Amazon OpenSearch Service 中配置警报 - 亚马逊 OpenSearch 服务
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

在 Amazon OpenSearch Service 中配置警报

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

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

注意

本文档简要概述了提醒,并重点介绍了 Amazon OpenSearch Service 域上的提醒与开源 OpenSearch 集群上的提醒有何区别。有关提醒的完整文档,包括全面的 API 参考、复合监控器的可用请求字段列表以及可用触发器和操作变量的描述,请参阅 OpenSearch 文档中的 Alerting

提醒权限

提醒支持访问权限的精细控制。有关混合和匹配权限以适应您的使用案例的详细信息,请参阅提醒安全(在 OpenSearch 文档中)。

要在 OpenSearch 控制面板中访问提醒页面,您必须至少将自己映射到 alerting_read_access 预定义角色,或者获得了同等权限。该角色会授予查看提醒、目标和监控器的权限,但不会授予确认提醒或修改目标或监控器的权限。

开始使用警报

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

开始使用警报
  1. 选择 OpenSearch 控制面板主菜单中的 Alerting(警报),然后选择 Create monitor(创建监视器)。

  2. 创建每个查询、每个桶、每个集群的指标,或每个文档的监视器。有关说明,请参阅 Create a monitor(创建监视器)。

  3. 对于 Triggers(触发器),创建一个或多个触发器。有关说明,请参阅 Create triggers(创建触发器)。

  4. 对于 Actions(操作),为警报设置通知通道。在 Slack、Amazon Chime、自定义 webhook 或 Amazon SNS 之间进行选择。正如您所想象的那样,通知需要连接到通道。例如,您的 OpenSearch Service 域必须能够连接到互联网以通知 Slack 频道或向第三方服务器发送自定义 Webhook。自定义 webhook 必须具有公有 IP 地址,OpenSearch 服务域才能向其发送警报。

    提示

    操作成功发送消息后,您负责确保对该消息的访问权限(例如,访问 Slack 频道)。如果您的域包含敏感数据,请考虑使用触发器而不采取任何操作,并定期检查仪表板中的警报。

通知

警报将与通知集成,后者是 OpenSearch 通知的统一系统。通知允许您配置要使用的通信服务,并查看相关的统计数据和故障排除信息。有关全面的文档,请参阅 OpenSearch 文档中的 Notifications(通知)。

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

注意

OpenSearch 通知与 OpenSearch Service 通知是分开的,后者提供有关服务软件更新、自动调整增强功能和其他重要域级信息的详细信息。OpenSearch 通知特定于插件。

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

当您将域升级到版本 2.3 或更高版本时(因为 OpenSearch Service 对 2.x 的支持从 2.3 开始),您的现有目标将自动迁移到通知通道。如果目标迁移失败,监视器将继续使用该目标,直到将监视器迁移到通知通道为止。有关更多信息,请参阅 OpenSearch 文档中 Questions about destinations(有关目标的问题)。

要开始使用通知,请登录到 OpenSearch 控制面板,然后依次选择 Notifications(通知)、Channels(频道)和 Create channel(创建通道)。

Amazon Simple Notification Service(Amazon SNS)是受支持的通知通道类型。要对用户进行身份验证,您要么需要为用户提供针对 Amazon SNS 的完全访问权限,要么让他们担任有权访问 Amazon SNS 的 IAM 角色。有关说明,请参阅 Amazon SNS as a channel type(Amazon SNS 作为通道类型)。

差异

与开源版本的 OpenSearch 相比,Amazon OpenSearch Service 中的提醒有一些显著的差异。

警报设置

OpenSearch 服务允许您修改以下提醒设置

  • 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 文档中)。