Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support multiple Elasticsearch nodes and sniffing #214

Closed
arioch opened this issue Jul 11, 2013 · 92 comments
Closed

Support multiple Elasticsearch nodes and sniffing #214

arioch opened this issue Jul 11, 2013 · 92 comments
Labels

Comments

@arioch
Copy link

arioch commented Jul 11, 2013

With Kibana2 it was possible to have multiple ElasticSearch nodes specified in the config file. I'm trying to accomplish the same with Kibana3, but I can't seem to get it done.

Is this supported at all? Or did I make an error in the snippet below?

var config = new Settings(
  {
    elasticsearch: [ 'http://10.0.1.2:9200', 'http://10.0.1.2:9200' ],
  }
);
@rashidkpc
Copy link
Contributor

round robin is not currently supported. Support is planned

@arioch
Copy link
Author

arioch commented Jul 11, 2013

Thanks for the prompt answer.
I'll have to continue using Kibana2 for now.

@rashidkpc
Copy link
Contributor

You could also run a non-data elasticsearch node on whatever you're running Kibana on, and point Kibana at that. That way that node will join the cluster and much more effectively load balance for you.

@arioch
Copy link
Author

arioch commented Jul 11, 2013

Behind a reverse proxy I presume?
Forwarding requests from the browser to the non-data node to wherever it's running.

@Ziaunys
Copy link

Ziaunys commented Aug 19, 2013

I use a load balancer as a proxy between my ES interface nodes. Each ES node serves Kibana 3 for redundancy. It works pretty well since I only have two.

@deviantony
Copy link

+1 for that !

@phani546
Copy link

Hi All,

Can i get small description about your procedure mentioned regarding load balancer for elastic search and kibana.

Thanks in advance

phani

@spalger spalger added the Feature:Search Querying infrastructure in Kibana label Oct 6, 2014
@spalger spalger added this to the 4.0.0-BETA2 milestone Oct 6, 2014
@spalger spalger self-assigned this Oct 6, 2014
@spalger spalger removed this from the 4.0.0-BETA2 milestone Oct 10, 2014
@arioch
Copy link
Author

arioch commented Jan 9, 2015

Should be fixed in #2368, closing.

@arioch arioch closed this as completed Jan 9, 2015
@jimmyjones2
Copy link
Contributor

#2368 is closed and points back here!

@arioch arioch reopened this Jan 9, 2015
@arioch
Copy link
Author

arioch commented Jan 9, 2015

My bad, it wasn't fixed yet.
Reopening.

@tylerjl
Copy link

tylerjl commented Jan 21, 2015

👍 interest for this; would be useful to avoid 1) added complexity of a load balancer or 2) overhead of running ES on the same host.

@krinkere
Copy link

krinkere commented Feb 4, 2015

+1 I am running ELK cluster with multiple Logstash Shippers and Logstash Forwarders sending their logs to multiple Redis brokers and multiple Logstash Indexers, all of that gets indexed into ES cluster... Everything is configured so it wont have any single point of failure... except Kibana. Please fix!

@monotek
Copy link

monotek commented Feb 24, 2015

+1

@rashidkpc rashidkpc added the good first issue low hanging fruit label Feb 27, 2015
@spalger spalger removed their assignment Apr 20, 2015
@crudbug
Copy link

crudbug commented Apr 29, 2015

👍

@alaendle
Copy link

alaendle commented Dec 4, 2015

👍 Also like to vote for that - might be very useful in advanced scenarios.

@ESamir
Copy link

ESamir commented Dec 11, 2015

+1

1 similar comment
@jakommo
Copy link
Contributor

jakommo commented Dec 11, 2015

👍

@arioch
Copy link
Author

arioch commented Dec 11, 2015

We've been voting for 2.5 years now.
It's quite clear that it's not coming any time soon.

However check comments 3-5 for an alternative.

@vainkop
Copy link

vainkop commented Sep 6, 2018

+1

2 similar comments
@folprates
Copy link

+1

@ooizj
Copy link

ooizj commented Sep 11, 2018

+1

w33ble added a commit to w33ble/kibana that referenced this issue Sep 13, 2018
* feat: add metallic support

compile formatted markup from markdown

* feat: add story about writing a canvas plugin

use the github-tags function as the example

* feat: add a task to build the site without rebuilding functions

