狠狠撸

狠狠撸Share a Scribd company logo
Should we write such that
     plugin or not?

     Fluentd meetup in Fukuoka #?uentd
     2013/03/05
     @tagomoris (TAGOMORI Satoshi)


13年3月7日木曜日
TAGOMORI SATOSHI (@TAGOMORIS)
                       NHN JAPAN CORP.

                   ONE OF FLUENTD COMMITTERS
                 ONE OF FLUENTD PLUGIN AUTHORS
             AND OTHER TOOLS (FLUENT-AGENT-LITE, ETC)
13年3月7日木曜日
13年3月7日木曜日
Fluentd plugins
             buffer plugin

             input plugin

             output plugin (normal output plugin)

             ?lter output plugin

             meta plugin (input / output)

             ?uent mixin gem


13年3月7日木曜日
Input plugins
             データを?uentdに取り込む

              dstat, munin, ping-message, tail-ex

              parseが必要

             他ノードとのデータ転送

              scribe, ?ume, zmq, secure-forward



13年3月7日木曜日
Output plugins
             Fluentd内部のデータをデータストアに書き出す

              mongo, td, couch, s3, pghstore, ?le-alternative,
              webhdfs

              フォーマットが必要

             Fluentd内部のデータを外部ツールにポストする

              growthforecast, growl, splunk, say


13年3月7日木曜日
Filter plugins
             継承関係はOutput pluginだが Engine.emit() する

             経路制御?フィルタリング

              rewrite, rewrite-tag-?lter, sampling-?lter
             データ加工

              parser, map, ?atten, ampli?er-?lter
             集計処理

              ?owcounter, datacounter, datacalculator,
              numeric-monitor, noti?er, numeric-counter
13年3月7日木曜日
Meta plugins

             input/output どちらもある

             設定を変数展開したり動的展開したり

              forest, con?g-expander, con?g_pit

              out_copy




13年3月7日木曜日
Fluentd mixin gems

             他のプラグインに共通の機能を提供する

             ?uent-mixin-con?g-placeholders

             ?uent-mixin-plaintextformatter




13年3月7日木曜日
How to write plugins
             Google "?uentd plugin 作り方"
               bundle gem plugin_name
               edit it (and write tests!)
               edit plugin_name.gem and README.md
               rake release
             version
               0.0.x: alpha/developer release (使ってない)
              0.y.z: beta or standard release (使ってる)

13年3月7日木曜日
WRITE,
             or DON'T WRITE
             とりあえず作る?

             既存のものがあるならそちらを使いたい

              安定性、機能の充実、などなど

              機能追加や変更:既存プラグインの継承は?

             mixinがあれば使いたい

              共通の設定方法、実装負荷軽減、バグの共有


13年3月7日木曜日
Write what you use
             自分が使うものを作ろう

              それが結局いちばん品質に貢献する

             既存プラグインあるけど微妙だなー、とか

              使われてないようなら奪ってしまえ

              pullreq送りまくってればたぶんcommit権くれる

              そのうちrelease権ももらってみんな幸せ


13年3月7日木曜日
Write buffer plugins

             おススメできない

              あんまり必要もないはず……

             眺めるのは面白いかも

              lib/?uent/buffer.rb , lib/?uent/plugin/buf_?le.rb




13年3月7日木曜日
Write input plugins
             Write output plugins


             Don't think, write.




13年3月7日木曜日
Write ?lter output plugins
             新規に作る?

              既存プラグインの組合せでできない?

              exec_?lterでできない?

             性能や流量は大丈夫?

              データ加工系はCPUをけっこう使うかも

              過度な量の再emitは控えましょう


13年3月7日木曜日
Write meta plugins
             新規に作る? けっこう難しい
              Fluentdのコードをちゃんと読む必要がある
              モノによっては非常に強力
             代用できる方法ない?
              設定ファイルテンプレート + include http://...
              デプロイツール類(chef, etc)



13年3月7日木曜日
Write mixin gems
             とにかくmixinに切り出しとけ

              format, parse, convert, ...

             定型処理

              再実装/コピペするほど愚かなことはない

              バグレポート先、デバッグ、設定書式の共有


