mackerel-agent-pluginsにmackerel-plugin-php-fpmが含まれてないんだけど?と言われて調べた
まえがき
mackerel-plugin-php-fpm使いたいんだけど、CentOS使ってるんだけどまだyumで入ってこないんだよねー?と言われたので、ちょっと気になったので調べてみました。
このプラグインは私が作ったものなのですが、私の場合はgo build
したものを/usr/local/bin
に置くような雑運用かつUbuntu環境なのですが、実際のところどうなんでしょうか。
確認方法について
CentOSの環境が無いのでDockerで確認することにしました。Docker for Macがリリースされてから、よりDockerが気軽に使えるようになりましたね。
今回はmackerel-plugin-php-fpmのインストールだけを確認したいので、mackerel-agentはインストールしていません。
確認のための準備
準備と言ってもdocker build
だけです。イメージ名は何でもいいです。
$ docker build -t centos7-mackerel-agent-plugins .
確認してみる
無事にビルドできたら、さっそくdocker run
してみます。
docker run -it --rm centos7-mackerel Usage of mackerel-plugin-php-fpm: -metric-key-prefix string Metric key prefix (default "php-fpm") -tempfile string Temp file name -timeout uint Timeout (default 5) -url string PHP-FPM status page URL (default "http://localhost/status?json")
あら?インストールされているようですね。
もうちょっと確認してみる
インストールディレクトリを見てみましょう。
ここで察しがついているかたもいるかもしれませんが、もう少々お付き合いください。
docker run -it --rm centos7-mackerel ls -la /usr/local/bin ---snip--- lrwxrwxrwx 1 root root 33 Jul 21 14:55 mackerel-plugin-php-apc -> ../../bin/mackerel-plugin-php-apc lrwxrwxrwx 1 root root 37 Jul 21 14:55 mackerel-plugin-php-opcache -> ../../bin/mackerel-plugin-php-opcache ---snip---
おや。リンクになっていますね。/usr/bin
に実体がありそうな雰囲気です。
docker run -it --rm centos7-mackerel ls -la /usr/bin ---snip--- -rwxr-xr-x 1 root root 5131476 Jul 14 07:30 mackerel-plugin-php-apc -rwxr-xr-x 1 root root 4787124 Jul 14 07:30 mackerel-plugin-php-fpm -rwxr-xr-x 1 root root 5131476 Jul 14 07:30 mackerel-plugin-php-opcache ---snip---
実体はここにあって、ここにはmackerel-plugin-php-fpmもありますね。
なぜ/usr/local/binにインストールされないのか
0.19.4で変わったみたいです。
今までのものは互換性を保つために/usr/local/bin
にもおいてくれるようですね。
まとめ
インストールされてないと言っていたのが、インストールディレクトリが変わったこと以外の問題だったらちょっとわかりませんが、
Mackerelのように定期的にアップデートがあるプロダクトは、リリースノートもかかさずチェックしていくのがいいのかもしれませんね。