Submit Search
Fluentd Casual Talks LT #fluentd #fluentdcasual
23 likes
3,484 views
Hitoshi Asai
1 of 29
Download now
Downloaded 47 times
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
More Related Content
PDF
Serf2Excel - Serf を実運用に活かす話 + Consul もあるよ
Masahito Zembutsu
PDF
consul & consul-alerts を使った監視システム (hbstyle-2015-01-08)
YOSHIKAWA Ryota
PDF
Piwik fluentd
piwikjapan
PDF
MongoDBではじめるカジュアルなタイムラインシステム
Hitoshi Asai
PDF
事例で学ぶトレジャーデータ 20140612
Takahiro Inoue
PDF
What matters to technology driven business
Ohno Shin'ichi
PDF
Treasure Agent Monitoring Service (ベータ)
Treasure Data, Inc.
PDF
おでかけスポット検索のむずかしさ - Holidayを支える検索技術
Yusuke Naito
Serf2Excel - Serf を実運用に活かす話 + Consul もあるよ
Masahito Zembutsu
consul & consul-alerts を使った監視システム (hbstyle-2015-01-08)
YOSHIKAWA Ryota
Piwik fluentd
piwikjapan
MongoDBではじめるカジュアルなタイムラインシステム
Hitoshi Asai
事例で学ぶトレジャーデータ 20140612
Takahiro Inoue
What matters to technology driven business
Ohno Shin'ichi
Treasure Agent Monitoring Service (ベータ)
Treasure Data, Inc.
おでかけスポット検索のむずかしさ - Holidayを支える検索技術
Yusuke Naito
Viewers also liked
(12)
PDF
R&D at Foodtech company - #CookpadTechConf 2016
Aki Ariga
PDF
サービス改善はログデータ分析から
Kenta Suzuki
PDF
Kibanaでsysstatを可視化する
Kensuke Maeda
PPTX
Norikra + Fluentd+ Elasticsearch + Kibana リアルタイムストリーミング処理ログ集計による異常検知
daisuke-a-matsui
PDF
ElasticSearch+Kibanaでログデータの検索と視覚化を実現するテクニックと運用ノウハウ
Kentaro Yoshida
PDF
開発した新技術から、新しい価値を作るためのクックパッド検索チームのプロダクト開発手法
Hiroto Igarashi
PDF
モバイルアプリのインタラクションプロトタイピング - 高速に仮説・実行・検証サイクルを回すために
Keisuke Tada
PDF
ヤフー社内でやってるMySQLチューニングセミナー大公開
Yahoo!デベロッパーネットワーク
PDF
Cookpad TechConf 2016 - DWHに必要なこと
Minero Aoki
PDF
Cookpad Techconf@kimura 2016/01/23
Mari Kimura
PDF
Fluentd v1 and Roadmap
Treasure Data, Inc.
PDF
Treasure Data Intro for Data Enthusiast!!
Takahiro Inoue
R&D at Foodtech company - #CookpadTechConf 2016
Aki Ariga
サービス改善はログデータ分析から
Kenta Suzuki
Kibanaでsysstatを可視化する
Kensuke Maeda
Norikra + Fluentd+ Elasticsearch + Kibana リアルタイムストリーミング処理ログ集計による異常検知
daisuke-a-matsui
ElasticSearch+Kibanaでログデータの検索と視覚化を実現するテクニックと運用ノウハウ
Kentaro Yoshida
開発した新技術から、新しい価値を作るためのクックパッド検索チームのプロダクト開発手法
Hiroto Igarashi
モバイルアプリのインタラクションプロトタイピング - 高速に仮説・実行・検証サイクルを回すために
Keisuke Tada
ヤフー社内でやってるMySQLチューニングセミナー大公開
Yahoo!デベロッパーネットワーク
Cookpad TechConf 2016 - DWHに必要なこと
Minero Aoki
Cookpad Techconf@kimura 2016/01/23
Mari Kimura
Fluentd v1 and Roadmap
Treasure Data, Inc.
Treasure Data Intro for Data Enthusiast!!
Takahiro Inoue
Ad
Similar to Fluentd Casual Talks LT #fluentd #fluentdcasual
(20)
PDF
fluentd を利用した大規模ウェブサービスのロギング
Yuichi Tateno
PDF
Hadoopによるリクルートでの技術調査とその活用
Chiaki Hatanaka
PDF
Fluentd casual
oranie Narut
PDF
Facebookのリアルタイム Big Data 処理
maruyama097
PDF
Fluentd in #tkrk10
SATOSHI TAGOMORI
PDF
Hadoopを用いた大規模ログ解析
shuichi iida
PPTX
Code4Lib Conference 2012 : 参加報告 ( 常川真央 )
Code4Lib JAPAN
PDF
Osc2008 Opensuse Moonlinx
Kazuhisa Hara
PDF
異分野融合型の科学データ公開サイトLink data.org
Sayoko Shimoyama
PDF
Flume cassandra real time log processing (日本語)
CLOUDIAN KK
PDF
社内向けTech Talk資料~Fluentdの基本紹介~
Daisuke Ikeda
PDF
Heroku Postgres
Ayumu Aizawa
PDF
Heroku Postgres
Salesforce Developers Japan
PPTX
20130215 fluentd esper_2
Ogibayashi
PDF
Redmine 過去・2.1・未来
Go Maeda
PDF
スマートフォン向けサービスにおけるサーバサイド設計入門
Hisashi HATAKEYAMA
PDF
WDD2012_SC-004
Kuninobu SaSaki
PDF
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
Akihiro Kuwano
PDF
地方企業がソーシャルゲーム開発を成功させるための10のポイント
Kentaro Matsui
PDF
Kyoto Tycoon Guide in Japanese
Mikio Hirabayashi
fluentd を利用した大規模ウェブサービスのロギング
Yuichi Tateno
Hadoopによるリクルートでの技術調査とその活用
Chiaki Hatanaka
Fluentd casual
oranie Narut
Facebookのリアルタイム Big Data 処理
maruyama097
Fluentd in #tkrk10
SATOSHI TAGOMORI
Hadoopを用いた大規模ログ解析
shuichi iida
Code4Lib Conference 2012 : 参加報告 ( 常川真央 )
Code4Lib JAPAN
Osc2008 Opensuse Moonlinx
Kazuhisa Hara
異分野融合型の科学データ公開サイトLink data.org
Sayoko Shimoyama
Flume cassandra real time log processing (日本語)
CLOUDIAN KK
社内向けTech Talk資料~Fluentdの基本紹介~
Daisuke Ikeda
Heroku Postgres
Ayumu Aizawa
Heroku Postgres
Salesforce Developers Japan
20130215 fluentd esper_2
Ogibayashi
Redmine 過去・2.1・未来
Go Maeda
スマートフォン向けサービスにおけるサーバサイド設計入門
Hisashi HATAKEYAMA
WDD2012_SC-004
Kuninobu SaSaki
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
Akihiro Kuwano
地方企業がソーシャルゲーム開発を成功させるための10のポイント
Kentaro Matsui
Kyoto Tycoon Guide in Japanese
Mikio Hirabayashi
Ad
Fluentd Casual Talks LT #fluentd #fluentdcasual
1.
FluentdとRedisではじめるカジュアルで リアルタイムなレコメンデーション
GMO Media, Inc. Business Promotion Office System Architect Hitoshi Asai
2.
WORK
ScalaJP backend system data reporting aws FAVORITE PLUGINS TWITTER input: tail Hitoshi ASAI buffer: memory @hito_asa プログラマですよ。 output: exec machida, tokyo, jp #fluentdcasual
3.
TODAYS AGENDA 自社Webサービスに導入したリアルタイム レコメンデーションシステムのおはなしです。 ごめんなさい。サービス名は秘密。 内容は画像投稿サービスです。
#fluentdcasual
4.
DEMO
#fluentdcasual
5.
システム構成
#fluentdcasual
6.
SYSTEM ARCHITECTURE
EXEC LOG FILE FORWARD FLUENTD FLUENTD SCRIPT RUBY FLUENTD PHP WORKER WEB SCALA REDIS API #fluentdcasual
7.
スケール
#fluentdcasual
8.
SYSTEM SCALE scale
of service 133 MILLION REQUESTS / DAY 7.6 MILLION PICTURES 6.5 MILLION USERS #fluentdcasual
9.
SYSTEM SCALE scale
of event log 7GB / DAY 1500 EVENTS / SEC #fluentdcasual
10.
SYSTEM SCALE scale
of servers WEB 18 WEB SRVS 6 REDIS SRVS WORKER 4 API SRVS 4 WORKER SRVS API REDIS #fluentdcasual
11.
レコメンデーションの仕組み
#fluentdcasual
12.
RECOMMENDATION ALGORITHM 画像閲覧時のログを取得 210.153.84.41
- - [10/May/2012:20:52:08 +0900] "GET /JP_r0.prcm.jp/default/pic/index/" 200 57 "-“ "ip_fdop_docomo2 5Cb3mxt" "51402666 14235104" USER ID PIC ID #fluentdcasual
13.
RECOMMENDATION ALGORITHM 各ユーザーの閲覧履歴を時系列にRedisで保持
LPUSH key value (list) vlist_user1 pic5 pic4 pic3 pic2 pic1 vlist_user2 pic7 pic2 pic4 pic1 pic2 vlist_user3 pic4 pic6 pic2 pic3 pic1 #fluentdcasual
14.
RECOMMENDATION ALGORITHM Listで近接する画像の関連スコアを加算
LRANGE 3 key value (list) vlist_user1 pic5 pic4 pic3 pic2 pic1 pic4 pic5 pic3 pic5 +2 +1 ※スコアリングルールは随時改善 #fluentdcasual
15.
RECOMMENDATION ALGORITHM 各画像間のスコアをRedisで保持 key:
rel_pic4 (hash) key: rel_pic3 (hash) field value HINCRBY field value HINCRBY pic5 5 3 +2 pic5 2 1 +1 pic6 3 pic2 1 #fluentdcasual
16.
非リアルタイム時代
#fluentdcasual
17.
NON-REALTIME GENERATION 1時間に1回のSCP
& MapReduce scp map-reduce (houry) (houry) WEB SERVERS Hadoop REDIS #fluentdcasual
18.
NON-REALTIME GENERATION 低いヒット率 画像:60
- 70% 検索語:20 – 30% #fluentdcasual
19.
リアルタイム時代
#fluentdcasual
20.
REALTIME GENERATION ヒット率の劇的な改善 画像:60
- 70% 画像:70 - 90% 検索語:20 – 30% 検索語:50 – 70% #fluentdcasual
21.
IMPLEMENTATION recommendation script (ruby)
43 LINES #!/bin/env ruby require 'logger' require 'redis' require 'redis/distributed' VIEW_PREFIX = 'r_user_gazo_view_' RELATION_PREFIX = 'r_gazo_relation_' LOGGER = Logger.new("#{ENV['FLUENTD_HOME']}/logs/gazo_recommend.log", 1, 100 * 1024 * 1024) REDISM = Redis.new(:host => "xxx", :port => 6380) REDISS = Redis::Distributed.new(["redis://xxx:6380", "redis://xxx:6380", "redis://xxx:6380", "redis://xxx:6380", "redis://xxx:6380"]) def calc(time, user_id, gazo_id) time_s = time.strftime('%Y-%m-%d %H:%M:%S') view_key = VIEW_PREFIX + user_id.to_s key_org = RELATION_PREFIX + gazo_id.to_s if REDISS.lrange(view_key, 0, 0) != [gazo_id] then REDISM.lpush(view_key, gazo_id) REDISM.expire(view_key, 7200) REDISM.expire(key_org, 28800) rel = REDISS.lrange(view_key, 0, 3).find_all{|r| r != gazo_id.to_s}.uniq.reverse.take(2).reverse rel.each do |r| key_rel = RELATION_PREFIX + r.to_s score = REDISM.hincrby(key_rel, gazo_id.to_s, 1) REDISM.expire(key_rel, 28800) LOGGER.info("#{time_s} - #{user_id.to_s} : #{r.to_s} => #{gazo_id.to_s} score: #{score}") score = REDISM.hincrby(key_org, r.to_s, 1) LOGGER.info("#{time_s} - #{user_id.to_s} : #{gazo_id.to_s} => #{r.to_s} score: #{score}") end end end while line = gets begin l = line.encode!('UTF-8', 'UTF-8', :invalid => :replace).split("¥t") if l[1] == 'default' && l[2] == 'pic' && l[3] == 'index' then time = l[0] user_id = l[5] gazo_id = l[6] if user_id && gazo_id then calc Time.at(time.to_i), user_id.to_i, gazo_id.to_i rescue nil end end rescue => ex LOGGER.error("error: #{ex}") end end #fluentdcasual
22.
エージェントプロセスの負荷
#fluentdcasual
23.
LOAD OF AGENT
PROCESS load average リリース時から目立った変化はなし。 #fluentdcasual
24.
LOAD OF AGENT
PROCESS memory usage (rss) 0.10.15 => 0.10.19 へのバージョンアップで改善。 #fluentdcasual
25.
LOAD OF AGENT
PROCESS memory usage (rss) - weekly 上昇傾向もありません。 #fluentdcasual
26.
トラブル
#fluentdcasual
27.
TROUBLES in_tailで取り込んだログのパースが稀に失敗する 2012-03-27 03:10:27
+0900: fluent/parser.rb:85:parse: pattern not match: "...(a part of log line)" 直りました。 https://github.com/fluent/fluentd/pull/44 #fluentdcasual
28.
TROUBLES
あとは特にないです。 とってもカジュアル。とっても安定。 #fluentdcasual
29.
以上です、ありがとうございました。
#fluentdcasual
Download