LDeNA 峠とログ収集・集計の話
-
Upload
satoshi-tagomori -
Category
Technology
-
view
4.492 -
download
0
description
Transcript of LDeNA 峠とログ収集・集計の話
ログ収集・集計基盤をつくるときのいくつかの試行錯誤
あるいは群馬のナイスな峠について
DeNAxlivedoor合同勉強会
NHN Japan株式会社 ウェブサービス本部開発2室 開発支援チーム田籠 聡 (tagomoris)
12年1月30日月曜日
12年1月30日月曜日
渋白根碓氷
12年1月30日月曜日
碓氷峠
草津群馬
軽井沢(長野)
12年1月30日月曜日
碓氷峠
草津群馬
軽井沢(長野)
12年1月30日月曜日
群馬北西部
12年1月30日月曜日
群馬北西部
草津
12年1月30日月曜日
草津
12年1月30日月曜日
群馬北西部
草津
12年1月30日月曜日
群馬北西部
草津
白根山
12年1月30日月曜日
白根山12年1月30日月曜日
12年1月30日月曜日
12年1月30日月曜日
群馬北西部
草津
白根山
12年1月30日月曜日
群馬北西部
草津
白根山
渋峠
12年1月30日月曜日
渋峠
12年1月30日月曜日
ログの話
12年1月30日月曜日
Webサーバのアクセスログをどうしたいか
長期保存(警察対応等)
サービス指標集計(PV/UU)
システム稼動状況集計(転送量等)
稼動状況監視(エラー率等)
ユーザ行動解析
12年1月30日月曜日
ログ収集 伝統と蓄積のシステム期(2000~2011)
管理サーバホスト情報収集対象パス
集計対象ドメイン/URL集計除外パターン(bot/非PVページパターン)
集計結果サーバサーバサーバサーバサーバサーバサーバ
サーバサーバサーバサーバサーバサーバサーバ
保存用分散fs (gluster)
1. scpで取りに行く定時バッチ
2. 1台でがんばって集計
3.長期保存はgluster
12年1月30日月曜日
ログ収集 伝統と蓄積のシステム期(2000~2011)
scpに行くとき負荷がかかる
1台で捌ききれなくなって失敗したりする
集中管理設定のメンテが面倒というか無理
メンテされない集計設定と結果が堆積
glusterにアクセスに行くのめんどい
12年1月30日月曜日
小林さんちのクルトンさん
まじだるい
12年1月30日月曜日
データ保存: 分散すると面倒
冗長度が確保されてるかチェックが面倒アクセスが面倒
古いサーバ捨てるとrepairが面倒
集計処理: 分散したい
サイズ大きいのに集約とか無理さくさく終わらせたい
スケール増減できるようにしたい12年1月30日月曜日
どうしたい?
ログ収集はpullではなくストリームでpush
集計は分散処理
pushされたログだけ処理、設定は持たない
必要な集計だけ必要なときにやる
保存先はシンプルでアクセスしやすく
12年1月30日月曜日
ログ収集 革新の試行錯誤期 (2011)
サーバサーバサーバサーバサーバサーバサーバサーバサーバサーバサーバサーバサーバサーバ
配送サーバ(scribed)
1. scribeでpush送信(ストリーム)
2. 生ログのままHDFSまでストリーム転送
3.定期的にログのparse等中間処理
アーカイブサーバ(scribed)大容量RAID
アーカイブサーバ(scribed)大容量RAID
Hadoop ClusterHadoop ClusterHadoop ClusterHadoop ClusterHadoop ClusterHadoop Cluster
ShibHadoop Hiveクライアント
4. 必要なときに集計クエリを実行
12年1月30日月曜日
ログの中間処理ってけっこうたいへんね期
1時間分のログの中間処理に20~30分かかる
※ Hadoop Streaming 10ノード/クラスタおヒマ
たまに集計やるよ
中間処理やるよ
前日インポートもやるよ
なんか集計やりたいんだけど…
12年1月30日月曜日
小林さんちのクルトンさん
どうしよう………
12年1月30日月曜日
教訓
ログ中間処理をあなどってはいけない
集計したいときにすぐできないとUX最悪
生ログのまま持ってると取り回しがきかない
さっさと中間処理すれば監視とかもできる
12年1月30日月曜日
ログの中間処理もストリームでやりたい!
でもどうやって?
Apache Kafka
Twitter Storm
自作プロトタイプ(Konsey)
....
12年1月30日月曜日
Fluentdの登場
詳しくは来週の
Fluentd meetup in Japan で!http://www.zusaar.com/event/193104
※ ただしもう満席(189/120)
12年1月30日月曜日
ストリーム処理万歳期 (NOW!)サーバサーバサーバサーバサーバサーバサーバサーバサーバサーバサーバサーバサーバサーバ
配送サーバ(scribed)
配送サーバで分岐してFluentdクラスタへストリーム転送
アーカイブサーバ(scribed)大容量RAID
Hadoop ClusterHadoop ClusterHadoop ClusterHadoop ClusterHadoop ClusterHadoop Cluster
ShibHadoop Hiveクライアント
必要なとき即座に集計クエリ実行可能
アーカイブサーバ(scribed)大容量RAID
配送サーバ(scribed)
Hadoop ClusterHadoop ClusterHadoop ClusterHadoop ClusterHadoop ClusterFluentd Cluster
データを半リアルタイムに中間処理してHDFSへ書き込み
必要に応じてバッチでもインポート・中間処理
12年1月30日月曜日
Shirahne -> Shibサーバサーバサーバサーバサーバサーバサーバサーバサーバサーバサーバサーバサーバサーバ
配送サーバ(scribed)
アーカイブサーバ(scribed)大容量RAID
Hadoop ClusterHadoop ClusterHadoop ClusterHadoop ClusterHadoop ClusterHadoop Cluster
ShibHadoop Hiveクライアント
アーカイブサーバ(scribed)大容量RAID
配送サーバ(scribed)
Hadoop ClusterHadoop ClusterHadoop ClusterHadoop ClusterHadoop ClusterFluentd Cluster
Shirahne
12年1月30日月曜日
現状: 稼動開始したばかり
00:00:10には23時台のログがクエリ可能
UIをどう見せるかなど問題は多い
やれそうなこともたくさんあってわくわく
ログからやれそうなことは何でもご相談を
※ただし社内に限る
12年1月30日月曜日
ログのリアルタイム処理で夢いっぱい
Fluentd
Yahoo!砲検出
HTTPステータスコードごとの割合を
グラフ化
エラー率が跳ね上がったらIRCにアラート
parse済みログを分岐転送させて利用
12年1月30日月曜日
小林さんちのクルトンさん
なにからやろうかな
12年1月30日月曜日
Thank you!
12年1月30日月曜日