13年3月7日木曜日
Maintenance:
              best practice
       書きあげたら忘れたい: テスト超重要 (面倒…)

       README書こう: release前、がんばって英語で

             典型的な設定例みたいなの、超重要

       広報しよう: どんな場合に便利なの? (機能だけじゃなく)

       アップデートしよう: 互換性の破壊は極力避ける

       pullreqに対応しよう: いいこといろいろあるよ


13年3月7日木曜日
?uentd.org/plugin/

             ダウンロード数ランキング

              射幸心を   られる

              目指せkanicounterライン突破




13年3月7日木曜日
NO PLUGINS
 NO FLUENTD


  Thanks!



13年3月7日木曜日

More Related Content

What's hot (12)

PDF
PyCon JP 2016 ヒ?キ?ナーセッション
Tetsuya Morimoto
?
PDF
Django 1.9
OMEGA (@equal_001)
?
PDF
フ?ロク?ラミンク?作法
Kota Uchida
?
PDF
Django最速デバッグ指南 PyConAPAC 2013
hirokiky
?
PDF
骋辞谤辞耻迟颈苍别と肠丑补苍苍别濒から始める驳辞言语@初心者向け驳辞濒补苍驳勉强会2
Takuya Ueda
?
PDF
骋辞て?飞别产アフ?リを开発してみよう
Takuya Ueda
?
PPTX
结婚式の画像がどうしてもほしかった话
Daijirou Yamada
?
PDF
Goroutineと channelから はし?めるgo言語
Takuya Ueda
?
ODP
尝罢厂の準备をチョットやってみた。濒虫肠チョット触ってみた
Naoki Matsumoto
?
PDF
础苍诲谤辞颈诲道第1回公开用
Takaya Funabiki
?
PDF
S16 t1 python学習奮闘記#6
Takeshi Akutsu
?
ODP
TwitterのStreaming ApiをPhpから使う
Hidenori Goto
?
PyCon JP 2016 ヒ?キ?ナーセッション
Tetsuya Morimoto
?
フ?ロク?ラミンク?作法
Kota Uchida
?
Django最速デバッグ指南 PyConAPAC 2013
hirokiky
?
骋辞谤辞耻迟颈苍别と肠丑补苍苍别濒から始める驳辞言语@初心者向け驳辞濒补苍驳勉强会2
Takuya Ueda
?
骋辞て?飞别产アフ?リを开発してみよう
Takuya Ueda
?
结婚式の画像がどうしてもほしかった话
Daijirou Yamada
?
Goroutineと channelから はし?めるgo言語
Takuya Ueda
?
尝罢厂の準备をチョットやってみた。濒虫肠チョット触ってみた
Naoki Matsumoto
?
础苍诲谤辞颈诲道第1回公开用
Takaya Funabiki
?
S16 t1 python学習奮闘記#6
Takeshi Akutsu
?
TwitterのStreaming ApiをPhpから使う
Hidenori Goto
?

Viewers also liked (9)

PDF
The basics of fluentd
Treasure Data, Inc.
?
PDF
Fluentd in Co-Work
Makoto Haruyama
?
PDF
第4回 インフラ勉強会@福岡 Fluentdハンズオン
学 松崎
?
PDF
Fluentd Hacking Guide at RubyKaigi 2014
Naotoshi Seo
?
PDF
gem の探し方
Ryunosuke SATO
?
KEY
Webサーバ勉強会 LT資料
学 松崎
?
PDF
How To Write Middleware In Ruby
SATOSHI TAGOMORI
?
PPTX
Ansible: How to Get More Sleep and Require Less Coffee
Sarah Z
?
PDF
ログ管理のベストプラクティス
Akihiro Kuwano
?
The basics of fluentd
Treasure Data, Inc.
?
Fluentd in Co-Work
Makoto Haruyama
?
第4回 インフラ勉強会@福岡 Fluentdハンズオン
学 松崎
?
Fluentd Hacking Guide at RubyKaigi 2014
Naotoshi Seo
?
gem の探し方
Ryunosuke SATO
?
Webサーバ勉強会 LT資料
学 松崎
?
How To Write Middleware In Ruby
SATOSHI TAGOMORI
?
Ansible: How to Get More Sleep and Require Less Coffee
Sarah Z
?
ログ管理のベストプラクティス
Akihiro Kuwano
?
Ad

