Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
マゾいログ回収の話と未来
Search
s_wool
May 13, 2014
Programming
14
11k
マゾいログ回収の話と未来
Fluentd Meetup 新しい応用事例とv1に関する発表
http://eventdots.jp/event/49560
s_wool
May 13, 2014
Tweet
Share
More Decks by s_wool
See All by s_wool
ここだから話せるVPoEの現場
swool
0
650
Amazon EMR利用者がCloudera Altusを使ってみた感想
swool
0
6.7k
フリークアウトにおける大規模データの取り扱いのこれまでとこれから
swool
0
1.3k
Other Decks in Programming
See All in Programming
『毎日の移動』を支えるGoバックエンド内製開発
yutautsugi
2
280
AIと人間の共創開発!OSSで試行錯誤した開発スタイル
mae616
2
800
Ktorで簡単AIアプリケーション
tsukakei
0
100
Leading Effective Engineering Teams in the AI Era
addyosmani
7
590
Flutterで分数(Fraction)を表示する方法
koukimiura
0
140
Go言語の特性を活かした公式MCP SDKの設計
hond0413
1
490
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
210
オープンソースソフトウェアへの解像度🔬
utam0k
17
3.1k
デミカツ切り抜きで面倒くさいことはPythonにやらせよう
aokswork3
0
260
One Enishi After Another
snoozer05
PRO
0
150
登壇は dynamic! な営みである / speech is dynamic
da1chi
0
360
バッチ処理を「状態の記録」から「事実の記録」へ
panda728
PRO
0
190
Featured
See All Featured
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.1k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
Product Roadmaps are Hard
iamctodd
PRO
55
11k
Producing Creativity
orderedlist
PRO
347
40k
Bash Introduction
62gerente
615
210k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Navigating Team Friction
lara
190
15k
How to train your dragon (web standard)
notwaldorf
97
6.3k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.7k
Gamification - CAS2011
davidbonilla
81
5.5k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.5k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.6k
Transcript
マゾいログ回収の話と未来 加藤慶一 株式会社フリークアウト 2014/05/13
about me
Norikazu Kato (@s_wool or s-wool) ログ @ フリークアウト fluentd, Hadoop,
elasticsearch … 経歴 2011.04 グリー株式会社 とあるソーシャルゲームを運営 Treasure Dataの導入時にちょっと手伝ったり 2013.01 株式会社フリークアウト 5月くらいからログ担当 趣味:サバゲー
about
FreakOut 国内で初めてRTBによる広告枠の買付を行うDSPを開始 2011.01~ RTB -> Real Time Bidding DSP ->
Demand Side Platform
RTB? DSP?
RTBの簡単なしくみ
RTBの簡単なしくみ この間大体100ms
50ms or die.
この記事がとてもわかりやすい http://blog.katty.in/5143
本もいろいろ
それはさておき
フリークアウトにおける ログ回収の歴史と fluentd(td-agent)
今の構成
現構成までのタイムライン 時期 トピック 2011.1 FreakOut RTB開始 rsyncによるログ回収 +
MySQLへ格納 2012.11 fluentdの利用開始 一部のログをTDへ転送 2013.1 fluentdによる本格的なログ回収の開始 転送先はs3 + ログサーバー Hadoop運用開始(CDH3) 2013.5 データセンター移行 2013.7 CDH4へアップグレード 2014.01 elasticsearch使い始める
2011
rsync + MySQL 入札、配信サーバーなどからログをrsyncでログサーバーへ転送 ログサーバーでサマリー作成(30分区切り) 今でも動いている
2012
fluentd使い始め 新機能開発時のログの格納場所に困り始める TDに白羽の矢が立つ
2013
fluentdによるログ回収の開始 s3(バックアップ用)とログサーバーへ転送 ログサーバーはtsv(hive用)にしてhdfsにput
_人人人人人人人人_ > 突然のDC移行 <  ̄Y^Y^Y^Y^Y^Y^Y ̄
DC移行 とあるDCからとあるDCへ 諸事情によりログサーバーから先に移行開始
DC間転送をどうするか VPNはあるけど お前それTB越えてて同じこと言えんの?
DC間転送をどうするか もともとS3に転送していたので 移行元DCにアグリゲーションノードを用意し S3を挟んでログサーバーへ転送
移行中の構成
CDH4 CDH4.3へアップグレード マスターノード系を分割 スレーブノードも一気に増築
ちなみに スレーブノードは 自作機
CDH4 WebHDFSへ直接転送開始 fluent-plugin-webhdfs 分単位のtime_slice
このあたりでいろいろハマリはじめる out_s3が詰まる queue size exceeds limit アプリケーションサーバーでのログのparseがしんどくなる msgpackのunpackエラー aggregatorに飛んでくるデータが壊れてる? LAの高まり
対処 out_s3が詰まる aggregatorでfluentdを複数起動する out_s3のnum_threadを増やす buffer_queue_limitを増やす td_monitor_agent便利 parseがしんどくなる tail時のformatをシンプルに hiveへのetl時に頑張ることに 複数起動しようとするとconfの管理とかが大変になる
initスクリプトに手をくわえる # /etc/init.d/td-agent start conf-name confはpuppet側で吸収(するつもり)
お世話になってます
2014
Elasticsearch 使用されているapiの状況をkibanaで監視 (fluentdとは関係ないけど)Hiveからログ加工して異常監視とかにも 使ってる
今後がんばりたい話
話は戻って
rsync + MySQL 入札、配信サーバーなどからログをrsyncでログサーバーへ転送 ログサーバーでサマリー作成(30分区切り) 今でも動いている
こういうこと
こういうこと ほぼ同じログ流してて リソースがもったいないね
解決への課題 現状すべての入札ログをfluentdで回収されてはいない 必要なカラム、必要ないカラムとかの精査 fluentdにやさしいログフォーマットへの統一 hiveにLoadされるまで分析できないデータになってる カラム増えた際の対応とか
解決から見える未来 リアルタイムな異常監視 ここでいう異常はシステムではなく、RTBの状況の監視 CPM, CTR, … 入札ロジック変更を即時に評価しよりよい入札へ
50ms or die. から芸術的な 1 impressionを