Amazon OpenSearch Service で推奨される CloudWatch アラーム - Amazon OpenSearch Service

Amazon OpenSearch Service で推奨される CloudWatch アラーム

CloudWatch アラームは、CloudWatch メトリクスがある程度の時間にわたって指定された値を超えたときにアクションを実行します。たとえば、クラスターの状態が red になって 1 分を超えたときに AWS から E メールを受け取ることができます。このセクションでは、Amazon OpenSearch Service で推奨されるいくつかのアラームとそのアラームへの対応方法について説明します。

これらのアラームは、AWS CloudFormation を使用して自動的にデプロイできます。サンプルスタックについては、「この GitHub リポジトリ」を参照してください。

アラームの設定の詳細については、Amazon CloudWatch ユーザーガイドの「Amazon CloudWatch でのアラームの使用」を参照してください。

アラーム 問題
ClusterStatus.red maximum is >= 1 for 1 minute, 1 consecutive time 少なくとも 1 つのプライマリシャードとそのレプリカがノードに割り当てられていません。「赤のクラスター状態」を参照してください。
ClusterStatus.yellow maximum is >= 1 for 1 minute, 1 consecutive time 少なくとも 1 つのレプリカシャードがノードに割り当てられていません。「黄色のクラスター状態」を参照してください。
FreeStorageSpace minimum is <= 20480 for 1 minute, 1 consecutive time クラスターのノードの空きストレージ容量が 20 GiB に下がっています。「使用可能なストレージ領域の不足」を参照してください。この値は MiB 単位です。20480 ではなく、各ノードのストレージ容量の 25% に設定することをお勧めします。
ClusterIndexWritesBlocked is >= 1 for 5 minutes, 1 consecutive time クラスターは書き込みリクエストをブロックしています。「ClusterBlockException」を参照してください。
Nodes minimum is < x for 1 day, 1 consecutive time x はクラスター内のノード数です。このアラームは、クラスター内の少なくとも 1 つのノードが 1 日間にわたってアクセスできない状態を意味します。「障害が発生したクラスターノード」を参照してください。
AutomatedSnapshotFailure maximum is >= 1 for 1 minute, 1 consecutive time 自動スナップショットが失敗しました。多くの場合、この失敗によってクラスター状態が赤になります。「赤のクラスター状態」を参照してください。

すべての自動スナップショットの概要および障害に関する情報を取得するには、次のリクエストのいずれかを試してください。

GET domain_endpoint/_snapshot/cs-automated/_all GET domain_endpoint/_snapshot/cs-automated-enc/_all
CPUUtilization または WarmCPUUtilization maximum is >= 80% for 15 minutes, 3 consecutive times 100% の CPU 使用率は珍しくありませんが、高い使用率が持続する場合は問題があります。より大規模なインスタンスタイプを使用するか、インスタンスを追加することを検討してください。
JVMMemoryPressure maximum is >= 80% for 5 minutes, 3 consecutive times 使用量が増加した場合にクラスターでメモリ不足エラーが発生する可能性があります。垂直スケーリングを検討してください。OpenSearch Service は、インスタンスの RAM の半分を Java ヒープ (32 GiB のヒープサイズまで) に使用します。インスタンスは最大 64 GiB の RAM まで垂直スケーリングでき、それ以上はインスタンスを追加することで水平方向にスケーリングできます。
MasterCPUUtilization maximum is >= 50% for 15 minutes, 3 consecutive times より大規模なインスタンスタイプを専用マスターノードとして使用することを検討してください。クラスターの安定性と Blue/Green デプロイに関わるため、専用マスターノードの CPU 使用率はデータノードよりも低くする必要があります。
MasterJVMMemoryPressure maximum is >= 80% for 15 minutes, 1 consecutive time
KMSKeyError is >= 1 for 1 minute, 1 consecutive time ドメインに保存されているデータを暗号化する KMS 暗号化キーが無効になっています。通常のオペレーションを復元するために、再度有効にしてください。詳細については、「Amazon OpenSearch Service の保管中のデータの暗号化」を参照してください。
KMSKeyInaccessible is >= 1 for 1 minute, 1 consecutive time ドメインに保管中のデータを暗号化する KMS 暗号化キーが削除されたか、OpenSearch Service への権限が取り消されています。この状態のドメインを復旧することはできませんが、手動スナップショットがある場合は、それを使用して新しいドメインに移行できます。詳細については、「Amazon OpenSearch Service の保管中のデータの暗号化」を参照してください。
shards.active is >= 30000 for 1 minute, 1 consecutive time

アクティブなプライマリとレプリカの両方のシャードの合計数は、30,000よりも多くなります。インデックスを頻繁にローテーションさせ過ぎている可能性があります。特定の年齢に達したら、ISM を使用してインデックスを削除することを検討してください。

5xx alarms >= 10% of OpenSearchRequests 1 つ以上のデータノードが過負荷になっているか、アイドルタイムアウト時間内にリクエストが完了しない可能性があります。より大きなインスタンスタイプに切り替えるか、クラスターにさらにノードを追加することを検討してください。シャードおよびクラスターアーキテクチャ用のベストプラクティスをフォローしていることを確認してください。
MasterReachableFromNode is < 1 for 1 day, 1 consecutive time

