fluentdへようこそ
サーバーワークス 新坂
アジェンダ






概要
要求
作る
公開する
使う
fluentdとは
fluentdって
オープンソースなログコレクタ
Input+Buffering+Output
JSONで出力
ファイル

syslog

DBMS
apache log

アプリケーション

ストレージ
[{ “type”: “JSON”} ]
http://fluentd.org/
デフォルト プラグイン
INPUT Plugin

OUTPUT Plugin

in_forward
in_http
in_unix
in_tail
in_exec
in_syslog
in_scribe
etc...

out_file
out_forward
out_exec
out_copy
out_stdout
out_s3
out_mongo
etc...
コミュニティ プラグイン

http://fluentd.org/plugin/
要求は魔物
こんな要求

RDS(MySQL)の
general_logを
取得して
保存したい。
捜索

コミュニティプラグインに
RDSの
slowlogを
取得するものは
あった。
(general_log取得ではない)
プラグイン、
ありません
できませんは言いません

できませんは
言いません。
福岡県から来ました、
大家志津香です。
プラグイン、
作ります
プラグインを作る

プラグインをつくるルールがある。
既存のプラグインを真似る

GitHubでソース公開されている
(ことが多いようだ)
↓
forkして改造
(ライセンスは確認しつつ)
rubygem
インストール
gem install fluent-plugin-rds-log
設定
<source>
type rds_log
log_type general_log
host hoge.cxsdbrhobd0u.ap-northeast-1.rds.amazonaws.com
username shinsaka
password hoge
refresh_interval 10
auto_reconnect true
tag rds.general
</source>
<match rds.general>
type file
path /tmp/rds.general
</match>
ログ確認
2013-10-25T00:07:35+09:00
rds.general
{"event_time":"2013-10-24
15:07:45","user_host":"rdsadmin[rdsadmin]
@ localhost
[127.0.0.1]","thread_id":"9","server_id":"138
8689632","command_type":"Query","argume
nt":"SELECT 1"}
まとめ
 fluentdで、とりあえずログ採取

 扱いやすいデータ
 分析もしやすいに違いない
おわり
必要なプラグインは作ってみよう!
資料
Fluentdで始めるリアルタイムでのログ有効活用
http://codezine.jp/article/detail/6958
Fluentd meetup #2
http://www.slideshare.net/treasure-data/fluentdmeetup-2

Fluentdへようこそ