Amazon ElastiCache for Redis または Amazon ElastiCache for Valkey クラスターで、Redis のスローログまたはエンジンログの記録を有効にしたいです。
解決策
前提条件
IAM ポリシーには、次のアクセス許可が必要です。
- logs:CreateLogDelivery
- logs:UpdateLogDelivery
- logs:DeleteLogDelivery
- logs:GetLogDelivery
- logs:ListLogDeliveries
注: Valkey 7.x 以降および、エンジンバージョン 6.0 以降を使用する Redis OSS のキャッシュクラスターとレプリケーショングループがスローログをサポートしています。Valkey 7.x および、エンジンバージョン 6.2 以降を使用する Redis OSS のキャッシュクラスターとレプリケーショングループがエンジンログをサポートしています。
クラスターでログ配信を有効にする
ElastiCache API を使用することで、クラスターを作成、変更する際にログ配信を有効化したり設定したりできます。ElastiCache は、JSON またはテキスト形式で指定された宛先にログエントリを配信します。
クラスターを作成または変更するときに Redis でログ配信を有効にするには、「コンソールを使用してログ配信を指定する」を参照してください。
Redis スローログでログ配信を有効にするには、エンジンから固定数のスローログエントリを定期的に取得する必要があります。エントリは、パラメータグループで定義する次の 2 つのパラメータの間である必要があります。
- slowlog-log-slower-than
- slowlog-max-len
コマンドが slowlog-log-slower-than のしきい値を超えると、新しいエントリがスローログに追加されます。slowlog-max-len 設定では、スローログのエントリの最大数を決定します。
注: slowlog-log-slower-than よりも時間がかかるコマンドがない場合、スローログは生成されません。
Redis エンジンログでログ配信を有効にすると、ログには Redis エンジンの内部操作が記録され、追加の分析情報が得られます。分析情報には、バックアップの開始や、同期の失敗などの重要なイベントが含まれます。
クラスターの作成中にエンジンログを有効にすると、プライマリノードとレプリカノード間の正常な同期に関連するエンジンログエントリを確認できます。
ただし、クラスターの作成後にエンジンログを有効にすると、Redis エンジンには特定のアクティビティがないため、ログストリームが空になる場合があります。
クラスターの Amazon CloudWatch Logs が正しく設定されていることを確認するには、クラスターの手動バックアップを作成します。バックアップのログが CloudWatch ロググループに送信されている場合は、CloudWatch ログは正しく設定されています。
関連情報
ログタイプとログ形式の仕様
スローログエントリの内容
エンジンログエントリの内容