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
610
Amazon EMR利用者がCloudera Altusを使ってみた感想
swool
0
6.4k
フリークアウトにおける大規模データの取り扱いのこれまでとこれから
swool
0
1.1k
Other Decks in Programming
See All in Programming
GenU導入でCDKに初挑戦し、悪戦苦闘した話
hideg
0
160
Go1.23で入った errorsパッケージの小さなアプデ
kuro_kurorrr
2
390
Modern Angular with the NGRX Signal Store New Rules for Your Architecture @BASTA! 2024 in Mainz
manfredsteyer
PRO
0
100
LangGraphでのHuman-in-the-Loopの実装
os1ma
3
1.1k
Shinjuku.rb#95:心の技術書紹介
free_world21
1
110
GraphQL あるいは React における自律的なデータ取得について
quramy
11
3k
Scala におけるコンパイラエラーとの付き合い方
chencmd
2
420
マルチモジュールにおけるテスト最適化
fxwx23
0
210
エンジニア1年目で複雑なコードの改善に取り組んだ話
mtnmr
3
2k
Go Code Generation at newmo / 2024-08-27 #newmo_layerx_go
genkey6
0
560
From Idea to IDE: Developing Plugins for Android Studio
thisaay
1
190
大公開!iOS開発の悩みトップ5 〜iOSDC Japan 2024〜
ryunakayama
0
190
Featured
See All Featured
StorybookのUI Testing Handbookを読んだ
zakiyama
26
5.1k
10 Git Anti Patterns You Should be Aware of
lemiorhan
653
58k
Rebuilding a faster, lazier Slack
samanthasiow
78
8.6k
Raft: Consensus for Rubyists
vanstee
135
6.5k
Imperfection Machines: The Place of Print at Facebook
scottboms
263
13k
Bootstrapping a Software Product
garrettdimon
PRO
304
110k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
29
2.6k
Building Better People: How to give real-time feedback that sticks.
wjessup
359
19k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
89
16k
Reflections from 52 weeks, 52 projects
jeffersonlam
346
20k
The Language of Interfaces
destraynor
153
23k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
43
2k
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を