「Fluentd Meetup 2015 夏」参加メモ
Fluentd Meetup 2015 夏 - 2015/06/01(月) - dots.[ドッツ]に参加してきたのでメモです。
ねんがんのFluentdステッカーを手に入れたぞ!
Fluent-bitは聞くのに精一杯でメモる余裕は無かったし、LTはざーっと聞くほうに倒してたのでいい加減です。
詳しいメモはmuziyoshizさんのブログ方が正確で詳しいのでそちらを見たほうがたぶんいいです。Fluentd Meetup 2015 夏の参加レポート - 無印吉澤@HatenaBlog
あと、Gloopsさんの会場良かったなあ。
- 『Fluentd v0.12完全解説』@repeatedly
http://www.slideshare.net/repeatedly/fluentd-v012-master-guide
大きな4つの追加
v1config
イベントハンドリング(フィルタとか)
at-least-once
HTTP-RPC
v1config
フォーマット自由度が上がった
若干非互換部分があるがドキュメント読んでね
Hash/Array型の追加
RubyCodeも入れれる(環境変数とかを使ったりしやすく)
:secretオプション
プラグイン側の対応が必要
起動時の設定ファイルのダンプとかの設定ファイルでマスクしたい設定をすることができるようになる
Filter
matchと同レベルでfilterが使えるようになって、filter専用プラグインで処理
旧バージョンだとOutput単位でトランザクションしていたため、多段Outputの際に欠損する可能性があったが
v0.12ではfilterを通すと1トランザクションで処理できるので欠損を減らせる
デフォルトで stdout/grep/record_transformer が同梱
実装する場合はfilter/filter_streamメソッド追加
Label
イベントのグルーピング機構
複数ソースをまとめるようなシーンで使える…はず
label対応する場合は、route.emit
エラーレコードのみ抽出するemit_error_eventというAPIもあり(@ERRORラベルがつく)
At-least-once
エラーったら送り返す(重複する可能性あり)
require_ack_reponse を設定追加すればOK
al-most-onceがデフォルト挙動で、エラーったらロストの可能性あり
HTTP-RPC
HTTPベースのAPI提供
SlackのAPIスタイルを参考にして実装
Webのdocsは既にv0.12ベース
Td-agentも現在はv0.12ベース
- 『fluentdで本番環境を再現する』@toyama0919
http://toyama0919.bitbucket.org/fluentd_shadow.html#/
Shadow Proxy
productionのhttpリクエストを複製してバックエンドに送信するproxy
OSSのその他の実装ではkageなどもある
ユーザに近いフロントエンドにミドルウェアをあまり入れたくなく、安全にやりたい
fluent-plugin-http_shadow
http requestを復元
Apache/Nginxログ想定だが、独自ログでのpostも可能
パラメータ
rate
本番と同様のスペックをそろえられない場合のためのパラメータ
1%くらいから始めて徐々にあげていくスタイル
timeout
fluentd の buffer が溜まるのでそのためのパラメータ
並列数
負荷調整用
注意点
config_paramにHASHが使えないものだと使えない
ユースケース
バグ発見器
ミドルウェアのアップデート検証用
まとめと感想
完全なShadow環境は難しい
POSTはログに無いと再現できない
クライアントブラウザじゃない
- 『fluent-bit』Eduardo Silva氏
http://fluentbit.io
https://github.com/fluent/fluent-bit
http://qiita.com/ksoeda@github/items/47fe5732637a923e5ed6
- 『fluentd対応MIDIキーボードを作ってみた』@kazunori_279
http://qiita.com/kazunori279/items/208e1526367426b39bbb
- 『Docker and Fluentd』@tagomoris
http://www.slideshare.net/tagomoris/docker-and-fluentd
- 『fluentdによる大規模キュー設計』@edvakf
https://speakerdeck.com/edvakf/fluentdniyoruda-gui-mo-kiyushe-ji
- 『大量のログをBigQueryに送ってみた』@catatsuy
https://speakerdeck.com/catatsuy/send-a-log-to-bigquery-with-fluentd
- 所感
v0.12での変更点が綺麗にまとまっていて非常に助かりました。
v1configやFilter、LABELでプラグイン側での対応が必要だったりする箇所もあり、移行時に参考にする予定。
ロードマップ的には0.14がもう予定されているのでもうちょっと待ってv0.10→v0.14という方向もあるとは思うのですが、個人的には先日v1configが絡む微妙な動きも経験したこともあり、v0.12を1回でもいいから経験をしておいたほうが良いように感じます。
前作ったOracleのログかき集めがv0.10ベース…だと思うので、とりあえずそれをv0.12で作り直しかなあ。