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
CSC509 Lecture 07
javiergs
PRO
0
250
Go言語はstack overflowの夢を見るか?
logica0419
0
630
TFLintカスタムプラグインで始める Terraformコード品質管理
bells17
2
460
O Que É e Como Funciona o PHP-FPM?
marcelgsantos
0
210
品質ワークショップをやってみた
nealle
0
650
エンジニアインターン「Treasure」とHonoの2年、そして未来へ / Our Journey with Hono Two Years at Treasure and Beyond
carta_engineering
0
440
登壇は dynamic! な営みである / speech is dynamic
da1chi
0
360
Software Architecture
hschwentner
6
2.3k
コードとあなたと私の距離 / The Distance Between Code, You, and I
hiro_y
0
200
Claude Agent SDK を使ってみよう
hyshu
0
1.4k
Goで実践するドメイン駆動開発 AIと歩み始めた新規プロダクト開発の現在地
imkaoru
4
910
One Enishi After Another
snoozer05
PRO
0
160
Featured
See All Featured
Why Our Code Smells
bkeepers
PRO
340
57k
A Tale of Four Properties
chriscoyier
161
23k
Music & Morning Musume
bryan
46
6.9k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
116
20k
The Cost Of JavaScript in 2023
addyosmani
55
9.1k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.5k
Designing Experiences People Love
moore
142
24k
Raft: Consensus for Rubyists
vanstee
140
7.2k
Making Projects Easy
brettharned
120
6.4k
We Have a Design System, Now What?
morganepeng
53
7.8k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.7k
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を