You are reading the right blog post if you have heard of Elastic Stack and want to explore or if you are an absolute dummy. I am sure you won’t be so after reading this! Let’s understand what Elastic Stack is and why do you need it.
What is Elastic Stack ?
ELK Stack or Elastic Stack — ELK stack
has been re-branded as Elastic Stack
. The ELK stack is an amazing and powerful collection of three open source projects - **E**lasticsearch, **L**ogstash, and **K**ibana
. Despite each one of these three technologies being a separate project, they have been built to work exceptionally well together .
Elastic Stack is a complete end-to-end log analysis solution which helps in deep searching, analyzing and visualizing the log generated from different machines.
Log Analysis-Search-Visualize
Yes, you read it right! Elastic stack reliably and securely takes data from any source, in any format, and search, analyze, and visualize it in real time. Elastic Stack provides a strong mechanism to perform centralized logging which plays an important role in identifying the web server and/or application related problems. It lets you search through all the logs at a single place and identify the issues spanning through multiple servers by correlating their logs within a specific time frame found in IT environments including use cases for web analytics, business intelligence, compliance and security.
What is Elastic Stack used for?
In today’s data dominated world, irrespective of the size of the organization, huge amount of data constantly flows into your systems on daily basis. As your data set grows larger, your analytics will slow up, resulting in sluggish insights. A considerable amount of this data is composed of the company’s web server logs. Logs are one of the most important and often-neglected sources of information. Each log file contains invaluable pieces of information which are mostly unstructured and makes no or little sense. Without a careful and detailed analysis of this log data, an organization can remain oblivious to both opportunities as well as threats surrounding it. Sigh!
So, the BIG question for your big data is: how can you maintain valuable business insights! Right? Don’t worry, here is where you need a log analysis tool.
Elastic Stack Users
Now, I have a question for you. How do Microsoft, LinkedIn, Netflix, Facebook, and Cisco monitor their logs?
The answer is obvious. Yes, it is none other than ELK!
The power of Elastic Stack lies in its powerful components- Elasticsearch
- Logstash
- Kibana
- Beats
- X Pack
. The stack also includes a paid component known as X-Pack and family of log shippers called Beats, which led Elastic to rename ELK as the Elastic Stack. To understand Elastic Stack better, you need to understand its components.
In simple terms, Elastic Stack work flow can be put like this:
Logstash along with family of Beats collect and parse logs( say NGINX logs for SEO and analysis of web traffic), and then this information is indexed and stored by Elasticsearch. Finally, Kibana presents the data in visualizations enabling us to provide decision-making insights. Isn’t is amazing?
Enough introducing ELK by definitions, now let’s see where and how actually it helps in solving real life problems. Ranging from tailing a simple log file to a complete — complex — critical business analytics, ELK stack comes together for playing the role for you. A few of these scenarios wherein ELK relieves you from the associated headache are listed below:
ELK Stack has become most popular open source platform for logging. Assume that you have to find an error. You need to log in to several machines and look at several log files. Now assume that you are maintaining larger applications distributed across several nodes. In that case, this process of searching in log files can become more tedious and messy. It is time to move beyond using Linux tools like grep.
https://digicm.wordpress.com/2014/12/31/mwd0701-log-management-with-elk/
Some successful ELK log analytics use cases include:
Talking about metrics or analytics , what is it that comes to your mind instantly? Hint: It is a small 4-letter word but powerful!!
Yes, “DATA”
Let’s take an example of a university with multiple departments and associated faculties. Requirement is to find out the number of faculty members per department.
Solution: Elasticsearch’s Aggregations can help with finding new ways to look at the data. If you have departments and faculties indexed in Elasticsearch, you can use the terms aggregation to find the count of faculty members working in particular department. The request would look like this:
curl -XGET "http://localhost:9200/university/faculty/_search" -d'{
Aggregations are requested using the aggregations
or aggs
keyword, department
is the term to identify the result and the terms aggregation
counts the different terms for the given field. I will talk about the syntax in later blog posts. You would get response something like this:
{"took": 1,"timed_out": false,"_shards": {"total": 1,"successful": 1,"failed": 0},"hits": {"total": 86,"max_score": 0,"hits": []},"aggregations": {"department": {"buckets": [{"key": "Mathematics","doc_count": 16},{"key": "Information Technology","doc_count": 20},{"key": "Geo Informatics","doc_count": 25},{"key": "Zoology","doc_count": 15},{"key": "Bio Technology,"doc_count": 10}]}}}
We can see that there are 16 faculty members working in “Mathematics” department , 20 in “Information Technology” department and so on. This is all Elasticsearch’s search superpowers that are applied to the metrics.
At the heart of ELK Stack is Elasticsearch being JSON-based and RESTful search engine designed for scaling millions of events per second providing maximum reliability.
Some real time uses are as:
These are just few to mention. If you are interested in exploring more, I recommend you to explore the Elastic Stack documentation for more clear understanding on https://www.elastic.co. and day-today use cases at https://www.elastic.co/use-cases
Feel free to give any suggestions and corrections in the comments below! :D