Search This Blog

The Big Elephant

The Big Elephant
The Big Mammoth

Thursday, May 8, 2014

An Alternative to Splunk: ELK (ElasticSearch, Logstash, Kibana)



A common use case in big data is processing of logs and getting some insight on how application is performing through visualization. The problem however is that these logs are often plain text files located on multiple servers in different formats. Consolidating all logs, making them searchable and providing insights based on them is a challenge.

Log analysis software features

Any real time log processing software should support at least the following features:

i)                    Variety of different logs structures
ii)                   Massive amount of data spread over multiple nodes
iii)                 Horizontal scalability as data grow
iv)                 Fast searching
v)                  Ad-hoc queries
vi)                 Customizable visualization.

There are variety of log processing/analysis system available in the market, one such popular log analysis system is Splunk. Splunk has been facing more and tougher competition with each passing month and ELK is the latest competitor of Splunk.

ELK
ELK is a term for integrated stack of Elasticsearch, Logstash and Kibana. All three are available as separate components and have different functionality. While Logstash is used for log processing and ingestion, Kibana provides the visualization over the searchable content stored in elasticsearch. Let see how the complete stack works together.

1.       Logstash has the capability of processing different formats of log structure, further multiple logstash agents installed on different nodes can ingest data into single elasticsearch cluster
2.       Once the data is structurally stored in elasticsearch, it is searchable and Adhoc queries can be made on elasticsearch using ‘curl’ or plugin such as ‘head’
3.       Kibana provides stunning visuals by reading the data directly from elasticsearch,  further it provides real time dashboard updates as soon as the record is available in elasticsearch   

A Simple Architecture or data flow of ELK

As ELK consists of different components for processing, storing and visualization, therefore, it is highly scalable and can be fit in any customized requirement.

A scale out Architecture

A visual GUI interface such as Head can be used to make adhoc queries and search on data stored on ElasticSearch.


Query browser in elasticsearch
Kibana
Kibana deserves a special mention as it has outperformed even some of the paid tools with its stunning visuals and ease of configuration. Its completely open source and currently only reads data from elasticsearch. Kibana shows mostly time-series based graphs, it provides some basic analytical functions such as sum, count, average, max, min, top n, etc. Here are some of the Kibana dashboard visuals.





All of the three components are part of elasticsearch.org.  So far, the biggest distinction between Splunk and its competition is how they're productized. Elasticsearch also has been commercializing ELK by monetizing analytics and is offering commercial support for all of its components.