MapReduceを使って、FluentdでS3上に格納した、Ltsv形式のNginxのアクセスログを解析してみたお話。Technofaraスマートフォン用の表示で見るTechnofaraGolangエンジニア!仕事で必要になって勉強した事とか、新しい事とか色々まとめたりを緩くやります。技術系と思考系だけにしておきます、この広告は、90日以上更新していないブログに表示しています。MapReduceを使って、FluentdでS3上に格納した、Ltsv形式のNginxのアクセスログを解析してみたお話。細かく解析するためには、ログレベルでの解析も必要になってくると思い調査し始めたのがきっかけです。MapReduceの調査をしてみました。nginxでやってみます。今回は、hiveを選択します。今回は確認なので、smallで、1台1台にしました。ログ出力先を設定します。Actions最後は確認して作成これで、AWS側での準備は完了です!!では、実戦してみます。この様に、なっています。XXXXには、サーバHOST名、年、月、日という感じです。ログファイルは、Ltsvで出力されたファイルです。hadoop@ec2-99-999-999-999.ap-northeast-1.compute.amazonaws.comEC2で使い慣れた、「ec2_user」では無く、「hadoop」ユーザを使用します。hivehive>Fluentdで回収したログのデータを格納するhive上のtableをつくります。stringがポイントですltsvをfluentdで回収すると日付<タブ>タグ<タブ>JSONデータの形式ですので、それを格納するように定義してます。seconds日付単位でpartition作成してます。解析後のデータ格納用tableを作る!今回は、簡単にステータスコードが何回登場したかという簡単な事をやってみます。secondsその為、status(int)とcnt(int)の二つを用意しました。s3://<バケット名>/archives/${DATE}'は用意する必要ありません、処理実行後に作成されます。解析後のデータがここに格納されるようです。先ほど作成したtableに格納するという処理を行っています。msec少なめのデータで確認したとはいえ、3分半かかりました。3分半でおわりました?どんな結果か確認してみます解析後のデータは、s3://<バケット名>/archives/${DATE}'以下に格納されます。archiveLog;いらないので消しました。hiveのクエリを勉強する必要はありますが。コレに関しては、調査してからまたまとめてみよう。MapReduceを使って、FluentdでS3上に格納した、Ltsv形式のNginxのアクセスログを解析してみたお話。»プロフィールid:shinofara恵比寿で働くGolang,PHPエンジニア、最近は人事周りにも興味があります。Dockerもいいなー。月別アーカイブはてなブログをはじめよう!shinofaraさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。