MySQL に INSERT ... SELECT syntax でデータを挿入する fluentd plugin を作りました

fluentd に送られてきたデータを MySQL に挿入する plugin はいくつかあるんですが、送られてきたデータを MySQL 上のデータを使って加工して挿入すると便利そうな案件があったので作ってみました。任意の SELECT を記述できるので、複数のテーブルと JOIN した結果を挿入することもできます。
https://github.com/abicky/fluent-plugin-mysql-select-insert

fluentd plugin を作ったのは初めてですが、bundle gem とは別に fluent-plugin-generate で fluentd plugin 用の skelton が作成できたり、ドキュメントが充実していたりして良いですね。
cf. Writing plugins | Fluentd

テストで helper を使おうと思うと普段使ってない test-unit を使うことになるので、そこが一番大変でしたが…
cf. Ruby の test-unit で特定のテストだけ実行する - あらびき日記

必要最低限の機能しか実装していませんが、需要があれば機能を追加していくかもです。

広告
Ruby の test-unit で特定のテストだけ実行する tmux で列数固定で window を分割して複数サーバに SSH する