/elasticsearch-head

A web front end for an elastic search cluster

Primary LanguageJavaScriptOtherNOASSERTION

elasticsearch-head

A web front end for an Elasticsearch cluster

Installing and Running

There are two main ways of running and installing elasticsearch-head

Running as a plugin of Elasticsearch

  • sudo elasticsearch/bin/plugin install mobz/elasticsearch-head
  • 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
  • If you’ve installed the .deb package, then the plugin exectuable will be available at /usr/share/elasticsearch/bin/plugin.

Running with built in server

  • enable cors by add http.cors.enabled: true in elasticsearch configuration
  • 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 serveral 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 set some 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 parameter dashboard=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

  1. git and a github account
  2. node
  3. grunt-cli
  4. (to run jasmine tests) phantomjs

Then

  1. create a fork of elasticsearch-head on github
  2. clone your fork to your machine
  3. cd elasticsearch-head
  4. npm install # downloads node dev dependencies
  5. grunt 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 head without running dev tools
and folllow existing dev patterns, such as indenting with tabs

Contributing an Internationalisation

To contribute an internationalisation

  1. Follow “Contributing” instructions above
  2. Find your 2-character ISO 639-1 language code
  3. edit site/index.html to add your 2 letter language code to the data-langs attribute of this line @here">@
  4. make a copy of src/app/langs/en_strings.js prefixed with your langugae code
  5. convert english strings and fragments to your language. Formatting Rules
  6. Submit a pull request

ClusterOverview Screenshot