Untuk melakukan monitoring secara realtime terhadap suatu file log, kita dapat mempergunakan log.io yang dijalankan dengan NodeJS yang bekerja sebagai berikut :
- Sebuah Server yang akan bekerja menerima streaming perubahan file log dari Harvester, dan akan menampilkan perubahan tersebut pada browser
- Sebuah Harvester yang bekerja memonitor perubahan file log, dan mengirimkannya kepada Server
Satu server dapat dipergunakan untuk menampung dan menampilkan hasil streaming log dari satu atau banyak Harvester.
Tutorial kali ini dijalankan pada vps Linux memakai OS Debian 6 32 bit, dengan user root. Berikut adalah langkah-langkah instalasi log.io :
1 2 |
cd /root npm install -g log.io --user "root" |
Setelah melakukan instalasi log.io, maka akan muncul direktori .log.io yang berisi tiga file, yaitu harvester.conf, log_server.conf, dan web_server.conf. Perbedaan antara Server dan Harvester ada pada file konfigurasi dan proses yang dijalankan.
Sebuah server, akan membaca file log_server.conf dan harvester.conf, serta perlu menjalankan proses log.io-server dan proses log.io-harvester
Harvester akan membaca file harvester.conf, serta perlu menjalankan proses log.io-harvester
Konfigurasi satu vps sebagai Server dan Harvester
Jika kita hanya ingin memakai log.io untuk memonitor sistem di vps itu sendiri, maka kita hanya perlu melakukan perubahan pada file harvester.conf seperti berikut :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
exports.config = { nodeName: "Prometeus", logStreams: { Nginx: [ "/home/erawanarifn/http/logs/access.erawanarifnugroho.com.log", "/home/erawanarifn/http/logs/error.erawanarifnugroho.com.log", "/home/erawanarifn/http/logs/access.download.erawanarifnugroho.com.log", "/home/erawanarifn/http/logs/error.download.erawanarifnugroho.com.log", ] }, server: { host: '37.247.11.11', port: 28777 } } |
Jalankan screen untuk masing-masing proses berikut :
- log.io-server
- log.io-harvester
Buka browser dengan mempergunakan ip vps dan port 28778, misalnya http://37.247.11.11:28778
Konfigurasi dua vps, satu sebagai Server dan satu sebagai Harvester
Jika kita memiliki dua buah vps yang masing-masing menjalankan sebuah blog (memakai Nginx+PhpFPM+MySQL atau apapun yang perlu dimonitor), maka kita bisa membuat satu vps bekerja sebagai Server+Harvester dan vps lainnya sebagai Harvester.
Konfigurasi Server
Untuk membuat sebuah vps menjadi Server log.io, kita perlu melakukan perubahan pada file log_server.conf seperti berikut pada vps yang akan dipergunakan sebagai Server.
1 2 3 4 |
exports.config = { host: '0.0.0.0', port: 28777 } |
Karena berfungsi juga untuk memonitor kerja sistem, maka kita juga perlu melakukan perubahan pada file harvester.conf seperti contoh berikut :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
exports.config = { nodeName: "Prometeus", logStreams: { Nginx: [ "/home/http/logs/access.erawanarifnugroho.com.log", "/home/http/logs/error.erawanarifnugroho.com.log", "/home/http/logs/access.download.erawanarifnugroho.com.log", "/home/http/logs/error.download.erawanarifnugroho.com.log", ] }, server: { host: '37.247.11.11', port: 28777 } } |
Contoh diatas, akan membuat Harvester membaca perubahan pada file log sesuai lokasi, kemudian dikirimkan pada server, misalnya memiliki IP 37.247.11.11 dan port 28777.
Jalankan proses berikut agar vps bekerja sebagai Server dan Harvester:
- log.io-server
- log.io-harvester
Konfigurasi Harvester
Untuk membuat sebuah vps bekerja hanya sebagai sebuah Harvester, memonitor perubahan file log kemudian mengirimkannya kepada Server, maka kita perlu melakukan perubahan pada file harvester.conf
1 2 3 4 5 6 7 8 9 10 11 12 |
exports.config = { nodeName: "Xvmlabs", logStreams: { Nginx: [ "/var/log/nginx/error.log" ] }, server: { host: '37.247.11.11', port: 28777 } } |
Jalankan proses berikut agar vps bekerja sebagai Harvester :
- log.io-harvester
Kemudian buka alamat vps yang berfungsi sebagai server dan portnya, misal http://37.247.11.11/28778