Similar to Should we write such like plugin or not? (20)

PDF
Fluentd in #tkrk10
SATOSHI TAGOMORI
?
PPTX
Fluentd1.2 & Fluent Bit
Seiya Mizuno
?
PPTX
Fluentd
Hiroshi Toyama
?
PPTX
贵濒耻别苍迟诲+别濒补蝉迟颈肠蝉别补谤肠丑+办颈产补苍补(蹿濒耻别苍迟诲编)
Daisuke Kikuchi
?
PDF
(うしなわれた)Fluentd output-convert_structure
tod esking
?
PDF
OSSで支えられるライブドアの巨大ログ集計 #nhntech
SATOSHI TAGOMORI
?
PPT
Maven2 plugin
Funato Takashi
?
PDF
fluent-plugin-resque_stat
Makoto Haruyama
?
PDF
骋谤补颈濒蝉のススメ(仮)
Tsuyoshi Yamamoto
?
PDF
Hyper → Highspeed → Development
aktsk
?
PDF
社内向けTech Talk資料~Fluentdの基本紹介~
Daisuke Ikeda
?
PPTX
20130215 fluentd esper_2
Ogibayashi
?
PDF
Osc2008 Opensuse Moonlinx
Kazuhisa Hara
?
PPTX
Fluxflex meetup 2011 in Tokyo
Kyosuke Inoue
?
PPTX
fluxflex meetup in Tokyo
Kyosuke Inoue
?
PPT
Maven2 プラグイン入門
guestd4898b
?
PDF
Start-padrino
Uchio Kondo
?
PDF
惭辞锄颈濒濒补のビルドインフラ
Makoto Kato
?
PDF
アジャイルソフトウェア开発の道具箱
Koichi ITO
?
Fluentd in #tkrk10
SATOSHI TAGOMORI
?
Fluentd1.2 & Fluent Bit
Seiya Mizuno
?
贵濒耻别苍迟诲+别濒补蝉迟颈肠蝉别补谤肠丑+办颈产补苍补(蹿濒耻别苍迟诲编)
Daisuke Kikuchi
?
(うしなわれた)Fluentd output-convert_structure
tod esking
?
OSSで支えられるライブドアの巨大ログ集計 #nhntech
SATOSHI TAGOMORI
?
Maven2 plugin
Funato Takashi
?
fluent-plugin-resque_stat
Makoto Haruyama
?
骋谤补颈濒蝉のススメ(仮)
Tsuyoshi Yamamoto
?
Hyper → Highspeed → Development
aktsk
?
社内向けTech Talk資料~Fluentdの基本紹介~
Daisuke Ikeda
?
20130215 fluentd esper_2
Ogibayashi
?
Osc2008 Opensuse Moonlinx
Kazuhisa Hara
?
Fluxflex meetup 2011 in Tokyo
Kyosuke Inoue
?
fluxflex meetup in Tokyo
Kyosuke Inoue
?
Maven2 プラグイン入門
guestd4898b
?
Start-padrino
Uchio Kondo
?
惭辞锄颈濒濒补のビルドインフラ
Makoto Kato
?
アジャイルソフトウェア开発の道具箱
Koichi ITO
?
Ad

More from SATOSHI TAGOMORI (20)

