Mining Data Twitter menggunakan Elasticsearch, Logstash dan Kibana

Tak dapat dipungkiri, sekarang adalah era Big Data dimana data dapat ditemukan dimana-mana, dan setiap detik terus bertambah dalam jumlah (Volume), kecepatan (Velocity) dan jenisnya (Variety). Hal ini dikenal dengan 3V, yang pertama kali diperkenalkan oleh Doug Laney pada tahun 2001 melalui laporan penelitiannya [1].
Twitter merupakan media sosial yang populer, setiap detik ada beribu-ribu tweet(istilah pesan Twitter) yang diposting dan membentuk Big Data. Melalui Twitter API kita dapat melakukan crawling data dari seluruh dunia secara real-time mengenai suatu kata kunci. Dalam postingan ini saya akan membahas cara melakukan data mining (penambangan data) Twitter menggunakan tools Big Data yaitu Elasticsearch, Logstash dan Kibana.


Alur sistem dimulai dari pengambilan data Twitter dari Twitter API, ditangkap oleh Logstash. Logstash kemudian meneruskan data tersebut ke Elasticsearch yang merupakan tempat penyimpanan data dan search engine yang berdiri di atas Apache Lucene. Terakhir, Kibana bertugas menampilkan visualisasi data Elasticsearch kepada pengguna.

Requirements
Saya menggunakan OS Linux Ubuntu, percobaan dilakukan dengan versi 13.10 dan 14.04. Untuk membangun sistem ini, dibutuhkan komponen pada server yaitu:
a. Java                  :Runtime Environment yang dibutuhkan Logstash untuk beroperasi
b. Logstash          :Bertugas mengumpulkan dan memproses log yang masuk ke dalam sistem
c. Elasticsearch    :Menyimpan, mengindeks, dan mampu mencari log dalam library-nya.
d. Kibana             :Web interface untuk visualisasi , filtering dan analisis log yang disimpan oleh Elasticsearch
f. Kopf                 :Plugin Elasticsearch untuk konfigurasi cluster Elasticsearch

Instalasi

Awalnya semua komponen diinstall pada server. Untuk mempermudah instalasi, atur menggunakan autentikasi sebagai root dengan mengetikkan perintah berikut pada terminal:
sudo su
su –c “zypper install jdk1.7*.rpm”
zypper install update-alternatives
update-alternatives --install /usr/bin/java java /usr/java/jdk1.7*/bin/java 1065
update-alternatives --install /usr/bin/javac javac /usr/java/jdk1.7*/bin/javac 1065
update-alternatives --install /usr/bin/jar jar /usr/java/jdk1.7*/bin/jar 1065
update-alternatives --install /usr/bin/javaws javaws /usr/java/jdk1.7*/bin/javaws 1065
update-alternatives --config java

Elasticsearch versi 1.5.0 diunduh pada website www.elastic.co, kemudian diextract ke direktori /opt dengan perintah berikut.
tar xvfx elasticsearch-1.5.0.tar.gz –C /opt

Setelah berhasil diekstrak, maka Elasticsearch dapat dieksekusi dengan menjalankan bin/elasticsearch pada background dengan menambahkan simbol “&” pada akhir perintah.

Untuk Kibana, pertama-tama unduh Kibana versi 4.0.1 pada website www.elastic.co kemudian diekstrak pada direktori /usr/local/kibana dengan perintah berikut.
tar xvfx kibana-4.0.1.tar.gz –C /usr/local/kibana

Kibana dapat dieksekusi dengan menjalankan .bin/kibana. Untuk menjalankan Kibana pada background, pada akhir perintah ditambahkan simbol “&”.

Unduh Logstash versi terbaru dalam bentuk file tar.gz dan mengekstraknya pada direktori /usr/local/logstash.
tar xvfx logstash-1.4.2.tar.gz –C /usr/local/logstash

Instalasi Kopf dilakukan di dalam direktori home Elasticsearch. Berikut ini langkah-langkah instalasinya.
cd /opt/elasticsearch-1.5.0
bin/plugin --install lmenezes/elasticsearch-kopf/1.4.5


Setelah semua komponen terinstal, crawling Twitter pun dapat dimulai.

Data telah ditangkap Logstash, diteruskan ke Elasticsearch dan ditampilkan ke Kibana dengan tampilan berikut.


Fitur interaktif Kibana ini dapat dikonfigurasikan sesuai kebutuhan, baik itu bar chart, pie chart, tabel, map, histogram, dan sebagainya.


Referensi

[1]         D. Laney, “META Delta,” Appl. Deliv. Strateg., vol. 949, no. February 2001, p. 4, 2001.

Komentar

Postingan populer dari blog ini

Pengalaman Kerja Praktik di Solusi 247

Great People Trainee Program (GPTP) Telkom

Perjalanan Panjang to be a Telkomers