lmenezes / elasticsearch-kopf

web admin interface for elasticsearch
MIT License
2.41k stars 332 forks source link

Site plugins removed in ES 3 #341

Open jprante opened 8 years ago

jprante commented 8 years ago

Site plugins were removed

https://github.com/elastic/elasticsearch/pull/16038/

What will be the future of the fabulous kopf plugin?

I would not be too happy about having to install Kibana Node.js etc. just to use kopf so I hope kopf will choose a path that requires ES only...

lmenezes commented 8 years ago

Hey, thanks for the heads up regarding this :)

I have already for sometime thought about making kopf independent from ES(for many reasons), but it was more of a day dream rather than a real plan. I guess this somehow forces me to really do it.

As I don't have any real plan for now, would you suggest something?

sschepens commented 8 years ago

Marvel is now integrated into kibana as a plugin, maybe kopf could become a kibana plugin.

damienalexandre commented 8 years ago

Integrating Kopf as a Kibana application is the best way to make it future proof IMO.

johncollaros commented 8 years ago

I agree with @jprante Making kopf independent may be the way to go.

Some uses of elasticsearch don't require a Kibana interface.

A primary consideration is if you have a problem with Kibana, you no longer have Kopf (as kibana stores its data in an index in ES). I have had to use Kopf before to get my Kibana up and going again from a snapshot.

So my vote is Kofp independent of Kibana.

damienalexandre commented 8 years ago

You don't need data to run a Kibana app (look Sense in exemple), also Kibana brings an elasticsearch proxy, so no more crossdomain policy to deal with when trying to look at a cluster on a different network.

KZachariassen commented 8 years ago

Please don't make Kopf a part of Kinana, we are some people using ES for core site search(not log data). Kopf is a grate tool but i don't want do put Kibana on-top of my production data cluster just to get a ops tool like Kopf working.

jeesim2 commented 8 years ago

I think the most important thing is sustainability of this, the only, awesome plugin. If kopf become a plugin of kibana, kibana's api change will bother kopf development. Kopf deserves to go own program.

kerk1v commented 8 years ago

Now with Elasticsearch 5.0.0.alpha out, maybe some work can start? It doesn't seem to me that plugins are gone at all, after all there is the X-pack distributed by elastic.co that installs well and seems to work straight out-of the box.

However, maybe to ensure the future of Kopf and make it relatively independent from any breaking changes in the Elasticsearch plugin architecture, it needs to be re-engineered (to a certain extent) in way that will allow it to be served by a stand-alone web server (Nginx, Apache) and then interact with an Elasticserach instance.

morganchristiansson commented 8 years ago

We miss kopf 😞

lmenezes commented 8 years ago

hey all, sorry for the long delay in responding, and thanks for the interest in kopf.

After giving some thought, I have decided to "rebuild" kopf as a standalone app, making it not dependent on ES for running.

The app is currently being developed on https://github.com/lmenezes/cerebro and feedback is appreciated. It is still far from kopf feature wise, but I hope it will catch up soon, and after that I intend to keep on evolving it to cover new ES functionalities.

gpestana commented 8 years ago

@lmenezes sweet, don't let Kopf die though. Need any help to keep it rocking?

xbgmsharp commented 8 years ago

A few feature need update, but over all it is working. diff --git a/_site/dist/kopf.js b/_site/dist/kopf.js To avoid the unsupported version message:

-    $scope.version = '2.0.1';
+    $scope.version = '5.0.0';
Funbit commented 8 years ago

For those who already use nginx reverse proxy for elasticsearch: just unpack kopf tar to some place (I used 2.1.2 version) and register a new static site in your nginx config like this:

server {
    listen       443;
    server_name  log.mysite.com;

    ssl                  on;
    ssl_certificate      cert.pem;
    ssl_certificate_key  cert.key;

    ssl_session_timeout  5m;

    ssl_protocols  SSLv3 TLSv1;
    ssl_ciphers  HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers   on;

    location /kopf {
        alias         /usr/share/kopf/_site;
    }

    location / {
        proxy_set_header        Host $host;
        proxy_set_header        X-Real-IP $remote_addr;
        proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header        X-Forwarded-Proto $scheme;        
        proxy_pass          http://localhost:9200;
        proxy_read_timeout  90;
        proxy_redirect      http://localhost:9200 https://log.mysite.com;
    }
}

Then enable CORS inside elasticsearch.yml (set your domain!):

# cors
http.cors.enabled: true
http.cors.allow-origin: /https?:\/\/.+(:[0-9]+)?/

Then you'll be able to use kopf via URL: https://log.mysite.com/kopf

If you also use basic auth, don't forget to set

"with_credentials": true

inside kopf_external_settings.json.

Hooray, now we can finally upgrade to ELK 5.0 :)

PS. Looking forward to the official support for ELK 5.0 though :) Thanks for your amazing work!

xzer commented 7 years ago

this may be another option:

https://github.com/xzer/elasticsearch-plugin-hosting