PDF
Ractor's speed is not light-speed
SATOSHI TAGOMORI
?
PDF
Good Things and Hard Things of SaaS Development/Operations
SATOSHI TAGOMORI
?
PDF
Maccro Strikes Back
SATOSHI TAGOMORI
?
PDF
Invitation to the dark side of Ruby
SATOSHI TAGOMORI
?
PDF
Hijacking Ruby Syntax in Ruby (RubyConf 2018)
SATOSHI TAGOMORI
?
PDF
Make Your Ruby Script Confusing
SATOSHI TAGOMORI
?
PDF
Hijacking Ruby Syntax in Ruby
SATOSHI TAGOMORI
?
PDF
Lock, Concurrency and Throughput of Exclusive Operations
SATOSHI TAGOMORI
?
PDF
Data Processing and Ruby in the World
SATOSHI TAGOMORI
?
PDF
Planet-scale Data Ingestion Pipeline: Bigdam
SATOSHI TAGOMORI
?
PDF
Technologies, Data Analytics Service and Enterprise Business
SATOSHI TAGOMORI
?
PDF
Ruby and Distributed Storage Systems
SATOSHI TAGOMORI
?
PDF
Perfect Norikra 2nd Season
SATOSHI TAGOMORI
?
PDF
Fluentd 101
SATOSHI TAGOMORI
?
PDF
To Have Own Data Analytics Platform, Or NOT To
SATOSHI TAGOMORI
?
PDF
The Patterns of Distributed Logging and Containers
SATOSHI TAGOMORI
?
PDF
Modern Black Mages Fighting in the Real World
SATOSHI TAGOMORI
?
PDF
Open Source Software, Distributed Systems, Database as a Cloud Service
SATOSHI TAGOMORI
?
PDF
Fluentd Overview, Now and Then
SATOSHI TAGOMORI
?
PDF
How to Make Norikra Perfect
SATOSHI TAGOMORI
?
Ractor's speed is not light-speed
SATOSHI TAGOMORI
?
Good Things and Hard Things of SaaS Development/Operations
SATOSHI TAGOMORI
?
Maccro Strikes Back
SATOSHI TAGOMORI
?
Invitation to the dark side of Ruby
SATOSHI TAGOMORI
?
Hijacking Ruby Syntax in Ruby (RubyConf 2018)
SATOSHI TAGOMORI
?
Make Your Ruby Script Confusing
SATOSHI TAGOMORI
?
Hijacking Ruby Syntax in Ruby
SATOSHI TAGOMORI
?
Lock, Concurrency and Throughput of Exclusive Operations
SATOSHI TAGOMORI
?
Data Processing and Ruby in the World
SATOSHI TAGOMORI
?
Planet-scale Data Ingestion Pipeline: Bigdam
SATOSHI TAGOMORI
?
Technologies, Data Analytics Service and Enterprise Business
SATOSHI TAGOMORI
?
Ruby and Distributed Storage Systems
SATOSHI TAGOMORI
?
Perfect Norikra 2nd Season
SATOSHI TAGOMORI
?
Fluentd 101
SATOSHI TAGOMORI
?
To Have Own Data Analytics Platform, Or NOT To
SATOSHI TAGOMORI
?
The Patterns of Distributed Logging and Containers
SATOSHI TAGOMORI
?
Modern Black Mages Fighting in the Real World
SATOSHI TAGOMORI
?
Open Source Software, Distributed Systems, Database as a Cloud Service
SATOSHI TAGOMORI
?
Fluentd Overview, Now and Then
SATOSHI TAGOMORI
?
How to Make Norikra Perfect
SATOSHI TAGOMORI
?

Recently uploaded (13)

