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 for multiple Elasticsearch nodes and sniffing #21928

Merged
merged 43 commits into from
Dec 18, 2018

Conversation

jbudz
Copy link
Member

@jbudz jbudz commented Aug 13, 2018

This adds support for node sniffing. The elasticsearch-js client supports this natively, but we create proxies that bypass the client. Two routes are used for searching and these are rewritten to use the client.

The last is used by Console, and not covered in this pull request - the first host will be used.

Configuration changes, ref:

  • elasticsearch.url (string) -> elasticsearch.hosts [(string)]
  • elasticsearch.sniffOnStart
  • elasticsearch.sniffInterval
  • elasticsearch.sniffOnConnectionFault

@jbudz jbudz added WIP Work in progress Team:Operations Team label for Operations Team labels Aug 13, 2018
@elasticmachine

This comment has been minimized.

@jbudz jbudz force-pushed the node-sniffing branch 2 times, most recently from ecd890b to f2776a4 Compare October 16, 2018 13:47
@jbudz

This comment has been minimized.

1 similar comment
@jbudz

This comment has been minimized.

@elasticmachine

This comment has been minimized.

@elasticmachine

This comment has been minimized.

@elasticmachine

This comment has been minimized.

@elasticmachine

This comment has been minimized.

@elasticmachine

This comment has been minimized.

@elasticmachine

This comment has been minimized.

Copy link
Member

@pickypg pickypg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Monitoring changes LGTM. Probably worth getting a once-over from @elastic/stack-monitoring to ensure they're aware / test it.

@chrisronline
Copy link
Contributor

Can someone summarize the meaning of this? Do we mean sniffing ES nodes other than the single node Kibana knows about? Or is this something else?

@elasticmachine
Copy link
Contributor

💚 Build Succeeded

@jbudz
Copy link
Member Author

jbudz commented Dec 18, 2018

You got it. Kibana (if these settings are turned on) will look for other nodes in the cluster using elasticsearch endpoints and add them to its list of hosts. If any node goes down it will switch to a different node and continue operating.

@jbudz jbudz merged commit b5b64f4 into elastic:master Dec 18, 2018
jbudz added a commit to jbudz/kibana that referenced this pull request Dec 18, 2018
* Node sniffing

* update monitoring

* cleaning

* remove tests

* rewrite tests using the proxy

* fix monitoring mocha tests

* fix payload

* return full error

* default interval false

* add sniff settings to monitoring

* add docs for sniff settings

* re-add index search integration test

* catch parse error

* capital

* fix merge

* hapi upgrade

* return

* pass by prefix

* rm empty test fille

* split error handling

* fix merge

* update recent elasticsearch.url references

* prettier vs eslint

* transport.request, include query params

* mega comment

* revert elasticsearchUrl

* safe hosts

* more docs es.url references

* remove unused ml/esServerUrl

* log if both set
jbudz added a commit to jbudz/kibana that referenced this pull request Dec 18, 2018
* Node sniffing

* update monitoring

* cleaning

* remove tests

* rewrite tests using the proxy

* fix monitoring mocha tests

* fix payload

* return full error

* default interval false

* add sniff settings to monitoring

* add docs for sniff settings

* re-add index search integration test

* catch parse error

* capital

* fix merge

* hapi upgrade

* return

* pass by prefix

* rm empty test fille

* split error handling

* fix merge

* update recent elasticsearch.url references

* prettier vs eslint

* transport.request, include query params

* mega comment

* revert elasticsearchUrl

* safe hosts

* more docs es.url references

* remove unused ml/esServerUrl

* log if both set
jbudz added a commit that referenced this pull request Dec 19, 2018
…27431)

