elasticsearch-head
A web front end for an Elasticsearch cluster
http://mobz.github.io/elasticsearch-head
Installing and Running
There are two main ways of running and installing elasticsearch-head
Running as a plugin of Elasticsearch
- Install elasticsearch-head:
– for Elasticsearch 5.x:
site plugins are not supported. Run elasticsearch-head as a standalone server
– for Elasticsearch 2.x – 4.x:
sudo elasticsearch/bin/plugin install mobz/elasticsearch-head
– for Elasticsearch 1.x:
sudo elasticsearch/bin/plugin -install mobz/elasticsearch-head/1.x
– for Elasticsearch 0.9:
sudo elasticsearch/bin/plugin -install mobz/elasticsearch-head/0.9
open http://localhost:9200/_plugin/head/
This will automatically download the latest 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
Note on different Elasticsearch installation path:
- If you’ve installed the .deb package, then the plugin executable will be available at
/usr/share/elasticsearch/bin/plugin
. - If you’ve installed Elasticsearch via Homebrew, plugin executable will be available at
/usr/local/Cellar/elasticsearch/(elasticsearch version)/libexec/bin/plugin
.
Running with built in server
- enable cors by adding
http.cors.enabled: true
in elasticsearch configuration. Don’t forget to also sethttp.cors.allow-origin
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. Check Elasticsearch documentation on this parameter: https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-http.html#modules-http git clone git://github.com/mobz/elasticsearch-head.git
cd elasticsearch-head
npm install
grunt server
open
http://localhost:9100/
This will start a local webserver running on port 9100 serving elasticsearch-head
- Best option if you are likely to connect to several different clusters
Alternatives
Running from the filesystem
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, use it on an iPad, or put it on a floppy disk and carry it with you.
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:9200
base_uri
force elasticsearch-head to connect to a particular node.dashboard
experimental feature to open elasticsearch-head in a mode suitable for dashboard / radiator. Accepts one parameterdashboard=cluster
auth_user
adds basic auth credentials to http requests ( requires elasticsearch-http-basic plugin or a reverse proxy )auth_password
basic auth password as above (note: without additional security layers, passwords are sent over the network in the clear )
Contributing
To contribute to elasticsearch-head you will need the following developer tools
Then
- create a fork of elasticsearch-head on github
- clone your fork to your machine
cd elasticsearch-head
npm install
# downloads node dev dependenciesgrunt dev
# builds the distribution files, then watches the src directory for changes
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.
Contributing an Internationalisation
- Chinese by darkcount
- English (primary) by Ben Birch
- French by David Pilato
- Portuguese by caiodangelo
- Turkish by Cemre Mengu
To contribute an internationalisation
- Follow “Contributing” instructions above
- Find your 2-character ISO 639-1 language code
- edit site/index.html to add your 2 letter language code to the data-langs attribute of this line @here">@
- make a copy of
src/app/langs/en_strings.js
prefixed with your language code - convert english strings and fragments to your language. Formatting Rules
- Submit a pull request