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
620
Amazon EMR利用者がCloudera Altusを使ってみた感想
swool
0
6.5k
フリークアウトにおける大規模データの取り扱いのこれまでとこれから
swool
0
1.2k
Other Decks in Programming
See All in Programming
103 Early Hints
sugi_0000
1
330
Scalaから始めるOpenFeature入門 / Scalaわいわい勉強会 #4
arthur1
1
380
Запуск 1С:УХ в крупном энтерпрайзе: мечта и реальность ПМа
lamodatech
0
870
週次リリースを実現するための グローバルアプリ開発
tera_ny
1
690
アクターシステムに頼らずEvent Sourcingする方法について
j5ik2o
6
670
iOS開発におけるCopilot For XcodeとCode Completion / copilot for xcode
fuyan777
1
1.2k
return文におけるstd::moveについて
onihusube
1
1.4k
php-conference-japan-2024
tasuku43
0
410
rails newと同時に型を書く
aki19035vc
5
610
PHPで作るWebSocketサーバー ~リアクティブなアプリケーションを知るために~ / WebSocket Server in PHP - To know reactive applications
seike460
PRO
2
720
為你自己學 Python
eddie
0
500
毎日13時間もかかるバッチ処理をたった3日で60%短縮するためにやったこと
sho_ssk_
1
490
Featured
See All Featured
Facilitating Awesome Meetings
lara
50
6.2k
How to Ace a Technical Interview
jacobian
276
23k
Speed Design
sergeychernyshev
25
720
No one is an island. Learnings from fostering a developers community.
thoeni
19
3.1k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5.1k
How STYLIGHT went responsive
nonsquared
96
5.3k
Designing for Performance
lara
604
68k
Product Roadmaps are Hard
iamctodd
PRO
50
11k
Documentation Writing (for coders)
carmenintech
67
4.5k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
132
33k
Unsuck your backbone
ammeep
669
57k
How GitHub (no longer) Works
holman
312
140k
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を