PPTX
新卒?中途採用者向け採用ピッチ资料2025年7月版(20250702).辫辫迟虫
Official74
?
PDF
SIG-AUDIO 2025 Vol.02 オンラインセミナー 「GDC2025 オーディオ報告会」SIG-Audio_GDC2024_報告会資料_増野さ...
IGDA Japan SIG-Audio
?
PDF
安尾 萌, 松下 光範. 環境馴致を計量可能にするための試み,人工知能学会第4回仕掛学研究会, 2018.
Matsushita Laboratory
?
PDF
SIG-AUDIO 2025 Vol.02 オンラインセミナー 「GDC2025 オーディオ報告会」SIG-Audio_GDC2025_報告会資料_渡辺さ...
IGDA Japan SIG-Audio
?
PDF
第3回デジタル理学疗法研究会学术大会シンポジウム「デジタル理学疗法の组织活用:教育?管理?研究を繋ぐ新たな地平」の讲演资料.
Matsushita Laboratory
?
PDF
go tool と Minimal Version Selection アルコ?リス?ム
Keisuke Ishigami
?
PDF
第3回テ?シ?タル理学疗法学会のシンポジウム「デジタル理学疗法の组织活用:教育?管理?研究を繋ぐ新たな地平」での话题提供
Matsushita Laboratory
?
PDF
API認可を支えるKeycloakの基本と設計の考え方 ~ OAuth/OIDCによるAPI保護のベストプラクティス ~
Hitachi, Ltd. OSS Solution Center.
?
PDF
安尾 萌, 森野 穣, 松下 光範. 災害情報収集におけるSNSのメディア特性に関する一検討, 人工知能学会第30回インタラクティブ情報アクセスと可視化マ...
Matsushita Laboratory
?
PPTX
オープンソース界隈の利用者や技術者から見たオープンソースEDAとは? What is open source EDA from the perspecti...
Industrial Technology Research Institute (ITRI)(工業技術研究院, 工研院)
?
PDF
マルチAIエージェントの産業界での実践に向けたオープンソース活動の展望 - Japan Regional User Group (RUG) Meet-Up
Kosaku Kimura
?
PDF
渔船に搭载されている电子装备と渔法について冲痴搁颁海洋学研究会冲海の尝罢会発表资料
Yuuitirou528 default
?
PDF
AIツールを使った研究の効率化 Improving Research Efficiency with AI Tools
Tohoku University
?
新卒?中途採用者向け採用ピッチ资料2025年7月版(20250702).辫辫迟虫
Official74
?
SIG-AUDIO 2025 Vol.02 オンラインセミナー 「GDC2025 オーディオ報告会」SIG-Audio_GDC2024_報告会資料_増野さ...
IGDA Japan SIG-Audio
?
安尾 萌, 松下 光範. 環境馴致を計量可能にするための試み,人工知能学会第4回仕掛学研究会, 2018.
Matsushita Laboratory
?
SIG-AUDIO 2025 Vol.02 オンラインセミナー 「GDC2025 オーディオ報告会」SIG-Audio_GDC2025_報告会資料_渡辺さ...
IGDA Japan SIG-Audio
?
第3回デジタル理学疗法研究会学术大会シンポジウム「デジタル理学疗法の组织活用:教育?管理?研究を繋ぐ新たな地平」の讲演资料.
Matsushita Laboratory
?
go tool と Minimal Version Selection アルコ?リス?ム
Keisuke Ishigami
?
第3回テ?シ?タル理学疗法学会のシンポジウム「デジタル理学疗法の组织活用:教育?管理?研究を繋ぐ新たな地平」での话题提供
Matsushita Laboratory
?
API認可を支えるKeycloakの基本と設計の考え方 ~ OAuth/OIDCによるAPI保護のベストプラクティス ~
Hitachi, Ltd. OSS Solution Center.
?
安尾 萌, 森野 穣, 松下 光範. 災害情報収集におけるSNSのメディア特性に関する一検討, 人工知能学会第30回インタラクティブ情報アクセスと可視化マ...
Matsushita Laboratory
?
オープンソース界隈の利用者や技術者から見たオープンソースEDAとは? What is open source EDA from the perspecti...
Industrial Technology Research Institute (ITRI)(工業技術研究院, 工研院)
?
マルチAIエージェントの産業界での実践に向けたオープンソース活動の展望 - Japan Regional User Group (RUG) Meet-Up
Kosaku Kimura
?
渔船に搭载されている电子装备と渔法について冲痴搁颁海洋学研究会冲海の尝罢会発表资料
Yuuitirou528 default
?
AIツールを使った研究の効率化 Improving Research Efficiency with AI Tools
Tohoku University
?

