Skip to main content

Tiga Serangkai Alternatif Splunk (Ubuntu 12.04)

Suatu saat mungkin kita harus membuka system log untuk mencari catatan yang mungkin bisa memberikan informasi tentang suatu kejadian yang melibatkan layanan yang dijalankan oleh server kita.  Splunk, mungkin adalah pilihan yang sangat cantik dan pintar yang sangat memudahkan kita untuk mengelola dan memanfaatkan data rekaman server. Tapi, buat saya yang cukup sensitif terhadap harga, terus terang, sungguh sangat tidak nyaman dengan harga Splunk yang rrruaarrr biasa.  Ribuan dolar US (US$) per giga sementara alternatif free nya gak sampe segiga-giga acan (cuma 500MB) tentunya bukan pilihan rasional untuk dijalankan.
Sementara itu, dalam dunia opensource ada beberapa pilihan alternatif Splunk yang tidak hanya free of charge tapi cukup manusiawi untuk digunakan. Graylog2 menyediakan alternatif itu dengan hanya minta dibaya bila kita mengambil support dari mereka.  Tapi maaf, karena instalasi Graylog2 yang cukup simple, saya tidak akan mengupasnya di sini.  Tidak akan memberikan nilai tambah.
Saya akan mengurai installasi tiga serangkai elasticsearch, fluentd, dan kibana.
Ok kita mulai...

Install Elasticsearch
Elasticsearch di sini akan berfungsi sebagai storage. Elasticsearch adalah aplikasi berbasis java.  Jadi pertama kali kita harus pastikan bahwa environment java sudah terpasang di mesin kita.

Persiapan Java:
Cek java:

user@komputer:~#java -version[enter]
java version "1.7.0_75"
OpenJDK Runtime Environment (IcedTea 2.5.4) (7u75-2.5.4-1~precise1)
OpenJDK 64-Bit Server VM (build 24.75-b04, mixed mode)

Bila belum ada java terinstall maka kita harus terlebih dahulu menginstall Oracle Java dengan langkah berikut:

user@komputer:~#sudo add-apt-repository ppa:webupd8team/java[enter]
user@komputer:~#sudo apt-get update[enter]
user@komputer:~#sudo apt-get install oracle-java7-installer[enter]

Unduh dan Install Elasticsearch
Setelah kita yakin bahwa environment java telah tersedia, maka kita lanjutkan dengna mengunduh elasticsearch 1.5 dengan menjalankan perintah berikut

user@komputer:~#mkdir elastic
user@komputer:~#cd elastic
user@komputer:~/elastic#wget https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-1.5.0.deb

setelah selesai proses unduhnya, lanjut dengan menjalankan perintah ini

user@komputer:~/elastic#sudo dpkg -i elasticsearch-1.5.0.deb

yang harus diperhatikan dalam instalasi elasticsearh adalah bahwa service elasticsearch telah terbetuk, tetapi tidak automatik jalan saat boot.  Dan untuk membuatnya jalan saat boot, jalankan perintah ini.

user@komputer:~#sudo update-rc.d elasticsearch defaults 95 10

Untuk menjalankan elasticsearch secara manual, jalankan perintah ini.

user@komputer:~#sudo /etc/init.d/elasticsearch start

Ok, elasticsearch kita telah siap.

Install Fluentd

Fluentd di sini akan berfungsi, kalau saya bilang sebagai grabber.  Fluentd akan listening pada port-port tertentu untuk menangkap stream log yang dilempar oleh server. Dalam bahasan ini, saya akan menggunakan fluentd dan fluentd-ui secara bersamaan.  Fluentd-ui akan mempermudah konfigurasi fluentd.
Untuk menginstall fluentd maupun fluentd-ui pertama-tama kita harus mempersiapkan environment ruby terlebih dahulu.

Cek ruby.

user@komputer:~#ruby -v[enter]
ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-linux]
user@komputer:~#gem -v[enter]
1.8.11

Bila hasil pengecekan memberikan return error program belum terinstall, silakan jalankan perintah ini.

user@komputer:~#sudo apt-get install ruby1.9.1-full[enter]

Install fluentd-ui (dan fluentd)

