Monitoring PHP-FPM di NGINX - NimeTech.com

Jul 01, 2019 DevOps

Monitoring PHP-FPM di NGINX [monitoring]

Mengenal PHP-FPM

Buat kalian yang sering melakukan install/konfigurasi LEMP Stack pasti sudah tak asing lagi tentang PHP-FPM. Ya, PHP-FPM merupakan salah satu dari komponen packages LEMP Stack yang di install dan diperlukan dalam LEMP Stack, tapi apa sih sebenarnya PHP-FPM itu?. PHP-FPM (FastCGI Process Manager) merupakan sebuah implementasi alternatif dari PHP FastCGI yang di lengkapi dengan beberapa fitur tambahan yang berguna untuk menangani website yang memiliki trafik kunjungan yang tinggi.

NGINX menggunakan PHP FastCGI untuk menyajikan kontent dinamis HTTP, yang mana untuk menyajikan sebuah kontent dinamis pada website dengan trafik tinggi biasanya terdapat jutaan request PHP yang dikirimkan ke web server sehingga untuk menghandle semua request tersebut maka NGINX membutuhkan PHP-FPM ini dalam menangani request-request tersebut.

Karena PHP-FPM ini sangat diperlukan oleh NGINX maka ketika LEMP web server ini sudah berjalan kalian perlu memantau service PHP-FPM. Untuk memantau service PHP-FPM ini kalian bisa mengaktifkan fitur status page pada konfigurasi php-fpm. Bagaimana cara monitoring PHP-FPM di NGINX, kita bahas lebih lanjut.

Monitoring PHP-FPM di NGINX

Jika sebelumnya kalian telah melakukan install NGINX di VPS/Server kalian maka kalian hanya perlu melakukan konfigurasi pada php-fpmnya, namun jika kalian belum melakukan install NGINX di VPS/Server kalian bisa ke panduan kami sebelumnya terkait Cara Install LEMP Stack di VPS. Untuk memonitoring php-fpm melalui status page, konfigurasinya seperti berikut ini :

  1. Edit file /etc/php-fpm.d/www.conf

Untuk mengaktifkan status page php-fpm kalian perlu melakukan edit pada file www.conf pada folder /etc/php-fpm.d dengan command berikut ini :

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

Kemudian cari baris/line berikut ini :

;pm.status_path = /status

hapus tanda ; sehingga menjadi sperti berikut ini :

pm.status_path = /status

selanjutnya silakan simpan konfigurasinya dan lakukan pengecekan atau tes konfigurasi dengan command berikut ini :

php-fpm -t

Jika hasilnya kurang lebih seperti berikut ini, artinya konfigurasi kalian sudah benar.

[19-Jun-2019 22:35:32] NOTICE: configuration file /etc/php-fpm.conf test is successful
  1. Edit konfigurasi virtualhost

Setelah melakukan konfigurasi pada file www.conf di folder /etc/php-fpm.d lalu tambahkan konfigurasi pada virtualhost NGINX, untuk defaultnya virtualhost biasanya masih terdapat pada file nginx.conf namun jika sudah membuat file virtualhost tersendiri kalian bisa sesuaikan dengan file virtualhost kalian. Untuk edit konfigurasi virtualhost silakan jalankan command berikut ini :

vim /etc/nginx/nginx.conf

Pada bagian blok virtualhost server { ... } kalian bisa tambahkan di baris akhir sebelum } untuk konfigurasi path status page seperti berikut ini :

location ~ ^/(status|ping) {
    allow 127.0.0.1
    fastcgi_pass 127.0.0.1:9000;
    #fastcgi_pass unix:/var/run/php-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_index index.php;
    include fastcgi_params;
}

Jika sudah menambahkan baris tersebut silakan kalian save konfigurasi dan bisa kalian cek konfigurasi virtualhostnya dengan menggunakan command :

nginx -t

Dan jika hasil pengecek kurang lebih seperti berikut ini, maka konfigurasi kalian sudah benar.

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
  1. Pengujian

Untuk pengujian konfigurasi setelah konfigurasi 2 file tersebut kalian perlu melakukan restart service php-fpm dan nginx terlebih dahulu agar konfigurasi yang kalian tambahkan sebelum dapat terimplementasi, untuk command restart service kalian bisa jalankan command :

systemctl restart nginx
systemctl restart php-fpm

Jika kedua service sudah ter-restart secara baik, maka silakan kalian coba akses url status page yang ada di http://ip_address/status atau http://domain.com/status dan nanti akan muncul tampilan di browser kurang lebih seperti berikut ini.

Monitoring PHP-FPM di NGINX - NimeTech.com

Kesimpulan

Bagi kalian yang mempunyai web server dengan website yang memiliki trafik tinggi dan menggunakan NGINX sebagai service web servernya kalian juga perlu melakukan monitoring terhadap service php-fpm. Seperti yang telah kita ketahui sebelumnya php-fpm merupakan implementasi dari PHP Fastcgi yang digunakan oleh NGINX untuk menyajikan konten dinamis HTTP maka dari itu process dari php-fpm perlu kita pantau juga, apakah process yang berjalan sudah melebihi sehingga menyebabkan error atau tidak.

Kami NimeTech.com memberikan pilihan opsional kepada pengguna Jasa Manage VPS/Server kami untuk mengaktifkan fitur monitoring php-fpm ini atau tidak sesuai dengan kebutuhan yang diperlukan.