Should we write such like plugin or not?

  • 1. Should we write such that plugin or not? Fluentd meetup in Fukuoka #?uentd 2013/03/05 @tagomoris (TAGOMORI Satoshi) 13年3月7日木曜日
  • 2. TAGOMORI SATOSHI (@TAGOMORIS) NHN JAPAN CORP. ONE OF FLUENTD COMMITTERS ONE OF FLUENTD PLUGIN AUTHORS AND OTHER TOOLS (FLUENT-AGENT-LITE, ETC) 13年3月7日木曜日
  • 4. Fluentd plugins buffer plugin input plugin output plugin (normal output plugin) ?lter output plugin meta plugin (input / output) ?uent mixin gem 13年3月7日木曜日
  • 5. Input plugins データを?uentdに取り込む dstat, munin, ping-message, tail-ex parseが必要 他ノードとのデータ転送 scribe, ?ume, zmq, secure-forward 13年3月7日木曜日
  • 6. Output plugins Fluentd内部のデータをデータストアに書き出す mongo, td, couch, s3, pghstore, ?le-alternative, webhdfs フォーマットが必要 Fluentd内部のデータを外部ツールにポストする growthforecast, growl, splunk, say 13年3月7日木曜日
  • 7. Filter plugins 継承関係はOutput pluginだが Engine.emit() する 経路制御?フィルタリング rewrite, rewrite-tag-?lter, sampling-?lter データ加工 parser, map, ?atten, ampli?er-?lter 集計処理 ?owcounter, datacounter, datacalculator, numeric-monitor, noti?er, numeric-counter 13年3月7日木曜日
  • 8. Meta plugins input/output どちらもある 設定を変数展開したり動的展開したり forest, con?g-expander, con?g_pit out_copy 13年3月7日木曜日
  • 9. Fluentd mixin gems 他のプラグインに共通の機能を提供する ?uent-mixin-con?g-placeholders ?uent-mixin-plaintextformatter 13年3月7日木曜日
  • 10. How to write plugins Google "?uentd plugin 作り方" bundle gem plugin_name edit it (and write tests!) edit plugin_name.gem and README.md rake release version 0.0.x: alpha/developer release (使ってない) 0.y.z: beta or standard release (使ってる) 13年3月7日木曜日
  • 11. WRITE, or DON'T WRITE とりあえず作る? 既存のものがあるならそちらを使いたい 安定性、機能の充実、などなど 機能追加や変更:既存プラグインの継承は? mixinがあれば使いたい 共通の設定方法、実装負荷軽減、バグの共有 13年3月7日木曜日
  • 12. Write what you use 自分が使うものを作ろう それが結局いちばん品質に貢献する 既存プラグインあるけど微妙だなー、とか 使われてないようなら奪ってしまえ pullreq送りまくってればたぶんcommit権くれる そのうちrelease権ももらってみんな幸せ 13年3月7日木曜日
  • 13. Write buffer plugins おススメできない あんまり必要もないはず…… 眺めるのは面白いかも lib/?uent/buffer.rb , lib/?uent/plugin/buf_?le.rb 13年3月7日木曜日
  • 14. Write input plugins Write output plugins Don't think, write. 13年3月7日木曜日
  • 15. Write ?lter output plugins 新規に作る? 既存プラグインの組合せでできない? exec_?lterでできない? 性能や流量は大丈夫? データ加工系はCPUをけっこう使うかも 過度な量の再emitは控えましょう 13年3月7日木曜日
  • 16. Write meta plugins 新規に作る? けっこう難しい Fluentdのコードをちゃんと読む必要がある モノによっては非常に強力 代用できる方法ない? 設定ファイルテンプレート + include http://... デプロイツール類(chef, etc) 13年3月7日木曜日
  • 17. Write mixin gems とにかくmixinに切り出しとけ format, parse, convert, ... 定型処理 再実装/コピペするほど愚かなことはない バグレポート先、デバッグ、設定書式の共有 13年3月7日木曜日
  • 18. Maintenance: best practice 書きあげたら忘れたい: テスト超重要 (面倒…) README書こう: release前、がんばって英語で 典型的な設定例みたいなの、超重要 広報しよう: どんな場合に便利なの? (機能だけじゃなく) アップデートしよう: 互換性の破壊は極力避ける pullreqに対応しよう: いいこといろいろあるよ 13年3月7日木曜日
  • 19. ?uentd.org/plugin/ ダウンロード数ランキング 射幸心を られる 目指せkanicounterライン突破 13年3月7日木曜日
  • 20. NO PLUGINS NO FLUENTD Thanks! 13年3月7日木曜日