* Support for multiple Elasticsearch nodes and sniffing (#21928)

* Node sniffing

* update monitoring

* cleaning

* remove tests

* rewrite tests using the proxy

* fix monitoring mocha tests

* fix payload

* return full error

* default interval false

* add sniff settings to monitoring

* add docs for sniff settings

* re-add index search integration test

* catch parse error

* capital

* fix merge

* hapi upgrade

* return

* pass by prefix

* rm empty test fille

* split error handling

* fix merge

* update recent elasticsearch.url references

* prettier vs eslint

* transport.request, include query params

* mega comment

* revert elasticsearchUrl

* safe hosts

* more docs es.url references

* remove unused ml/esServerUrl

* log if both set

* tribe test

* update remaining url references

`elasticsearch.sniffOnStart:`:: *Default: false* Attempt to find other Elasticsearch nodes on startup.

`elasticsearch.sniffOnConectionFault:`:: *Default: false* Update the list of Elasticsearch nodes immediately following a connection fault.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hello, looks like some bits fell out. Connection is missing an 'n' in the setting name.

floragunn pushed a commit to floragunncom/search-guard-docs that referenced this pull request Apr 29, 2019
floragunn pushed a commit to floragunncom/search-guard-docs that referenced this pull request May 1, 2019
* 6.x:
  Rework index page and version matrix
  New EOL
  Replcae .url by .hosts in all files. Plus fix English typos.
  Elasticsearch .url config option was deprecated. Use .hosts instead. Ref: elastic/kibana#21928
  Add note about "elasticsearch.ssl.alwaysPresentCertificate: true"  for Kibana client cert authentication
floragunn pushed a commit to floragunncom/search-guard-docs that referenced this pull request May 1, 2019
* 6.x:
  7x-35 is latest [noindex]
  Rework index page and version matrix
  New EOL
  Replcae .url by .hosts in all files. Plus fix English typos.
  Elasticsearch .url config option was deprecated. Use .hosts instead. Ref: elastic/kibana#21928
  Add note about "elasticsearch.ssl.alwaysPresentCertificate: true"  for Kibana client cert authentication
floragunn pushed a commit to floragunncom/search-guard-docs that referenced this pull request May 1, 2019
* 6.x:
  7x-35 is latest [noindex]
  Rework index page and version matrix
  New EOL
  Replcae .url by .hosts in all files. Plus fix English typos.
  Elasticsearch .url config option was deprecated. Use .hosts instead. Ref: elastic/kibana#21928
  Add note about "elasticsearch.ssl.alwaysPresentCertificate: true"  for Kibana client cert authentication
floragunn pushed a commit to floragunncom/search-guard-docs that referenced this pull request May 1, 2019
* 6.x:
  7x-35 is latest [noindex]
  Rework index page and version matrix
  New EOL
  Replcae .url by .hosts in all files. Plus fix English typos.
  Elasticsearch .url config option was deprecated. Use .hosts instead. Ref: elastic/kibana#21928
  Add note about "elasticsearch.ssl.alwaysPresentCertificate: true"  for Kibana client cert authentication

# Conflicts:
#	_config.yml
floragunn pushed a commit to floragunncom/search-guard-docs that referenced this pull request May 1, 2019
* 6.x:
  7x-35 is latest [noindex]
  Rework index page and version matrix
  New EOL
  Replcae .url by .hosts in all files. Plus fix English typos.
  Elasticsearch .url config option was deprecated. Use .hosts instead. Ref: elastic/kibana#21928
  Add note about "elasticsearch.ssl.alwaysPresentCertificate: true"  for Kibana client cert authentication
floragunn pushed a commit to floragunncom/search-guard-docs that referenced this pull request May 1, 2019
* 6.x:
  Rework index page and version matrix
  New EOL
  Replcae .url by .hosts in all files. Plus fix English typos.
  Elasticsearch .url config option was deprecated. Use .hosts instead. Ref: elastic/kibana#21928
  Add note about "elasticsearch.ssl.alwaysPresentCertificate: true"  for Kibana client cert authentication
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
review Team:Operations Team label for Operations Team v6.6.0 v7.0.0
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants