Amazon OpenSearch Service でのアラートの設定
1 つ以上のインデックスのデータが特定の条件を満たしたときに、それが通知されるように Amazon OpenSearch Service でアラートを設定します。例えば、アプリケーションで 1 時間に 5 つを超える HTTP 503 エラーが記録された場合に E メールが届くようにしたり、過去 20 分以内に新しいドキュメントにインデックスが付けられなかった場合にデベロッパーに連絡したりできます。
アラートには OpenSearch または Elasticsearch 6.2 以降が必要です。API の説明を含む完全なドキュメントについては、OpenSearch ドキュメント
アラートを開始するには
-
OpenSearch Dashboards のメインメニューからアラートを選択します。
-
アラートの送信先を設定します。Slack、Amazon Chime、カスタム webhook、Amazon SNS のいずれかを選択します。ご想像のとおり、通知には送信先への接続が必要です。例えば、OpenSearch Service ドメインは、Slack チャンネルに通知したり、カスタム webhook をサードパーティーのサーバーに送信したりするためにインターネットに接続できる必要があります。OpenSearch Service ドメインがカスタム webhook にアラートを送信するには、カスタム webhook にパブリック IP アドレスが必要です。
-
モニターは、視覚的、クエリの使用、または異常ディテクターの使用の 3 つの方法のいずれかで作成します。
-
モニターをトリガーする条件を定義します。
-
(オプション) 1 つ以上のアクションをモニターに追加します。
ヒント アクションが正常にメッセージを送信した後、そのメッセージへのアクセスの保護 (Slack チャネルへのアクセスなど) はユーザーの責任となります。ドメインに機密データが含まれている場合は、アクションなしでトリガーを使用し、Dashboards でアラートを定期的にチェックすることを検討してください。
詳細なステップについては、OpenSearch ドキュメントのモニター
違い
オープンソースバージョンの OpenSearch と比較して、Amazon OpenSearch Service でのアラートにはいくつかの顕著な違いがあります。
Amazon SNS のサポート
OpenSearch Service は、通知について Amazon Simple Notification Service (Amazon SNS
送信先として Amazon SNS を追加するには
OpenSearch Dashboards のメインメニューからアラートを選択します。
-
[送信先] タブに進み、[送信先を追加] を選択します。
-
送信先の一意の名前を指定します。
-
[タイプ] で、[Amazon SNS] を選択します。
-
SNS トピックの ARN を入力します。
-
以下の信頼関係とアクセス許可 (最小) を持つアカウント内の IAM ロールの ARN を入力します。
信頼関係
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": { "Service": "es.amazonaws.com" }, "Action": "sts:AssumeRole" }] }
Confused Deputy Problem (混乱した使節の問題) から自分を守るために、
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 アクセス許可の追加を参照してください。
-
[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 _template/
template-name
{ "index_patterns": [".opendistro-alerting-alert-history-*", ".opendistro-ism-managed-index-history-*"], "template": { "settings": { "number_of_shards": 1, "number_of_replicas": 1 } } }
データ損失の許容値によっては、ゼロレプリカの使用を検討することもできます。インデックステンプレートの作成と管理の詳細については、OpenSearch ドキュメントのインデックステンプレート
アラートの許可
アラートはきめ細かなアクセスコントロールをサポートしています。ユースケースに適合する許可のミキシングとマッチングの詳細については、OpenSearch ドキュメントのアラートセキュリティ