Guide To Install Elasticsearch-6 And Kibana-6
Elasticsearch and kibana are often used together in ELK or EFK setup. To have your kibana dashboard up and running with elasticsearch is very easy. Let's deep dive and setup kibana with elasticsearch.
Prerequisites:
- ubuntu-16.04 OS Instance
- Security group in place
# Video Tutorial
# First Install java
To set JAVA_HOME edit file /etc/environment and add the content shown below in comments
sudo apt-get update sudo add-apt-repository ppa:webupd8team/java sudo apt-get update sudo apt-get install oracle-java8-installer java -version echo $JAVA_HOME sudo vi /etc/environment
#PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games" #JAVA_HOME="/usr/lib/jvm/java-8-oracle"
source /etc/environment echo $JAVA_HOME
# Install Elasticsearch-6
curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.0.1.tar.gz echo "deb https://artifacts.elastic.co/packages/6.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-6.x.list sudo apt-get update && sudo apt-get install elasticsearch ls /etc/init.d/elasticsearch sudo service elasticsearch status
# Change bind address and JVM heap option as per requirement
Change network.host to 0.0.0.0 in elasticsearch.yml and set -Xms 4g & -Xmx 4g in jvm.options
sudo vi /etc/elasticsearch/elasticsearch.yml
sudo vi /etc/elasticsearch/jvm.options
# Setting read replicas to 0 if you are creating single node cluster
curl -XPUT H 'Content-Type: application/json' 'http://localhost:9200/_all/_settings?preserve_existing=false' -d '{"index.number_of_replicas" : "0"}'
# Install Kibana
sudo apt-get update && sudo apt-get install kibana
sudo service kibana restart
# Install nginx
sudo apt-get -y install nginx
# Add nginx config file for kibana
sudo vi /etc/nginx/conf.d/kibana.conf
Replace mykibana.com with your server_name or IP. We will setup auth in next step, hence we have placed a line for auth_basic in kibana.conf
server { listen 80; server_name mykibana.com; auth_basic "Restricted Access"; auth_basic_user_file /etc/nginx/htpasswd.users; location / { proxy_pass http://localhost:5601; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } }
# Setup auth
After installing apache2-utils when you run htpasswd, it will ask for a password, provide a password. This username and password would be useful when you try to access kibana from browser.
sudo apt-get install apache2-utils sudo htpasswd -c /etc/nginx/htpasswd.users efkadmin sudo service nginx restart
Super awesome tutorial, what if I don't want password security on kibana??
ReplyDeleteApology for the delay in reply, Below comment will help you to achieve this.
DeleteThen you don't add:
ReplyDeleteauth_basic "Restricted Access";
auth_basic_user_file /etc/nginx/htpasswd.users;
In the ngnix config file.
Nor run these commands;
sudo apt-get install apache2-utils
sudo htpasswd -c /etc/nginx/htpasswd.users efkadmin
Thanks for helping others. Keep Learning & Keep Sharing
DeleteHi, I install elasticsearch as you described here,
ReplyDeleteroot@ip-172-31-45-55:~# sudo service elasticsearch start
* Starting Elasticsearch Server [ OK ]
root@ip-172-31-45-55:~# sudo service elasticsearch status
* elasticsearch is not running
Do you have any idea on this?
check elasticsearch logs. Probably, the heap size might not be set properly so elasticsearch must be getting stopped due to that.
Delete