elasticsearch-kopf icon indicating copy to clipboard operation
elasticsearch-kopf copied to clipboard

Site plugins removed in ES 3

Open jprante opened this issue 8 years ago • 14 comments

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...

jprante avatar Feb 02 '16 21:02 jprante

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?

lmenezes avatar Feb 04 '16 08:02 lmenezes

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

sschepens avatar Feb 04 '16 22:02 sschepens

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

damienalexandre avatar Mar 02 '16 10:03 damienalexandre

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.

johncollaros avatar Mar 03 '16 20:03 johncollaros

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.

damienalexandre avatar Mar 04 '16 10:03 damienalexandre

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.

KZachariassen avatar Mar 10 '16 05:03 KZachariassen

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.

jeesim2 avatar Apr 18 '16 13:04 jeesim2

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.

kerk1v avatar Apr 25 '16 08:04 kerk1v

We miss kopf 😞

morganchristiansson avatar Jun 24 '16 12:06 morganchristiansson

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.

lmenezes avatar Jul 15 '16 16:07 lmenezes

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

gpestana avatar Jul 16 '16 10:07 gpestana

  • Deploy the archive into a document root on a web server.
  • Allow CORS from the ES instance or on the proxy.

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';

xbgmsharp avatar Nov 03 '16 17:11 xbgmsharp

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!

Funbit avatar Nov 10 '16 07:11 Funbit

this may be another option:

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

xzer avatar Feb 07 '17 10:02 xzer