このアラームは、マスターノードが停止しているか、連絡不能であることを示します。通常、これらの原因はネットワーク接続または AWS 依存関係の問題です。

ThreadpoolWriteQueue average is >= 100 for 1 minute, 1 consecutive time クラスタ-では、インデックス作成の同時実行性が高くなっています。インデックス作成リクエストを点検して抑制するか、クラスターリソースを増やします。
ThreadpoolSearchQueue average is >= 500 for 1 minute, 1 consecutive time クラスターでは、検索の同時実行性が高くなっています。クラスターのスケーリングを検討してください。検索キューのサイズを大きくすることもできますが、そうすると、メモリ不足エラーが発生する可能性があります。

ThreadpoolSearchQueue maximum is >= 5000 for 1 minute, 1 consecutive time

注記

メトリクスを表示するのみであれば、「Amazon CloudWatch を用いた OpenSearch クラスターメトリクスのモニタリング」を参照してください。

検討した方が良いその他のアラーム

定期的に使用する OpenSearch Service の特徴に応じて、次のアラームを設定することを検討してください。

アラーム 問題
WarmFreeStorageSpace minimum is <= 10240 for 1 minute, 1 consecutive time クラスターの UltraWarm ノードの空きストレージ容量が 10 GiB に下がっています。「使用可能なストレージ領域の不足」を参照してください。この値は MiB 単位です。10240 ではなく、各ノードのストレージ容量の 10% に設定することをお勧めします。
HotToWarmMigrationQueueSize is >= 20 for 1 minute, 3 consecutive times

多数のインデックスが、ホットストレージから UltraWarm ストレージへ同時に移動しています。クラスターのスケーリングを検討してください。

HotToWarmMigrationSuccessLatency is >= 1 day, 1 consecutive time

デイリーインデックスを動かそうとして HotToWarmMigrationSuccessCount x レイテンシーが 24 時間を超える場合に通知されるよう、このアラームを設定してください。

WarmJVMMemoryPressure maximum is >= 80% for 5 minutes, 3 consecutive times 使用量が増加した場合にクラスターでメモリ不足エラーが発生する可能性があります。垂直スケーリングを検討してください。OpenSearch Service は、インスタンスの RAM の半分を Java ヒープ (32 GiB のヒープサイズまで) に使用します。インスタンスは最大 64 GiB の RAM まで垂直スケーリングでき、それ以上はインスタンスを追加することで水平方向にスケーリングできます。
WarmToColdMigrationQueueSize is >= 20 for 1 minute, 3 consecutive times

多数のインデックスが、ホットストレージから UltraWarm ストレージへ同時に移動しています。クラスターのスケーリングを検討してください。

HotToWarmMigrationFailureCount is >= 1 for 1 minute, 1 consecutive time

スナップショット、シャード再配置、または強制マージ中に、移行が失敗する可能性があります。スナップショットまたはシャード再配置中の障害は、通常、ノードの障害または S3 接続の問題が原因です。通常、ディスク領域の不足は、強制マージ失敗の根本的な原因です。

WarmToColdMigrationFailureCount is >= 1 for 1 minute, 1 consecutive time インデックスメタデータをコールドストレージに移動させようとして失敗すると、通常、移行は失敗します。ウォームインデックスクラスター状態が削除されたときにも、障害が発生する可能性があります。
WarmToColdMigrationLatency is >= 1 day, 1 consecutive time

デイリーインデックスを動かそうとして WarmToColdMigrationSuccessCount x レイテンシーが 24 時間を超える場合に通知されるよう、このアラームを設定してください。

AlertingDegraded is >= 1 for 1 minute, 1 consecutive time

アラートインデックスが赤色であるか、1 つ以上のノードがスケジュールどおりでないことを意味します。

ADPluginUnhealthy is >= 1 for 1 minute, 1 consecutive time

異常検出プラグインが正しく動作していません。これは、障害率が高いか、使用されているインデックスの 1 つが赤色であるためです。

AsynchronousSearchFailureRate is >= 1 for 1 minute, 1 consecutive time

少なくとも 1 つの非同期検索が直前に失敗しました。これは、おそらくコーディネータノードが失敗したことを意味します。非同期検索リクエストのライフサイクルは、コーディネータノードでのみ管理されているので、コーディネータがダウンすると、リクエストは失敗します。

AsynchronousSearchStoreHealth is >= 1 for 1 minute, 1 consecutive time

残存するインデックス内の非同期検索レスポンスストアの状態は、赤色です。大量の非同期レスポンスを保存している可能性があり、クラスターが不安定になる可能性があります。非同期検索レスポンスを 10 MB 以下に制限してください。

SQLUnhealthy is >= 1 for 1 minute, 3 consecutive times

SQL プラグインが 5 xxレスポンスコードを返しているか、または無効なクエリ DSL を OpenSearch に渡しています。クライアントがプラグインに対して行っているリクエストのトラブルシューティングを行います。

LTRStatus.red is >= 1 for 1 minute, 1 consecutive time

Learning to Rankプラグインの実行に必要なインデックスの内、少なくとも1つにプライマリシャードがなく、機能しません。