Pada dasarnya installasi fluentd-ui juga akan menjalankan installasi fluentd bila fluentd gems tidak diketemukan pada koleksi gems. Jadi kita hanya perlu menjalankan installasi fluentd-ui.


user@komputer:~#sudo gem install -V fluentd-ui[enter]


Setelah proses installasi selesai kita bisa melanjutkan dengan membentuk initial file configuration untuk fluentd.
misalkan configuration file akan kita letakkan di /opt/fluent



user@komputer:~#sudo fluentd -s /opt/fluent



Menjalankan fluentd-ui
Untuk menjalankan fluentd-ui silakan ketik



user@komputer:~#sudo fluentd -ui start > /dev/null 2>&1 &


Kemudian buka Chrome (browser lain) dan ketik alamat: http://localhost:9292.  Masukkan "admin" sebagai user, dan "changeme" sebagai password.

Layar login fluentd-ui

Setelah berhasil masuk, kita akan dihadapkan pada interface setup fluentd. Perhatikan pula bahwa kita juga diminta untuk merubah password.  Namun kali ini, kita tidak bahas untuk perubahan password.

Interface install fluentd

Interface ini akan membantu kita untuk mengkonfigur fluentd dan td-agent. Namun karena kita tidak pernah menginstall td-agent, maka td-agent tampil disabled. Klik "Setup fluentd" sehingga tampil layar berikut:

Memasukkan parameter start fluentd
Isikan sesuai dengan konfigurasi yang telah ditentukan.  Setelah kita klik "Create" maka akan muncul "Dashboard" seperti pada gambar berikut.

Dashboard fluentd-ui
Klik "Start" dan pastikan fluentd telah berjalan dan tampilan "Dashboard" telah berubah seperti pada gambar berikut:

Dashboard ketika fluentd telah dijalankan

Selanjutnya, kita harus menginstall plugin elasticsearch.  Klik recomended plugin dan klik install pada "fluent-plugin-elasticsearch" dan "fluent-plugin-record-reformer"

Penambahan Plugin

Bila plugin telah terinstall, maka bila kita klik "Installed Plugin" akan kita lihat dua plugin yang kita pilih muncul di list.

Installed Plugin

Catatan:
Seringkali penambahan plugin gagal karena kurangnya library libcurl terinstall pada system.  Untuk itu, silakan jalankan perintah berikut:

user@komputer:~#sudo apt-get install libcurl4-gnutls-dev

Setelah installasi plugin selesai, kita bisa lanjutkan dengan penambahan "Source" dan "Output". 
Klik "Ad Source and Output"

Add Souce and Output
Karena kita akan menggunakan elasticsearch, maka kita tentukan output "Elasticsearch"
Add Output Elasticsearch
Lengkapi isian pada Output Elasticsearch.  Klik "Update & Restart". 
Kemudian, setelah kita persiapkan outputnya, kita persiapkan inputnya.
Untuk kasus kita saat ini, kita akan menangkap syslog dari mesin-mesin produksi. Kita pilih "Syslog Protocol".

Add Input Syslog Protocol
Lengkapi isinya dan lanjutkan dengan klik "Update & Restart".  Pada installasi kita kali ini, kita menggunakan port "5140" sebagai listening port untuk menangkap log stream.

Apabila instalasi kita berhasil, maka log yang ditangkap bisa kita lihat baik pada "Dashboard" maupun "Log".

Dashboard dengan system telah berjalan.


Install Kibana

Untuk menginstall kibana, pertama-tama kita harus mengunduh file nya dari elasticsearch.co.

user@komputer:~#sudo mkdir /opt/kibana[enter]
user@komputer:~#cd /opt/kibana[enter]
user@komputer:/opt/kibana#sudo wget https://download.elasticsearch.org/kibana/kibana/kibana-4.0.1-linux-x64.tar.gz[enter]
ekstrak tarball kibana:

user@komputer:/opt/kibana#tar -xzvf kibana-4.0.1-linux-x64.tar.gz[enter]
Jalankan kibana:
user@komputer:/opt/kibana/#cd kibana-4.0.1-linux-x64/bin[enter]
user@komputer:/opt/kibana/kibana-4.0.1-linux-x64/bin#./kibana[enter]
{"@timestamp":"2015-03-31T07:39:31.112Z","level":"info","message":"Listening on 0.0.0.0:5601","node_env":"production"}
Aktifkan Chrome (atau browser lain) dan buka halaman http://localhost:5601 pada menu Discover
Discover log event dengan Kibana 4.

