Linux php-fpm ステータス表示

linux

php-fpmのステータスをブラウザから簡単に見る方法のまとめ。プロセスがactiveなのかidleなのかをひとめでみることができるのでかなり便利。

設定の仕込み(php-fpm)

・ファイルパスなどは環境によって読み替え
・コメント解除だけでも大丈夫だが、アクセス時のパスを変えたい場合は変更しても大丈夫

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

;pm.status_path = /status
 ↓
pm.status_path = /php-fpm/status

# systemctl restart php-fpm

設定の仕込み(apache)

・アクセス制限は設けておいたほうがよい

# vi /etc/httpd/conf/httpd.conf

### unixドメインソケットの場合
<LocationMatch /php-fpm/status>
  SetHandler "proxy:unix:/var/opt/remi/php71/run/php-fpm/www.sock|fcgi://localhost"
  Require all denied
  Require ip 192.168.0.1
</LocationMatch>

### TCPの場合
<LocationMatch /php-fpm/status>
  ProxyPass fcgi://127.0.0.1:9000
  Require all denied
  Require ip 192.168.0.1
</LocationMatch>

# systemctl restart httpd

動作確認

ブラウザでアクセス( 例 https://www.piteki.com/php-fpm/status )すると以下のようなものが表示される

pool:                 www
process manager:      dynamic
start time:           13/May/2021:16:22:42 +0900
start since:          2936
accepted conn:        150
listen queue:         0
max listen queue:     0
listen queue len:     0
idle processes:       2
active processes:     1
total processes:      3
max active processes: 3
max children reached: 0
slow requests:        0

さらに便利なもの

・apacheでは以下の様に追加。ファイルをどこかに持って行ってもらっても大丈夫。
・さきほどと同様にアクセス制限
※phpのインストールの仕方でstatus.htlmの場所が違う時は探してください。
 例)rhel8 module php74 の場合はコレ「/usr/share/fpm/status.html」でした。

# vi /etc/httpd/conf/httpd.conf

Alias /php-fpm/realtime-monitor "/opt/remi/php71/root/usr/share/fpm/status.html"
<Directory  /opt/remi/php71/root/usr/share/fpm>
  Options +ExecCGI
  Require all denied
  Require ip 192.168.0.1
</Directory>

# systemctl restart httpd

・上記だけだと毎回パスを変えないといけないので、以下のように編集しておくと便利

# vi /opt/remi/php71/root/usr/share/fpm/status.html

   doc_url.value = location.protocol + '//' + location.host + "/status?json&full";
       ↓
   doc_url.value = location.protocol + '//' + location.host + "/php-fpm/status?json&full";

ブラウザでアクセス( https://www.piteki.com/php-fpm/realtime-monitor )すると以下のようなものが表示される。RefreshRateを変更してplayするとその時間間隔で表示が自動更新される。

コメント

タイトルとURLをコピーしました