SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our User Agreement and Privacy Policy.
SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our Privacy Policy and User Agreement for details.
Successfully reported this slideshow.
Activate your 14 day free trial to unlock unlimited reading.
Shadow Server on Fluentd at Fluentd Casual Talks #3
Shadow Server on Fluentd at Fluentd Casual Talks #3
1.
Fluentd で Shadow サーバ用意し
たら捗った話(と性能検証の話)
December 13th, 2013
Naotoshi Seo @sonots
PFSYS DEPT, GPS DIV.,
DeNA Co., Ltd.
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
2.
かじゅある!(挨拶
2
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
3.
自己紹介
・Naotoshi Seo
・@sonots
・インフラアプリエンジニア
・Fluentdコミッタ
3
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
4.
Haikanko
Fluentd クラスタ管理ツール
ログのパス
ホスト
監視ワード
デプロイボタン
http://blog.livedoor.jp/sonots/archives/23590458.html
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
5.
Yohoushi
分散GrowthForecastグラフツール
http://blog.livedoor.jp/sonots/archives/29646713.html
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
6.
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
7.
弊社のFluentd事例
7
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
8.
Fluentdの用途
⁃ ログ監視
⁃ grep, grepcounter, ikachan, mail
⁃ ログ可視化
⁃ datacounter, numeric-monitor, calc, yohoushi,
record-reformer
⁃ ログ収集
⁃ rewrite, file-alternative
http://blog.livedoor.jp/sonots/archives/25861525.html
8
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
9.
アーキテクチャ
watcherを監視
・ホスト毎の通知をまとめたりグラフ集計する serializer ノード
・fluent-plugin-ping-message を使った Fluentd プロセスの生存監視
9
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
10.
弊社の事例の規模
⁃ Fluentd152プロセス
⁃ 600万行/min
⁃ 10万行/sec (at peak)
世界最大級の
Fluentd
ユーザ
(conf的な意味でw
10
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
11.
本題
11
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
12.
困ってるんです(31歳 男性
⁃ Fluentd のプラグインを作った!単体テストも書いた!
⁃ 実際に本番に入れてみてたら変なデータ(例えば
UTF-8 invalid とかとか!)が入ってきてあぼーん
⁃ Fluentd の設定を書いた!動作確認もした!
⁃ 実際に本番に入れてみたら負荷があがってあぼーん
あるある!
12
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
13.
そこで
Shadow
サーバ
13
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
14.
Shadow (プロキシ)サーバとは
Webアプリケーションのテストをいくら入念に整備したとしても、実際
に起こり得るすべての可能性を網羅することは難しいのはもちろん、同じ
コードを複数の環境(言語やフレームワーク、ミドルウェア等のバージョ
ン)で同じように動作することを保証するのは至難の業です。そこで、ユ
ーザの実リクエストを複製して、稼働中の環境とは別に用意したテスト用
の環境にもリクエストを送ることで検証をするというアプローチがとられ
ます。そのために使われるツールのことを、シャドウプロキシサーバ
(shadow proxy server)と呼びます。
主な実装
・Kage (Ruby)
・Geest (Perl)
・Delta (Go)
http://qiita.com/kentaro/items/17e2c334a902677af995
14
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
15.
それ
Fluentdでも
やりたい ;-)
15
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
16.
できます
16
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
17.
しかも簡単に
17
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
18.
# deliver.conf
<match **>
type copy
<store>
type forward
<server>
host real.local
port 24224
</server>
</store>
<store>
type forward
<server>
host shadow.local
port 24224
</server>
</store>
</match>
type copy して shadow サーバに forward するだけ
(web サーバのようにレスポンスを切る必要すらない)
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
18
19.
かじゅある!
19
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
20.
導入できたし
RubyConf にでも行くか
@Miami
http://blog.livedoor.jp/sonots/archives/34188090.html
20
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
21.
リーダー「ちょっと待った。
Fluentdのメモリ使用量すご
い増えてない?」
21
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
22.
22
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
23.
え
23
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
24.
/(^o^)\
24
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
25.
リーダー「直してからMiami
行こうね(にっこり」
25
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
26.
カジュアルすぎた orz
カジュアルに試せるように導入したのに ...
26
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
27.
ちゃんと
性能検証します ...
27
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
28.
ここから性能検証の話
28
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
29.
dummy_log_generator
⁃ ログを吐き出しまくるツール
⁃ 特徴
⁃ rate (行数/秒)を指定できる
⁃ ログメッセージをランダム生成できる
⁃ dummy_log_generator_simple も付属
⁃ システムのI/O限界を引き出せる
http://qiita.com/sonots/items/750da77a18e62852a02f
29
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
30.
検証環境
⁃ CPU: Xeon E5-2670 2.60GHz x 2 (32コア)
⁃ メモリ: 24G
⁃ ディスク読み込み: 250MB/sec (hdparamベンチ)
⁃ ディスク書き込み: 160MB/sec (ddベンチ)
30
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.