fluentd設定行数と
システム複雑性のカジュアルな話
at 道玄坂LT祭り(ミドル・インフラ) 2015/01/14 #dogenzakalt
すずけん @suzu_v
道玄坂LT祭り (2015/01/14) by @suzu_v
私について
鈴木健太 @suzu_v
あけましておめでとうございます
(道玄坂にある)VOYAGE GROUPにて
アドテク周りの仕事をしてます
去年ログ解析の本を書きました
https://suzuken.hatenablog.jp
道玄坂LT祭り (2015/01/14) by @suzu_v
2014年末振り返り
「なんか今年は設定ばっかりしてたな。fluentdとか」
道玄坂LT祭り (2015/01/14) by @suzu_v
みなさんfluentdの設定ファイル何行
ありますか?
• 100行?
• 1000行?
• 10000行?
道玄坂LT祭り (2015/01/14) by @suzu_v
調べてみた
道玄坂LT祭り (2015/01/14) by @suzu_v
道玄坂LT祭り (2015/01/14) by @suzu_v
道玄坂LT祭り (2015/01/14) by @suzu_v
導入期 (行数: ~1000行)
• プロジェクトにfluentd投入
• GrowthForecastに送ったり
• exec_filterでログ加工したり
• DynamoDBやElasticsearchに送ったりした
道玄坂LT祭り (2015/01/14) by @suzu_v
行数増加要因 その1: exec_filter + タグ書き換え
<match hoge.log>
# filterの中でいろいろタグを書き換える
type exec_filter
...
</match>
<match filtered.hoge.log>
...
</match>
いまならlabelが使えますね!
http://qiita.com/sonots/items/a01d2233210b7b059967
道玄坂LT祭り (2015/01/14) by @suzu_v
行数増加要因 その2: copyしまくる
<match hoge.log>
type copy
<store>
type s3
...
</store>
<store>
type exec_filter
...
</store>
<store>
type s3
....
</store>
<store>
type flowcounter
...
</store>
</match>
道玄坂LT祭り (2015/01/14) by @suzu_v
道玄坂LT祭り (2015/01/14) by @suzu_v
拡大期 (行数: ~3000行)
• Elasticsearchへの書き込みが詰まり始める
• Norikra使い始めた
• ログの種類がいろいろ増える
• (番外編)s3のログをfluentdから読もうとしたりしてやっぱ
りやめた
道玄坂LT祭り (2015/01/14) by @suzu_v
学び1 ~ ボトルネックから解消しよう
川越して宿を取れ
なすべきことは、後回しにしないで先に片付けておくのがよい
ということのたとえ。
または、fluentdのバッファをいくら調整しても先が詰まってい
てはどうしようもないことの例え
道玄坂LT祭り (2015/01/14) by @suzu_v
学び2 ~ 節度は大事
https://twitter.com/repeatedly/status/552412139106078721
道玄坂LT祭り (2015/01/14) by @suzu_v
道玄坂LT祭り (2015/01/14) by @suzu_v
安定期 (行数: 3000行くらい)
• いろいろ反省した
• 集計系統が増えたりするものの、設定自体は安定
• fluentd設定以外のことが忙しかった
• 「それfluentdでやらなくてもよくない?」
道玄坂LT祭り (2015/01/14) by @suzu_v
知見
• 拾ってくるログが増えると設定も増える
• 適材適所、fluentdに仕事をさせすぎるのはやめよう
• カジュアルに安定運用に持って行きましょう!!!!1
• fluentd設定行数とシステムの複雑性はあまり関係ない気がし
ます
道玄坂LT祭り (2015/01/14) by @suzu_v
本年もよろしくお願いいたしますm(_ _)m
そのうち寿司現状確認会 #2とかやるかもしれません @suzu_v
道玄坂LT祭り (2015/01/14) by @suzu_v
参考資料
道玄坂LT祭り (2015/01/14) by @suzu_v
行数算出
行数の集計はgitリポジトリ管理下のファイルを対象にしていま
す。導出は以下のワンライナーで。
git --no-pager log --since=yyyy-mm-dd --until=yyyy-
mm-dd --numstat --oneline --no-merges --
pretty=format:"" -- path/to/conf | awk 'NF==3 {plus
+=$1; minus+=$2} END {printf("+%d, -%dn", plus,
minus)}'
http://qiita.com/takashibagura/items/6d03cdd9ab2f88df828d
道玄坂LT祭り (2015/01/14) by @suzu_v
導入期のころのアーキテクチャ
http://www.slideshare.net/suzuken/data-stream-processing-
and-analysis-on-aws-awscasual
2015/01/14現在、Kinesisは使っていません
道玄坂LT祭り (2015/01/14) by @suzu_v

fluentd設定行数とシステム複雑性のカジュアルな話