🦞

Oracle Cloud Infrastructure の Logs にログ出力できる Fluent Bit プラグインを作った。

2022/10/10に公開

はじめに

Fluent Bit を使うと入力されたメッセージをファイルやクラウドサービス等、いろいろな所に出力できる様になります。デフォルトで Amazon CloudWatch Logs にも出力できますが、Oracle Cloud Infrastructure の Logs に出力する事ができなかったのでプラグインを作りました。

作り方

Fluent Bit は Go でプラグインを書く為のパッケージを用意しています。

https://github.com/fluent/fluent-bit-go/

この仕組みに乗ってプラグインを構築すれば好きなクラウドサービスにもログ出力できるという事です。以前、Oracle Cloud Infrastructure の Logs にログ出力できる CLI を作った事があったので、それを Fluent Bit プラグインとして移植しました。

https://zenn.dev/mattn/articles/fe2041ae447d0b

設定方法

https://github.com/mattn/ocilogs-for-fluent-bit/

README に設定内容が書いてありますが、SERVICE セクションで plugins.conf ファイルを指定、plugins.conf の中でビルドしたプラグインへのパスを書きます。

[PLUGINS]
    Path c:/dev/tools/fluent-bit/bin/ocilogs.dll

後は ocilogs.conf 等のファイル名で以下の設定を書けば OK です。

[SERVICE]
  flush 5
  plugins_file ./plugins.conf

[INPUT]
  name                winstat
  tag                 event-log1

[INPUT]
  name                winstat
  tag                 event-log2

[OUTPUT]
  name                ocilogs
  match               event*
  log_id              <OCI Log の ID>
  source              Windows
  subject             Testing

うまく設定できていれば以下の様にログ出力されます。

おわりに

Fluent Bit のプラグインとして Oracle Cloud Infrastructure Logs へログ出力するものを作ってみました。意外と楽しかったので興味ある方はチャレンジしてみるといいと思います。

Discussion