在 Amazon OpenSearch 服务中配置提醒 - 亚马逊 OpenSearch 服务

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

在 Amazon OpenSearch 服务中配置提醒

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

提醒需要使用 Elasticsearch 6.2 OpenSearch 或更高版本。有关包括 API 描述在内的完整文档,请参阅 OpenSearch 文档中的警报。本主题重点介绍了 Ser OpenSearch vice 中警报与开源版本相比的区别。

提醒权限

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

要访问 OpenSearch 仪表板中的 “警报” 页面,您必须至少映射到alerting_read_access预定义的角色,或者被授予同等权限。此角色授予查看警报、目标和监视器的权限,但不授予确认警报或修改目标或监视器的权限。

开始使用警报

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

开始使用警报
  1. 从 “ OpenSearch 控制面板” 主菜单中选择 “警报”,然后选择 “创建监视器”。

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

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

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

    提示

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

通知

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

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

注意

OpenSearch 通知与 OpenSearch 服务通知是分开的,后者提供有关服务软件更新、Auto-Tune 增强功能的详细信息以及其他重要的域级信息。 OpenSearch 通知是特定于插件的。

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

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

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

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

差异

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

警报设置

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 文档中的索引模板