PM2: Process Manager untuk node.js

Wahid Prima Cahyanto
SkyshiDigital
Published in
3 min readJul 25, 2017

Halo teman-teman pembaca, sebelumnya kita sudah pernah membahas process manager Supervisor.

Kali ini kita akan membahas sebuah package process manager lagi. Namun yang akan kita bahas kali ini adalah sebuah process manager khusus untuk project node.js.

Ada banyak process manager, ataupun package yang bisa kita gunakan hanya untuk sekedar membuat project node.js kita berjalanan keep-alive contohnya systemd, forever, nodemon, node-supervisor. dan dari semua pilihan tersebut memiliki fungsi yang serupa tapi saya merekomendasikan untuk menggunakan PM2, sehingga artikel kita kali ini akan membahas tentang PM2.

Kenapa saya memilih dan merekomendasikan PM2? karena saat ini module PM2 menjadi process manager terpopuler untuk aplikasi node.js, memiliki built-in clusters, load-balancing dan auto-restart support.

Install

Globally install pm2 module

$ npm install pm2 -g

Run

Start application, daemonize dan auto-restart.

$ pm2 start <entry_point>

Kita sudah running application di fork mode dengan perintah diatas, terdapat nama aplikasi dan id proses yang digunakan sebagai referensi untuk manage aplikasi kita. Terlihat juga restart count, uptime serta memory yang saat ini digunakan.

Diatas kita sudah selesai untuk setup dan running application dengan PM2 sangat cepat dan mudah bukan?

Bagaimana dengan monitoring? Untuk memonitor aplikasi cukup dengan perintah.

$ pm2 monit

akan terlihat process list, metrics, metadata serta global logs.

Basic Command

berikut adalah beberapa command yang sering digunakan.

Start running aplikasi:
$ pm2 start <entry_point>

Restart aplikasi yang sudah running sebelumnya:
$ pm2 restart <entry_point>

Stop aplikasi:
$ pm2 stop <entry_point>

Restart aplikasi yang telah di matikan:
$ pm2 restart <entry_point>

Menghapus aplikasi dari proses list:
$ pm2 delete <entry_point>

Mematikan daemon pm2:
$ pm2 kill

Untuk command lebih lanjut dan lebih lengkap bisa kita pelajari di dokumen PM2.

Keymetrics

Sebagai bonus pembahasan tentang PM2 kali ini adalah Keymetrics.
Keymetrics adalah web platform yang memudahkan kita untuk memonitor aplikasi dengan PM2, dengan Keymetrics kita akan memiliki web platform sebagai panel dari process manager PM2.

Kita dapat dengan mudah memonitor dan memanage process aplikasi kita.

Install

Pertama register dan login terlebihdahulu di https://keymetrics.io/

Setelah kita berhasil register dan login maka kita akan mendapatkan public dan secret key seperti yang ada pada gambar berikut.

Karena kita sudah melewati tahap install PM2 diatas maka langsung saja masuk dalam langkah menghubungkan PM2 ke dalam Keymetrics.

dengan command:

$ pm2 link <your_secret_key> <your_public_key>

jika secret key dan public key yang kita masukkan benar, maka akan mendapat respon seperti berikut:

$ pm2 link <your_secret_key> <your_public_key>
[Monitoring Enabled] Dashboard access: https://app.keymetrics.io/#/r/<your_public_key>

dan booom! kita sudah memiliki panel PM2 dengan Keymetrics.

panel dashboard process manager with Keymetrics

Bagaimana jika kita ingin memutus link PM2 kita dengan Keymatrics? cukup dengan command:

$ pm2 interact delete

dan walaaa! PM2 kita sudah tidak terhubung dengan Keymatrics sampai kita mengkoneksikannya kembali dengan command pm2 link.

Ada hal yang perlu kita ketahui, Keymetrics merupakan software freemium yang artinya ada beberapa fitur yang hanya bisa kita gunakan jika kita upgrade menjadi premium user.

Sekian semoga artikel ini bermanfaat. bye… :)

--

--

Wahid Prima Cahyanto
SkyshiDigital

Backend at Skyshi Digital Indonesia | eat, pray, code, repeat;