OK, sudah selesai. Berikutnya nanti akan kita bahas elasticsearch dan kibana masing-masing secara khusus.

Popular posts from this blog

Tentang Ultraman; Pahlawan Jepang Yang Mendunia, Salah Satu Teman Masa Kecil

Google Doodle Ultraman Pagi ini, ada kejutan yang bikin saya tersenyum. Google Doodle, hari ini temanya adalah ulang tahun Eiji Tsuburaya  sang pereka tokoh Ultraman atau dalam lidah Jepang disebut Urotoraman, tayang pertama pada 7 Juli 1966 di TBS (Tokyo Broadcasting System).  Urotoraman atau Ultraman adalah Tokusatsu  atau SciFi, seorang pahlawan super yang berukuran rasaksa. Bila beberapa halaman wiki mengatakan bahwa ide pahlawan super berukuran raksasa adalah ide aseli Tsuburaya, bagi saya itu bukan aseli. Mungkin di Jepun sono, ide aseli. Namun di Indonesia raya nan kaya dan tercinta ini, itu bukan ide aseli.  Banyak tokoh pewayangan kita seperti Yudistira, Puntadewa, bahkan yang paing fenomenal adalah Prabu Kreshna yang mampu melakukan tiwikrama , alias berubah menjadi raksasa.  Meskipun itu terjadi ketika yang melakukan sedang murka.  Jadi Ultraman adalah bentuk Tiwikrama dari pahlawan Jepang.  Meskipun begitu dan di luar semua i...

Awal Perjalanan

Jalan di dusun Pedhudutan pagi ini masih sangat sepi. Meskipun adzan Shubuh telah berkumandang, dan jama’ah Shubuh telah kembali dari langgar, namun aktifitas penduduk masih belum terlihat bergeliat. Hanya beberapa penduduk yang terlihat telah mendahului pergi ke pasar menjemput pagi. Menjemput rezeki pagi ini. Wadasputih, lintasan pegunungan yang melingkupi dusun Pohkumbang, masih nampak hitam di ujung timur seakan mencanda mentari agar tetap dalam peraduannya meski semburat tangan sinarnya telah menggapai awan yang masih malas-malasan di atas sana. Padepokan Gagak Wulung, pagi ini, terasa sangat sepi. Tidak seperti hari-hari sebelumnya. Tidak ada suara cantrik mengalunkan pesan-pesan ilahi, maupun yang gladen, olah kanuragan. Bahkan dapur-dapur padepokan yang biasanya diisi oleh para simbok, istri-istri cantrik senior maupun para cantrik perempuan, pagi ini sepi. Hanya ada sedikit sisa asap pedhangan bekas menanak nasi tadi, sebelum subuhan. Semua cantrik berkumpul di depan pendo...

Bagaimana Menginstall Snort dengan Barnyard2 dan Snorby

Mas....! Apa? Nuwun sewu, Mas! Saya udah coba install Snort dan Suricata. Tapi bingung... Bingung gimana? Bingung nginstallnya. Sampeyan nginstallnya di mana? Sampeyan gimana? Ya di kantor, Mas! Masa di rumah.  Di rumah komputer kan cuma 1 doang. He he....! Maksud saya, nginstallnya di komputer apa, OS nya apa? Di PC, OS-nya linux Linux apa? Ubuntu, Mas! Hmm... Ubuntu? Sampeyan nginstallnya make apt-get install apa compile dari source-nya? Make apt-get install, Mas! sudo apt-get install snort snort-mysql Emang kenapa, Mas? Gak apa, Cuma biasanya saya nginstallnya langsung dari source. Gimana caranya? Begini, unduh dulu source terakhir yang stabil dari http://www.snort.org/snort-downloads/ Kemudian copykan ke mesin linux yang bakal kita install snort.  Jangan cuma download source snortnya thok.  Download juga library DAQ (Data Aqcuisition Library).  Karena snort juga butuh ini kalo mau mengenable-kan semua fitur snort. Jangan lupa juga download barny...