There are multiple ways of running elasticsearch-head.
git clone git://github.com/mobz/elasticsearch-head.gitcd elasticsearch-headnpm installnpm run start
This will start a local webserver running on port 9100 serving elasticsearch-head
- for Elasticsearch 5.x:
docker run -p 9100:9100 mobz/elasticsearch-head:5 - for Elasticsearch 2.x:
docker run -p 9100:9100 mobz/elasticsearch-head:2 - for Elasticsearch 1.x:
docker run -p 9100:9100 mobz/elasticsearch-head:1 - for fans of alpine there is
mobz/elasticsearch-head:5-alpine
- Install ElasticSearch Head from the Chrome Web Store.
- Click the extension icon in the toolbar of your web browser.
- Note that you don’t need to enable CORS with this method.
- for Elasticsearch 5.x, 6.x, and 7.x: site plugins are not supported. Run as a standalone server
- for Elasticsearch 2.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.x:
sudo elasticsearch/bin/plugin -install mobz/elasticsearch-head/0.9
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
This is an experimental feature which creates a local proxy for many remote elasticsearch clusters
- configure clusters in proxy/clusters
- create a file per remote cluster you want to connect to ( see
localhost9200.jsonas example ) - requires node >= 6.0
npm installnpm run proxy
At the moment it only works with grunt server running on http://localhost:9100
- 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/plugin. - Homebrew: There is an unofficial keg. The plugin executable will be available at
/usr/local/Cellar/elasticsearch/(elasticsearch version)/libexec/bin/plugin.
By default elasticsearch exposes a http rest API on port 9200 which elasticsearch-head connects to.
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 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: true - you must also set
http.cors.allow-originbecause 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.
elasticsearch-head will add basic auth headers to each request if you pass in the correct url parameters
You will also need to add http.cors.allow-headers: Authorization to the elasticsearch configuration
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”
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_uriforce elasticsearch-head to connect to a particular node.dashboardexperimental feature to open elasticsearch-head in a mode suitable for dashboard / radiator. Accepts one parameterdashboard=clusterauth_useradds basic auth credentials to http requests ( requires elasticsearch-http-basic plugin or a reverse proxy )auth_passwordbasic auth password as above (note: without additional security layers, passwords are sent over the network in the clear )langforce elasticsearch-head to use specified ui language (eg: en, fr, pt, zh, zh-TW, tr, ja)
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-headnpm install# downloads node dev dependenciesgrunt dev# 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.
- Simplified Chinese by darkcount
- Traditional Chinese by kewang
- English (primary) by Ben Birch
- French by David Pilato
- Portuguese by caiodangelo
- Turkish by Cemre Mengu
- Japanese by Satoshi Kimura
- Vietnamese by Du Tran
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.jsprefixed with your language code - convert english strings and fragments to your language. Formatting Rules
- Submit a pull request
