Skip to content

Data isualization and data pipeline for twitter (ETL) using ELK (Elastic Search, Logstash, Kibana)

Notifications You must be signed in to change notification settings

kirralabs/visualizationELK

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Twitter Data Visualization

Data pipeline for Twitter (ETL) using the elastic stack (ELK)

Repositori ini hanya fokus pada visualisasi yang terdapat pada data twitter. Ditambah dengan penggunaan container (Docker) untuk mempermudah proses development. Tutorial ini merupakan pengembangan dari tutorial yang sudah dibuat oleh melvynator

Requirement

  1. Docker
  2. docker-compose
  3. Elasticsearch 6.7.1
  4. Kibana 6.7.1
  5. Logstash 6.7.1
config logstash.conf

daftar untuk mendapatkan token dari twitter: https://dev.twitter.com/resources/signup

input {
  twitter {
      consumer_key => "<YOUR_CONSUMER_KEY>"
      consumer_secret => "<YOUR_CONSUMER_SECRET>"
      oauth_token => "<YOUR_OAUTH_TOKEN>"
      oauth_token_secret => "<YOUR_OAUTH_TOKEN_SECRET>"
      keywords => [ "jokowi", "prabowo", "menang"]
      full_tweet => true
      type => "tweet"
  }
}

pastikan data store menuju ke address elasticsearch pada docker ::: "hosts => [ "elasticsearch:9200" ]"

Pastikan juga nama file template untuk mapping data di elasticsearch sudah benar ::: "template => "/logstash_dir/elasticsearch_mapping_settings.json""

output {
    elasticsearch {
      hosts => [ "elasticsearch:9200" ]
      index => "twitter"
      document_type => "doc"
      document_id => "%{[tweet_id]}"
      template => "/logstash_dir/elasticsearch_mapping_settings.json"
      template_name => "twitter"
    }
}

Instalation

  1. git clone https://github.com/kirralabs/visualizationELK.git
  2. cd visualizationELK
  3. docker-compose up

Visualization

  1. line chart
  2. matrix
  3. geo
  4. area
  5. tagcloud
  6. bar chart

Example visualization

Bar Chart

Tag Cloud

Line Chart

Martrix

Geo

Export / Import data elasticsearch

Ketika kalian sedikit kesulitan atau males untuk membuat akun developer di twitter, teman-teman bisa menggunakan data yang sudah saya kumpulkan beberapa jam menggunakan elasticsearch-dump. Dengan cara ini teman-teman tidak perlu lagi menggunakan logstash, tinggal cukup fokus pada cara memvisualikasikannya di kibana.

Download DATA

# Import data from file to elasticsearch
elasticdump \
  --input "dump_twitter_mapping.json" \
  --output=http://localhost:9200/twitter

# Export ES data to elasticsearch
elasticdump \
  --input "dump_twitter_data.json" \
  --output=http://localhost:9200/twitter

atau kita bisa menggunakan docker-image yang sudah dibuat, dengan command dibawah ini:

docker run --net=host --rm -ti -v ${PWD}/data:/tmp taskrabbit/elasticsearch-dump --input=/tmp/dump_twitter_data.json --output=http://localhost:9200/twitter --type=data

docker run --net=host --rm -ti -v ${PWD}/data:/tmp taskrabbit/elasticsearch-dump --input=/tmp/dump_twitter_mapping.json --output=http://localhost:9200/twitter --type=mapping

Ressources:

Thanks to stackoverflow community and Elastic community for the answer provided.

https://github.com/melvynator/ELK_twitter

https://www.elastic.co/guide/en/elasticsearch/reference/6.0/docker.html

https://www.codementor.io/samueljames/using-docker-with-elasticsearch-logstash-and-kibana-elk-dzucc3c94

https://www.elastic.co/guide/en/logstash/current/introduction.html https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html

Releases

No releases published

Packages

No packages published