背景
約1ヶ月前に mackerel-agent-plugins v0.21.0
に取り込まれた mackerel-plugin-php-fpm
を使ってメトリクスを収集しようと思っていたんだけど,パッケージを v0.21.0
→ v0.21.2
→ v0.22.0
とアップデートしても /usr/local/bin
に存在しなくて,なんでだろう!と思っていた.
@ariarijp に教えてもらった
mackerel-plugin-php-fpm
を実装した @ariarijp とランチに行ったときに「待望のプラグインなのにインストールされなくて!」と相談したら,すぐに調べてくれて記事になっていた.
結論から言うと,2016年4月末にリリースされた mackerel-agent-plugins v0.19.4
でプラグインのパスが /usr/local/bin
から /usr/bin
に変わっていた.後方互換を保つために /usr/bin
に今までのプラグインは配置されるけど,今後追加されるプラグインは /usr/local/bin
だけに配置されるという仕様だった.
mackerel-agent-plugins の README.md を修正した
/usr/local/bin
を見るとシンボリックリンクで ../../bin/mackerel-plugin-*
を参照しているし,気付けなかったのも恥ずかしいけど,ディレクトリによって配置されるプラグインに差異があるとは思ってなくて,完全に盲目になっていた気がする.
あと完全に言い訳になるけど,Mackerel を導入してまだ1ヶ月で全く経験値が無くて仕様変更のことを知らなかった.ちなみに公式の README.md も関連するブログ記事なども /usr/local/bin
前提で書かれていることが多くて,そういうものだと思い込んでいた.
せっかくだから README.md にプルリクエストを送って修正したらすぐにマージしてもらえた.
-mackerel-agent-plugins will be installed to ```/usr/local/bin/mackerel-plugin-*```. +mackerel-agent-plugins will be installed to ```/usr/bin/mackerel-plugin-*```.
まとめ
mackerel-agent-plugins
を使うなら /usr/bin
に置いてあるバイナリを使おう!
@ariarijp ありがとうございました 🙇🏻🙇🏻🙇🏻