Home Lab Dashboard Part 1: Setting up Elastic Search

The first part was setting up an elastic search server.  I thought about creating a “cluster”, however most of the home labs won’t need that level of redundancy.  The first thing I need to do is setup elastic search and the components I will use to set this up.

The components we plan on using:

  • Elastic Search – open source search and analytics engine.  Designed to scale horizontally, reliable, and easy to manage.
  • Kibana – is the data visualization  component that will help build the dashboard, this is easy to add to the search engine.
  • LogStash – is utilized to collect the log from multiple inputs and add them to the engine and organize as you see fit.

There are some other components like beats and what not that I will add later as of right now this is pretty much the list.

To start, I loaded up a Centos 7 x86_64 server.  Standard Install – nothing special.  Always run yum update of course.

# yum update -y

I opted to install elastic search via yum repository for easy updating in the future.  Once I have it installed, I will go and disable the yum repository to prevent it from updating unexpectedly.

Make sure that you install Java as Elastic Search relies on Java.

yum install java

You can find the manual located here.  You can find the RPM install guide here. My install will look as follows.


First we import the public signing key.

rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch

Then we create an elastic search repo config file.
vi /etc/yum.repos.d/elasticsearch.repo

Insert the following content:

name=Elasticsearch repository for 2.x packages

And finally run the yum command to install elastic search:
yum install elasticsearch

Not to test if the install worked and elastic search actually started and you can access it.

# /etc/init.d/elasticsearch status
● elasticsearch.service - Elasticsearch
Loaded: loaded (/usr/lib/systemd/system/elasticsearch.service; disabled; vendor preset: disabled)
Active: active (running) since Tue 2016-05-24 21:12:41 MDT; 2s ago

Make sure that the URL is accessible as well:

# curl localhost:9200
"name" : "Midas",
"cluster_name" : "elasticsearch",
"version" : {
"number" : "2.3.3",
"build_hash" : "218bdf10790eef486ff2c41a3df5cfa32dadcfde",
"build_timestamp" : "2016-05-17T15:40:04Z",
"build_snapshot" : false,
"lucene_version" : "5.5.0"
"tagline" : "You Know, for Search"

I also want to make sure that it starts after reboot.

systemctl enable elasticsearch.service

Next part will be getting Kibana setup….