GoogleCloudPub/Subのfluentdプラグイン fluent-plugin-gcloud-pubsub-customを作った

マネージド・メッセージ・キューのGoogle Cloud Pub/Subを利用するためのfluentdプラグインとしてfluent-plugin-gcloud-pubsub-customを作りました。

リポジトリは以下です。 github.com

もともと GitHub - mdoi/fluent-plugin-gcloud-pubsub というプラグインがあったものの、最近更新されていなさそうでしたのでforkして新しいプラグインとして公開しました。

元になったfluent-plugin-gcloud-pubsubから大きな変更点として以下があります。

  • google-cloud-rubyのバージョンアップに追随
  • Pub/Subの各種クォータの制限に対応
    • file bufferも使えるように lightening buffer への依存を排除しています。
  • formatter, parserプラグインに対応してjson形式以外も指定できるようにした
  • エラーハンドリングを改善
  • inputプラグインにHTTP RPCでメッセージのpullをstop, startできる機能を追加
    • デプロイ時や流量のコントロールなどに使えると思います。

使い方はREADMEを参照してください。

Pub/SubにはAttributeを付与できる機能があるので、Attributeにtagを入れて、pullするときはそれを使ってtagを付与できる機能を、そのうち実装したいと思っています。 forestプラグイン等でtopicをたくさん増やす必要がなくなって便利かなと。

しばらく自分でも使ってみて特に問題は発生していないですが、もし使ってみてバグや欲しい機能とかありましたら、何かでご連絡ください。

【10/30追記】

マルチスレッドでメッセージをpullできる機能をinput pluginに追加しました。

©2023 みや All rights reserved.