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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
s_wool
May 13, 2014
Programming
12k
14
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
マゾいログ回収の話と未来
Fluentd Meetup 新しい応用事例とv1に関する発表
http://eventdots.jp/event/49560
s_wool
May 13, 2014
More Decks by s_wool
See All by s_wool
ここだから話せるVPoEの現場
swool
0
690
Amazon EMR利用者がCloudera Altusを使ってみた感想
swool
0
6.9k
フリークアウトにおける大規模データの取り扱いのこれまでとこれから
swool
0
1.4k
Other Decks in Programming
See All in Programming
AI時代のUIはどこへ行く?その2!
yusukebe
22
7.5k
Datadog × OpenTelemetry 入門と実践のあいだ
kn_to_maxpno
1
180
AI駆動開発を妨げる技術的負債の解消アプローチ / ai-refactoring-approach
minodriven
12
6.2k
はてなアカウント基盤 State of the Union
cockscomb
0
570
AI 輔助遺留系統現代化的經驗分享
jame2408
1
970
Strategic Design in the Frontend: Moduliths & Micro Frontends @DDDEurope
manfredsteyer
PRO
0
130
JavaDoc 再入門
nagise
1
410
コンテキストの使い捨てをやめる — ビジネスルール駆動開発と miko —
ioki
0
230
TAKTでAI駆動開発の品質を設計する
j5ik2o
7
1.5k
生成AI時代にこそ効くGo | Why Go Works in the Age of Generative AI
mom0tomo
8
3.3k
不変条件と整合性境界—ビジネスが決める設計判断と実現パターン / Invariants and Consistency Boundaries
nrslib
14
5.8k
鹿野さんに聞く!『TypeScriptコードレシピ集』で磨く実践力
tonkotsuboy_com
2
710
Featured
See All Featured
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
170
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
340
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.5k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
250
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
740
VelocityConf: Rendering Performance Case Studies
addyosmani
333
25k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
590
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Thoughts on Productivity
jonyablonski
76
5.2k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
170
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.1k
Code Reviewing Like a Champion
maltzj
528
40k
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を