問題
バージョンを指定しないfluent-plugin-mackerelをインストールすると、依存しているfluentdのv0.14にアップグレードされてしまいます。
Mackerelの公式でも、1.0.0からv0.14.x系に対応し下位互換性がなくなりました。以前のバージョンを使う場合は、0.1.3を使いましょうと書かれています。
アップデート内容としては、fluentd の v0.14.x 系への対応となります。つまり、それ以前の fluentd バージョンでは fluent-plugin-mackerel の最新版はご利用いただけませんので、fluentd のバージョンを上げていただくか、fluentd-plugin-mackerel のバージョンを 0.1.3 に固定しての利用をお願いします。
引用元:mackerel-agent-plugins, fluent-plugin-mackerel をアップデートしました
2017.08.14時点でのstableは、v0.12系です。そのため、v0.14に上げるといろいろと確認項目が増えるので大変なため、v0.12.xに対応したfluentd-plugin-mackerelのインストールしたいです。そこで、開発環境で、fluent-plugin-mackerel
を入れてしまったところから、バージョンを変えるところまでを記載しました。
td-agentのバージョンを確認する
sudo /opt/td-agent/usr/sbin/td-agent --version
出力結果
td-agent 0.14.20
fluent-plugin-mackerelをアンインストールする
sudo /opt/td-agent/embedded/bin/fluent-gem uninstall fluent-plugin-mackerel
出力結果
Successfully uninstalled fluent-plugin-mackerel-1.0.0
バージョンを指定してfluentdをアンインストールする
sudo /opt/td-agent/embedded/bin/fluent-gem uninstall fluentd
出力結果
Select gem to uninstall:
1. fluentd-0.12.36
2. fluentd-0.14.20
3. All versions
> 2
Remove executables:
fluent-binlog-reader, fluent-plugin-config-format, fluent-plugin-generate
in addition to the gem? [Yn] y
Removing fluent-binlog-reader
Removing fluent-plugin-config-format
Removing fluent-plugin-generate
Successfully uninstalled fluentd-0.14.20
バージョンを確認する
$ sudo /opt/td-agent/embedded/bin/fluent-gem uninstall fluent-plugin-mackerel
出力結果
td-agent 0.12.36
v0.12に対応しているfluent-plugin-mackerelをインストールする
$ sudo /opt/td-agent/embedded/bin/fluent-gem install fluent-plugin-mackerel -v "0.1.3"
fluent-plugin-mackerelのバージョンを確認する
$ sudo /opt/td-agent/embedded/bin/fluent-gem list | grep fluent-plugin-mackerel
出力結果
fluent-plugin-mackerel (0.1.3)
td-agentのバージョンが変わっていないことを確認する
sudo /opt/td-agent/usr/sbin/td-agent --version
出力結果
td-agent 0.12.36