elasticsearch-kopf
elasticsearch-kopf copied to clipboard
Site plugins removed in ES 3
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...
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?
Marvel is now integrated into kibana as a plugin, maybe kopf could become a kibana plugin.
Integrating Kopf as a Kibana application is the best way to make it future proof IMO.
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.
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.
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.
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.
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.
We miss kopf 😞
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 sweet, don't let Kopf die though. Need any help to keep it rocking?
- 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';
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!
this may be another option:
https://github.com/xzer/elasticsearch-plugin-hosting