Amazon OpenSearch Service でのアラートの設定 - Amazon OpenSearch Service

Amazon OpenSearch Service でのアラートの設定

1 つ以上のインデックスのデータが特定の条件を満たしたときに、それが通知されるように Amazon OpenSearch Service でアラートを設定します。例えば、アプリケーションで 1 時間に 5 つを超える HTTP 503 エラーが記録された場合に E メールが届くようにしたり、過去 20 分以内に新しいドキュメントにインデックスが付けられなかった場合にデベロッパーに連絡したりできます。

アラートには OpenSearch または Elasticsearch 6.2 以降が必要です。API の説明を含む完全なドキュメントについては、OpenSearch ドキュメント を参照してください。このトピックでは、OpenSearch Service でのアラートの相違点をオープンソースバージョンと比較します。

アラートを開始するには

  1. OpenSearch Dashboards のメインメニューからアラートを選択します。

  2. アラートの送信先を設定します。Slack、Amazon Chime、カスタム webhook、Amazon SNS のいずれかを選択します。ご想像のとおり、通知には送信先への接続が必要です。例えば、OpenSearch Service ドメインは、Slack チャンネルに通知したり、カスタム webhook をサードパーティーのサーバーに送信したりするためにインターネットに接続できる必要があります。OpenSearch Service ドメインがカスタム webhook にアラートを送信するには、カスタム webhook にパブリック IP アドレスが必要です。

  3. モニターは、視覚的、クエリの使用、または異常ディテクターの使用の 3 つの方法のいずれかで作成します。

  4. モニターをトリガーする条件を定義します。

  5. (オプション) 1 つ以上のアクションをモニターに追加します。

    ヒント

    アクションが正常にメッセージを送信した後、そのメッセージへのアクセスの保護 (Slack チャネルへのアクセスなど) はユーザーの責任となります。ドメインに機密データが含まれている場合は、アクションなしでトリガーを使用し、Dashboards でアラートを定期的にチェックすることを検討してください。

詳細なステップについては、OpenSearch ドキュメントのモニターを参照してください。

違い

オープンソースバージョンの OpenSearch と比較して、Amazon OpenSearch Service でのアラートにはいくつかの顕著な違いがあります。

Amazon SNS のサポート

OpenSearch Service は、通知について Amazon Simple Notification Service (Amazon SNS) をサポートしています。統合とは、標準の送信先 (Slack、カスタム webhook、および Amazon Chime) に加えて、E メールを送信したり、テキストメッセージを出力したり、さらには SNS トピックを使用して AWS Lambda 機能を実行したりできることを意味します。Amazon SNS の詳細については、Amazon Simple Notification Service デベロッパーガイドを参照してください。

送信先として Amazon SNS を追加するには

  1. OpenSearch Dashboards のメインメニューからアラートを選択します。

  2. [送信先] タブに進み、[送信先を追加] を選択します。

  3. 送信先の一意の名前を指定します。

  4. [タイプ] で、[Amazon SNS] を選択します。

  5. SNS トピックの ARN を入力します。

  6. 以下の信頼関係とアクセス許可 (最小) を持つアカウント内の IAM ロールの ARN を入力します。

    信頼関係

    { "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": { "Service": "es.amazonaws.com" }, "Action": "sts:AssumeRole" }] }

    「混乱した代理」問題に対して自分を守るために aws:SourceAccount および aws:SourceArn 条件キーを使用することをお勧めします。ソースアカウントはドメインの所有者であり、ソース ARN はドメインの ARN です。これらの条件キーを追加するには、ドメインがサービスソフトウェア R20211203 以降にある必要があります。

    例えば、次の条件ブロックを信頼ポリシーに追加できます。

    "Condition": { "StringEquals": { "aws:SourceAccount": "account-id" }, "ArnLike": { "aws:SourceArn": "arn:aws:es:region:account-id:domain/domain-name" } }

    アクセス許可

    { "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "sns:Publish", "Resource": "sns-topic-arn" }] }

    詳細については、IAM ユーザーガイドIAM ID アクセス許可の追加を参照してください。

  7. [Create] を選択します。

アラート設定

OpenSearch Service では、次のアラート設定を変更できます。

  • 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 日後ではなく、7 日後に履歴インデックスを自動的に削除するようにアラートを設定します。

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

以前にモニターを作成したことがあり、日次アラートインデックスの作成を停止する場合は、すべてのアラート履歴インデックスを削除します。

DELETE .plugins-alerting-alert-history-*

履歴インデックスのシャード数を減らすには、インデックステンプレートを作成します。次のリクエストは、1 つのシャードと 1 つのレプリカにアラートを送信するための履歴インデックスを設定します。

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

データ損失の許容値によっては、ゼロレプリカの使用を検討することもできます。インデックステンプレートの作成と管理の詳細については、OpenSearch ドキュメントのインデックステンプレートを参照してください。

アラートの許可

アラートはきめ細かなアクセスコントロールをサポートしています。ユースケースに適合する許可のミキシングとマッチングの詳細については、OpenSearch ドキュメントのアラートセキュリティを参照してください。