Giter Site home page Giter Site logo

elasticsearch-kopf's Introduction

kopf

kopf is a simple web administration tool for elasticsearch written in JavaScript + AngularJS + jQuery + Twitter bootstrap.

It offers an easy way of performing common tasks on an elasticsearch cluster. Not every single API is covered by this plugin, but it does offer a REST client which allows you to explore the full potential of the ElasticSearch API.

Important:

Kopf is no longer maintained. A replacement(cerebro) has been developed and is currently maintained at https://github.com/lmenezes/cerebro. At this point, cerebro should be pretty much feature equivalent of kopf, with a few new features on top.

Versions

elasticsearch version branch latest version
0.90.X 0.90 v0.90
1.X 1.0 v1.6.1
2.X 2.0 v2.1.1

Installation

You can either install a specific version(using its release tag) or the most up to date version from a given branch.

####Installing on an Elasticsearch instance:

./elasticsearch/bin/plugin install lmenezes/elasticsearch-kopf/{branch|version}
open http://localhost:9200/_plugin/kopf

####Run locally:

git clone git://github.com/lmenezes/elasticsearch-kopf.git
cd elasticsearch-kopf
git checkout {branch|version}
open _site/index.html

ps: local execution doesn't work with Chrome(and maybe other browsers). See more here.

Alternatively you can run it via connect which should solve the ng-include issue.

git clone git://github.com/lmenezes/elasticsearch-kopf.git
cd elasticsearch-kopf
git checkout {branch|version}
npm install
grunt server

Browse to http://localhost:9000/_site.

####Kopf behind a reverse proxy Example configuration for nginx:

server {
  listen       8080;
  server_name  localhost;

  location ~ ^/es.*$ {
    proxy_pass http://localhost:9200;
    rewrite ^/es(.*) /$1 break;
  }

  location ~ ^/kopf/.*$ {
    proxy_pass http://localhost:9200;
    rewrite ^/kopf/(.*) /_plugin/kopf/$1 break;
  }
}

Example configuration for kopf(kopf_external_settings.json):

{
  "elasticsearch_root_path": "/es",
  "with_credentials": false,
  "theme": "dark",
  "refresh_rate": 5000
}

Access kopf at http://localhost:8080/kopf/ ####Try it online:

http://lmenezes.com/elasticsearch-kopf/?location=http://localhost:9200

####Basic HTTP Auth support:

http://lmenezes.com/elasticsearch-kopf/?location=http://user:pwd@localhost:9200

if using https://github.com/Asquera/elasticsearch-http-basic, try:

http://lmenezes.com/elasticsearch-kopf/?location=http://user:pwd@localhost:9200//

The plugin modifies the base elasticsearch response and therefore this workaround is needed.

Screenshots

####cluster overview cluster overview

####header reflects cluster state cluster state

####REST Client rest client

####aliases management aliases management

####warmers management warmers management

####percolator percolator

####snapshots management snapshots management

####analysis api analysis api

elasticsearch-kopf's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

elasticsearch-kopf's Issues

Refresh timing saved in a cookie

It'd be great if the refresh time could be saved in a cookie so that a browser/tab restart doesn't reset the timing down to 3 seconds, as that's not really a sane default when running kopf over a WAN link due to the amount of data it transfers.

Create a global Alert service

currently alerts are basically handled inside global controller. makes more sense also to have a service for that. the service could also handle fade of alerts as well as multiple alerts(currently not supported)

Make cluster info global and always refreshed

currently cluster info is only fetched when cluster overview tab is selected. even though we can save some requests when this information is not being displayed, in many other screen parts of this information is needed, and it's just easier if this is always available through a service

unify alerting system

currently, alerts displayed on modal use a different model and flow. they should be unified to use the normal alert system, since modals are also going away soon.

add/remove new aliases is broken

behavior was broken when the cached view was implemented. fix is to always set the list of aliases on the pagination wrapper so view is refreshed upon deletion/insertion

Integrating hammer

Howdy, I really like kopf! Very slick. I'm the author of elastic-hammer , and I'm wondering if there'd be any interest in integrating elastic-hammer as the query interface to kopf. The current one is pretty bare-bones. Elastic-hammer on the other hand doesn't really handle much else beside rest requests. It could make for a good combo. Your thoughts?

Remove JSONP

first thing, apparently using jsonp is slower.
on top of that, jsonp should only be used for cross domain requests, but currently is used every time for get requests. we should at least check we are not requesting data from the same domain.

Default URL ignores SSL

I'm accessing my cluster over SSL (HTTPS). When I connect to kopf installed on my cluster with the https:// url it changes it to http:// as seen in the trying to connect message (location bar still contains https://). It works when I manually paste in the correct url.

Use jsonp to allow access to a remote cluster

Hiya

I tried to access a remote cluster with a local kopf (to test the user/password plus path prefix thing) and I can't because you're not using jsonp:

XMLHttpRequest cannot load http://..some.domain.../_nodes?all=1/_cluster/nodes/stats?all=true. Origin http://lmenezes.com is not allowed by Access-Control-Allow-Origin. lmenezes.com/:1

Have display filter for closed indexes

Currently if you close an index it still leaves them sitting in the cluster table but with no shard allocation as expected, however if close (eg) the last N indexes then the first N pages in the index listing can end up with a bunch of empty boxes.

Just like for data/master/client nodes, it's be nice to be able to filter these closed indexes out in the listing.

head handles this by pushing the positioning of them all the way to the right, and displaying only open indexes from the left, so that might be an alternate option.

When loading cluster information is slow, getNodes might throw a NullPointer

this happens since the check for has connection passed, but the actual data still hasn't been retrieved. the ideal would be checking the whole html block with an ng-if instead of ng-show, but its still not available in this angularjs version. so, just check if cluster != null before trying to return it

Cluster settings are being constantly reloaded

on the cluster settings page, the settings are being constantly reloaded with the cluster state reload. this should be loaded once the page is active, and only refresh again on save or when page is opened again.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.