1

ログはキー値形式です。これらのキーと値のペアは、ログごとに変わる可能性があります。それを分析したい..構造化されていないので、dynamodbに入れる必要がありますが、分析にはredshiftの方が優れています。また、すべてのキー値を redshift に永続化する必要はないかもしれませんが、これはオプションです。私が考えていたいくつかのオプション:

  1. ログを S3 に入れます。次に、copy コマンドを使用します。しかし、コピーは json または csv しか受け取らないため、 COPY コマンドでキー値を JSON 形式に変換する方法が見つかりませんでした。
  2. Kinesis Streamを使用して、ストリームでログファイルを取得します。しかし、これらのログ ファイルを使用する最善の方法は何でしょうか? Lambda または Kinesis クライアント ライブラリを介して! 私が考えていたオプションの 1 つは、Kinesis エージェント フォーマッターを使用してファイルを JSON にフォーマットすることでしたが、それはあまり柔軟ではありませんでした。そしてその後なんと!
  3. ログファイルを cloudwatch ログに入れます! しかし、それをどのように消費するか
4

2 に答える 2

2

Amazon AWS は、これに関して非常に興味深いブログを公開しました。これが要件を満たしているかどうかを確認してください。

AWS EMR と DataPipeline を使用した Web サーバー ログの ETL 処理

リアルタイムについては、リバース エンジニアリングされた Kinesis Firehose Stream も参照できます。データを S3 または Redshift に直接転送します。Kinesis プロデューサーまたはパブリッシャーを変更して、ログを json または csv に変換し、ロード操作を実行できます。

さらにヘルプが必要な場合は、以下にコメントしてください。

于 2016-07-13T05:50:43.100 に答える
1

S3 にデータがある場合は、AWS Data Pipeline の「S3 から Redshift へのデータのロード」のテンプレートを使用してみてください。このテンプレートは、S3 から redshift へのデータのロードを処理します

注 : EMR を使用する場合があるため、データを redshift にロードするまで、データを処理するために EC2 を起動する場合があります。

于 2016-07-08T11:16:40.393 に答える