Salah satu layanan untuk memonitor performa aplikasi PHP yang cukup komprehensif adalah New Relic. Petunjuk installasi default sudah tersedia, cukup sederhana. Namun untuk host berbasis Webuzo, perlu sedikit langkah ekstra agar monitoring aplikasi berjalan sempurna.
Seperti disebutkan sebelumnya, secara default installasi New Relic PHP APM tidaklah rumit. Dalam kasus ini Linuxaja memakai CentOS 6 64bit.
Instalasi PHP APM
1. Menambah repositori New Relic ke CentOS
rpm -Uvh http://yum.newrelic.com/pub/newrelic/el5/x86_64/newrelic-repo-5-3.noarch.rpm
2. Instalasi New Relic
yum install newrelic-php5 newrelic-install
kemudian akan diminta menginput license key yang didapat dari portal New Relic. Selanjutnya – semestinya – application monitoring sudah terkoneksi & dapat diakses.
Troubleshooting
Jika host menggunakan Webuzo, proses diatas akan menyisakan masalah yaitu gagalnya koneksi ke aplikasi. Tidak hanya itu, phpinfo() tidak me-load ekstensi newrelic, tidak ada log php-agent, dan log daemon yang kosong melompong.
ls /var/log/newrelic/ newrelic-daemon.log
Bagaimana menyelesaikan problem ini?
1. Periksa berkas newrelic.ini (Linuxaja memakai PHP5.3)
cat /usr/local/apps/php53/etc/php.d/newrelic.ini | less
(jika belum) uncomment beberapa parameter berikut
;newrelic.enabled = true ;newrelic.loglevel = "info" ;newrelic.daemon.loglevel = "info"
2. Coba restart php-fpm, dalam kasus host dengan Webuzo akan menjumpai galat seperti dibawah
service php-fpm restart Stopping php-fpm: [ OK ] Starting php-fpm: [07-Jan-2015 23:38:28] NOTICE: PHP message: PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/apps/php53/ext/newrelic.so' - /usr/local/apps/php53/ext/newrelic.so: cannot open shared object file: No such file or directory in Unknown on line 0 [ OK ]
3. Karena sistem tidak bisa menemukan & meload newrelic.so, maka coba temukan terlebih dahulu
# find / -name "newrelic.so" /usr/local/apps/php53/lib/extensions/no-debug-non-zts-20090626/newrelic.so # ls -al /usr/local/apps/php53/lib/extensions/no-debug-non-zts-20090626/newrelic.so lrwxrwxrwx 1 root root 53 Jan 7 11:14 /usr/local/apps/php53/lib/extensions/no-debug-non-zts-20090626/newrelic.so -> /usr/lib/newrelic-php5/agent/x64/newrelic-20090626.so
4. Setelah path newrelic.so diketahui, buat symlink ke extension directory
ln -s /usr/local/apps/php53/lib/extensions/no-debug-non-zts-20090626/newrelic.so /usr/local/apps/php53/ext/newrelic.so
Sesudahnya kembali restart Apache serta PHP-FPM. Sampai disini PHP monitoring performance sudah dapat terkoneksi dan bisa diakses melalui portal New Relic.
Semoga bermanfaat!