イケてる SaaS を作りたい (koni blog)

SNS管理ツール「SocialDog」を運営する株式会社AutoScale代表 小西将史のブログです。イケてるSaaSを目指して日々奮闘しています。

PHP-FPM と nginxのステータスページを見られるようにする

PHP-FPMには、Apacheやnginx同様、プロセス数などが見られるステータスページが用意されている。

以下のようにすると見られる。

PHP-FPM側の設定

以下のようにコメントアウトする

/etc/php-fpm.d/www.conf

pm.status_path = /phpfpm_status

nginx側の設定

以下のように、うえで書いたlocationを渡せばOK

/etc/nginx/conf.d/default.conf

server {
    listen     80 default_server;
    server_name  _;
    location /nginx_status {
        stub_status on;
        access_log off;
        allow 127.0.0.1;
        deny all;
    }
}

確認する

curl http://localhost/phpfpm_status
curl http://localhost/phpfpm_status?full # フルバージョン
curl http://localhost/phpfpm_status?json # JSON版 jqとかに渡せば簡単に処理できそう

[koni@localhost ~]$ curl 'http://localhost/phpfpm_status'
pool:                 www
process manager:      dynamic
start time:           12/Jan/2016:18:18:13 +0900
start since:          1087
accepted conn:        63
listen queue:         0
max listen queue:     0
listen queue len:     128
idle processes:       6
active processes:     1
total processes:      7
max active processes: 3
max children reached: 0
slow requests:        0

listen queue: ペンディングとなっているコネクションのキューの数。0でない場合はもう少しプロセスを増やした方がいい max listen queue: FPMを起動してからのlisten queueの最大値。0でない場合はもう少しプロセスを増やした方がいい

nginxのステータスページ

ついでに、nginxのステータスページは以下で追加できる。

server {
    listen     80 default_server;
    server_name  _;

    location /nginx_status {
        stub_status on;
        access_log off;
        allow 127.0.0.1;
        deny all;
    }
}

[koni@localhost ~]$ curl 'http://localhost/nginx_status?full'
Active connections: 1
server accepts handled requests
 112 112 309
Reading: 0 Writing: 1 Waiting: 0

参考URL

nginx + PHP-FPMをmuninでリソース監視する - 監視サーバと監視されるサーバ複数対応

PHP: 設定 - Manual

Nginx - Enable PHP-FPM Status Page