このエントリーをはてなブックマークに追加

td-agent のカスタムパッケージを作った

td-agent とても便利ですよね、fluentd をインストールするのに、もっとも手軽な方法だと思って、いつも愛用しています。

さて、fluentd のプラグインが増えていくると、特に複数台のサーバに導入するとき、けっこうな時間がかかって来ました。
せっかく、omnibus-td-agent が公開されているので、これをカスタマイズしてみました。

このカスタマイズでの、公式 omnibus-td-agent からの差分はこちらになりますが、おもに次のようなカスタマイズを行っています。

  • specific_install のインストール(たまに検証用に使ったり、rubygem にないものをどうしても使いたいとき)
  • fleuntd バージョンの固定(現行バージョンは 0.12.22  なので少し古いので、あとで更新しておきたいと思います)
  • 次のプラグインたちの同梱
    • dstat
    • datadog_event
    • dogstatsd
    • elasticsearch
    • file-alternative
    • filter_typecast
    • flowcounter
    • forest
    • grep
    • multiprocess
    • record-modifier
    • record-reformer
    • sampling-filter
    • typecast
    • map(公式では label 対応していないため、独自に拡張したものを利用)
    • dogapi gem

この変更で独自に拡張したい場合は、plugin_gems.rb に追加したいプラグインを設定することで、それらのプラグインを含めたパッケージを作ることができます。

あとは、Vagrant 上でビルドして、自身の Yum リポジトリに追加して、インストールするだけです。

この変更で、自分が使っているプラグインを含めた td-agent の配布がとても簡単になりました。