Github url

elasticsearch-head

by mobz

A web front end for an elastic search cluster

7.3K Stars 1.6K Forks Last release: over 2 years ago (v5.0.0) Other 599 Commits 1 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

h1. elasticsearch-head

h2. A web front end for an Elasticsearch cluster

h3. "http://mobz.github.io/elasticsearch-head":http://mobz.github.io/elasticsearch-head

h2. Running

There are multiple ways of running elasticsearch-head.

h4. Running with built in server

This will start a local webserver running on port 9100 serving elasticsearch-head

h4. Running with docker

h4. Running as a Chrome extension

h4. Running as a plugin of Elasticsearch (deprecated)

  • for Elasticsearch 5.x, 6.x, and 7.x: site plugins are not supported. Run "as a standalone server":#running-with-built-in-server

  • for Elasticsearch 2.x: @sudo elasticsearch/bin/plugin install mobz/[email protected]

  • for Elasticsearch 1.x: @sudo elasticsearch/bin/plugin -install mobz/elasticsearch-head/[email protected]

  • for Elasticsearch 0.x: @sudo elasticsearch/bin/plugin -install mobz/elasticsearch-head/[email protected]

  • @open http://localhost:9200/\_plugin/head/@

This will automatically download the appropriate version of elasticsearch-head from github and run it as a plugin within the elasticsearch cluster. In this mode elasticsearch-head automatically connects to the node that is running it

h4. Running with the local proxy

This is an experimental feature which creates a local proxy for many remote elasticsearch clusters

At the moment it only works with @grunt [email protected] running on http://localhost:9100

h4. Alternatives

  • File System: elastisearch-head is a standalone webapp written in good-ol' html5. This means, you can put it up on any webserver, run it directly from the filesystem. It'll even fit on a floppy disk.
  • DEB package: There is an unofficial deb package. the plugin executable will be available at @/usr/share/elasticsearch/bin/[email protected]
  • Homebrew: There is an unofficial keg. The plugin executable will be available at @/usr/local/Cellar/elasticsearch/(elasticsearch version)/libexec/bin/[email protected]

h3. Connecting to elasticsearch

By default elasticsearch exposes a http rest API on port 9200 which elasticsearch-head connects to.

h4. Enable CORS in elasticsearch

When not running as a Chrome extension or as a plugin of elasticsearch (which is not even possible from version 5), you must enable "CORS":https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-http.html in elasticsearch, or else your browser will reject elasticsearch-head's requests due to violation of the same-origin policy.

In elasticsearch configuration;

  • add @http.cors.enabled: [email protected]
  • you must also set @[email protected] because no origin allowed by default. @http.cors.allow-origin: ""@ is valid value, however it's considered as a security risk as your cluster is open to cross origin from *anywhere.

h4. Basic Authentication

elasticsearch-head will add basic auth headers to each request if you pass in the "correct url parameters":#url-parameters You will also need to add @http.cors.allow-headers: [email protected] to the elasticsearch configuration

h4. x-pack

elasticsearch x-pack requires basic authentication and CORS as described above. Make sure you have the correct CORS setup and then open es-head with a url like "http://localhost:9100/?auth_user=elastic&auth_password=changeme"

h4. URL Parameters

Parameters may be appended to the url to set an initial state eg. @head/index.html?base_uri=http://node-01.example.com:[email protected]

h4. Contributing

To contribute to elasticsearch-head you will need the following developer tools

git and a "github":https://github.com/ account

"node ( including npm )":http://nodejs.org/download

"grunt-cli":http://gruntjs.com/getting-started

(to run jasmine tests) "phantomjs":http://phantomjs.org

Then

create a fork of elasticsearch-head on github

clone your fork to your machine

@cd [email protected]

@npm [email protected] # downloads node dev dependencies

@grunt [email protected] # builds the distribution files, then watches the src directory for changes (if you have an warning like "Warning: Task "clean" failed. Use --force to continue.", well use --force ;) )

Changes to both _site and src directories must be committed, to allow people to run elasticsearch-head without running dev tools and follow existing dev patterns, such as indenting with tabs.

h5. Contributing an Internationalisation

To contribute an internationalisation

Follow "Contributing" instructions above

Find your 2-character "ISO 639-1 language code":http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes

edit _site/index.html to add your 2 letter language code to the data-langs attribute of this line @<script src="_site/i18n.js" data-baseDir="_site/lang" data-langs="en,fr,your_lang_here">@

make a copy of @src/app/langs/[email protected] prefixed with your language code

convert english strings and fragments to your language. "Formatting Rules":http://docs.oracle.com/javase/tutorial/i18n/format/messageintro.html

Submit a pull request

!http://mobz.github.com/elasticsearch-head/screenshots/clusterOverview.png(ClusterOverview Screenshot)!

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.