* feat: add part 2 of creating plugins

* chore: update microsite
@ksemaev
Copy link

ksemaev commented Sep 21, 2018

+1

3 similar comments
@suppix
Copy link

suppix commented Sep 25, 2018

+1

@kadzu
Copy link

kadzu commented Oct 1, 2018

+1

@Alsheh
Copy link

Alsheh commented Oct 5, 2018

+1

@shalenkoff
Copy link

any updates?

@TraderApophis
Copy link

+1

1 similar comment
@mitcham
Copy link

mitcham commented Oct 12, 2018

+1

@damianconnolly
Copy link

+1 Feels "SPOFy"

@hellogbx
Copy link

+1

3 similar comments
@DaveyDevOps
Copy link

+1

@AndyBoat
Copy link

+1

@Aodio
Copy link

Aodio commented Oct 31, 2018

+1

@DaveyDevOps
Copy link

DaveyDevOps commented Nov 1, 2018

Came across this blog today, see Kibana High Availability.

Maybe thinking about this wrong. With this feature (issue #214) our one Kibana could withstand loss of local ES coordinator node, but we would still have the one Kibana as point of failure.

Multiple "Kibani", each connected to a local coordinator would provide better availability.

@fbaligand
Copy link
Contributor

You think right.
The better would be a http load balancer in front of two kibana instances, that are connected to at least two elasticsearch coordinator nodes.

@praseodym
Copy link

praseodym commented Nov 1, 2018

It makes a lot more sense to simply put a load balancer like HAProxy in front of Elasticsearch. This scales fine with a large number of Elasticsearch nodes, whereas running a large number of Kibana instances is usually a waste of resources.

As an added bonus, you can point Logstash and Beats monitoring endpoints to that losdbalancer as well, because the monitoring functionality doesn’t support multiple endpoints either.

@zerkms
Copy link

zerkms commented Nov 1, 2018

@praseodym then it's a haproxy instance that is a spof

@praseodym
Copy link

@zerkms there’s always the traditional HAProxy+Keepalived pair for a high available loadbalancing.

Juist to be clear: I want Kibana to support multiple ES servers as much as anyone else here, but working around that by running multiple Kibana instances and a load balancer in front just isn’t the best solution.

@PMDubuc
Copy link

PMDubuc commented Nov 2, 2018

It makes a lot more sense to simply put a load balancer like HAProxy in front of Elasticsearch. This scales fine with a large number of Elasticsearch nodes, whereas running a large number of Kibana instances is usually a waste of resources.

As an added bonus, you can point Logstash and Beats monitoring endpoints to that losdbalancer as well, because the monitoring functionality doesn’t support multiple endpoints either.

Both Logstash and Beats (Filebeat at least) do support multiple endpoints. Kibana doesn't.

@jbudz
Copy link
Member

jbudz commented Jan 7, 2019

Phase 1 of this is merged and targeted for 6.6 with #21928.

elasticsearch.url is deprecated and replaced with elasticsearch.hosts. There's a few configuration options for sniffing. This does not include Console, we want those requests to be deterministic - link.

We have settings updated in the 6.6 docs now and we'll have production setup docs updated in the coming weeks. Let me know if there's any questions or concerns.

@jbudz jbudz closed this as completed Jan 7, 2019
@fbaligand
Copy link
Contributor

Hi @jbudz

First, thanks for this great news!
Very happy this will be released in 6.6!

One question:
When you say “This does not include Console”, you talk only about sniffing? I mean: “elasticsearch.hosts” feature is available for Console app?

My concern is: when I do a cluster rolling upgrade/restart, I wish that Kibana is still up and can continue to query elasticsearch cluster, given that there is still at least one es node started.

@jbudz
Copy link
Member

jbudz commented Jan 7, 2019

Hey @fbaligand, you got it. Kibana applications with the exception of console will continue operating transparently by accessing the next node if one goes down. Console for the time being will proxy to the first host in elasticsearch.hosts. With console being a direct, lower level access point we want something closer to a dropdown with node names.

@fbaligand
Copy link
Contributor

OK, it's interesting to be able to choose a node to send a query through console.
So if understand well, in next Kibana version, Console will always interact with first node.
But it is planned in a future version to have a combobox (or something like that) to choose the node to query? Is it correct?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests