■ php5-fpm プラグインを入れてみた。
PHP-FPM ( http://php-fpm.org/ ) 向けの Munin プラグインをセットアップしたときのメモです。php5-fpm-munin-plugins が github で公開されていました。最近、フロントが Nginx と php-fpm という環境も、ちらちら見受けられるようになってきましたね。
前提準備としては、http://<URL>/fpm_status にアクセスして、各種ステータスが参照できる事が前提です。ポートを変えている場合でも、次のように正常表示されれば、問題ありません。
$ curl http://127.0.0.1:8080/fpm_status pool: nginx process manager: dynamic start time: 19/Dec/2012:15:48:41 +0900 start since: 3574 accepted conn: 84 listen queue: 0 max listen queue: 0 listen queue len: 0 idle processes: 5 active processes: 1 total processes: 6 max active processes: 2 max children reached: 0
セットアップ方法。README にあるように
# cd /usr/share/munin/plugins # git clone git://github.com/tjstein/php5-fpm-munin-plugins.git # chmod +x php5-fpm-munin-plugins/phpfpm_*
として、/etc/munin/plugins 等、munin のプラグインディレクトリに放り投げる方法が1つ。もう1つは、バッチ的に処理するときは wget の組み合わせも楽かもしれません。
wget --no-check-certificate https://raw.github.com/tjstein/php5-fpm-munin-plugins/master/phpfpm_average wget --no-check-certificate https://raw.github.com/tjstein/php5-fpm-munin-plugins/master/phpfpm_connections wget --no-check-certificate https://raw.github.com/tjstein/php5-fpm-munin-plugins/master/phpfpm_memory wget --no-check-certificate https://raw.github.com/tjstein/php5-fpm-munin-plugins/master/phpfpm_processes wget --no-check-certificate https://raw.github.com/tjstein/php5-fpm-munin-plugins/master/phpfpm_status
プラグインとして使いたいときは、
ln -s /usr/share/munin/plugins/phpfpm_* /etc/munin/plugins chmod 755 /usr/share/munin/plugins/phpfpm_*
これで下準備完了。あとは、/etc/munin/plugin-conf.d/munin-node に、設定を追加します。
[phpfpm*] env.url http://127.0.0.1:8080/fpm_status env.port 8080 env.phpbin php-fpm
自分が試した時は、ポートの指定(env.port)と、env.phpbin の指定をしていなくて、ハマってました。ポートは分けているときは、忘れがちですが、指定必須です。そして env.phpbin、デフォルトはphp-fmp5 です。はじめ、気がつかなくて、どうしてもプラグインが実行出来ず、エラーが出てしまってました。
動作テストは「muin-run –debug phpfpm_connections」等々。ここでエラーが出ていたり、値が正常に表示されない場合は、環境設定や、表示される内容に応じて、動作チェックが必要です。ここで問題が無ければ、最後に munin-node の restart で設定が有効になります。
Pingback: muninでnginx+php-fpmのリソース監視環境構築 | 「プログラミングを知悉する」までの軌跡