Hi,
I have a ELK stack with 2 Logstash server, 3 node Elasticsearch cluster and 2 Kibana server (considering High Availability). Due to two Kibana instance we have two Kibana URL. Both the Kibana URL is working. Can I have a single URL by which I can access both the Kibana? If any time one of the Kibana is down then also we will be able to access the other one.
Yes, you need a load balancer in front and you must have sticky sessions enabled
as well as having in both kibana configs the same encryption keys and stuff
You might want to look into haproxy, ngingx reverse proxy or apache reverse proxy if you don't have any dedicated load balancing hardware
I tried with nginx but I could not implement this. Can you please refer some resource so that I can follow? And do I need DNS in this case? The Kibana URLs are http://x.x.x.x:5601, http://x.x.x.x:5601.
You should be (in my opinion) be using DNS names yeah
and then on one of the servers or a 3rd server have an nginx config similar to this
http {
upstream myapp1 {
x.x.x.x:5601;
x.x.x.x:5601;
# 127.0.0.1:5601; # if you are running it on one of the 2 servers .
}
server {
listen 80;
location / {
proxy_pass http://nameOfServerWithNginx;
}
}
}
However, I just learned nginx doesn't really support sticky sessions and if you don't use those, you wont be happy
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.