PHP-FPMの( ´ω`)統計
muninで統計取っておりマウス。
PHP-FPMをきちんと使い始めたのでプラグインを入れることにしました。
いまいちメモリ使用量とかプロセス数がどのくらい必要なのかとか見えないので。
プラグインはGitHubから持ってきます。作者さんありがとう。
https://github.com/tjstein/php5-fpm-munin-plugins
cloneしてシンボリックリンク張るだけです。
FPM側ではステータスを表示するように設定します。
pm.status_path = /fpmstatus
だけ。パス名は任意ですがmunin-node側の設定で使います。
Webサーバー側でPHPがハンドリング出来るようにします。
うちはApacheHTTPDなのでApacheの設定。
SetHandler “proxy:unix:/var/lib/php/sock/php-fpm.sock|fcgi://php-fpm/”
Require ip 127.0.0.1
FCGIの書き方やアクセス制限については適宜変更ということで。
最後にmunin-node側の設定。envを設定します。
[phpfpm_*]
env.url http://127.0.0.1/fpmstatus
env.ports 80
env.phpbin php-fpm
env.phppool hoge
スクリプトでは設定したプロセス名とプール名で、ps | grep しています。
スクリプトの内容ですが、FPMの以下の値とpsで取得した値を使用しています。
accepted conn – the number of request accepted by the pool;
pool – the name of the pool;
process manager – static or dynamic;
idle processes – the number of idle processes;
active processes – the number of active processes;
total processes – the number of idle + active processes.
・Accepted Connections:ステータス内のaccepted connの値。
・Average Proccess Size:プロセス毎のメモリ使用量/プロセス数。プロセスあたりの平均メモリ使用量ですかね。
・Memory Usage:総メモリ使用量。
・Processes:プロセス数。
・Status:idle processes、active processes、total processesの値。
んー、思ったよりメモリ食ってんなー( ´ω`)