0

私のユースケースは、S3 アクセス ログ (これらの 18 フィールドを持つ) を定期的に処理し、RDS のテーブルにプッシュすることです。このタスクに AWS データ パイプラインを使用して毎日実行し、前日のログを処理しています。

タスクを 2 つのアクティビティに分割することにしました。 1. シェル コマンド アクティビティ: s3 アクセス ログを処理し、csv ファイルを作成します。 2. ハイブ アクティビティ: csv ファイルからデータを読み取り、RDS テーブルに挿入します。

私の入力 s3 バケットには多くのログ ファイルがあるため、ステージング中のメモリ不足エラーが原因で最初のアクティビティが失敗します。ただし、すべてのログをステージングしたくはありません。前日のログをステージングするだけで十分です。インターネットで検索しましたが、解決策はありませんでした。どうすればこれを達成できますか? 私の解決策は最適なものですか?これよりも優れたソリューションはありますか? どんな提案も役に立ちます

前もって感謝します

4

3 に答える 3

0

Logstash (より正確には ELK スタック) によって既に行われているソリューションを再作成している可能性があります。

http://logstash.net/docs/1.4.2/inputs/s3

Logstash は S3 ファイルを使用できます。

これは、S3 からのアクセス ログの読み取りに関するスレッドです。

https://groups.google.com/forum/#!topic/logstash-users/HqHWklNfB9A

AWS プラグインを通じて同じ機能を持つ Splunk (無料ではない) を使用しています。

于 2015-07-08T10:57:48.450 に答える
0

なぜアクセス ログを RDS にプッシュするのですか? ELK はあなたにとって素晴らしいソリューションかもしれません。独自に構築することも、Logz.io から ELK-as-a-service を使用することもできます (私は Logz.io で働いています)。

これにより、S3 バケットを簡単に定義し、すべてのログをバケットから定期的に読み取り、ELK によって取り込まれ、事前設定されたダッシュボードでそれらを表示できます。

于 2015-07-09T04:08:18.447 に答える