diff --git a/README.md b/README.md index 1c7a56d0d95..241a0cfbb16 100644 --- a/README.md +++ b/README.md @@ -1,23 +1,46 @@ # Kibana -__NOTE__: You have reached the Kibana 3 repository. Kibana 3 is completely new version of Kibana written entirely in HTML and Javascript. You can find the Kibana 2 repository at [https://github.com/rashidkpc/Kibana](https://github.com/rashidkpc/Kibana) +__NOTE__: You have reached the Kibana 3 repository. +Kibana 3 is completely new version of Kibana written entirely in HTML and Javascript. You can find +the Kibana 2 repository at [https://github.com/rashidkpc/Kibana](https://github.com/rashidkpc/Kibana) +More information about Kibana 3 can be found at [http://three.kibana.org](http://three.kibana.org) ## Overview -Kibana is an open source (Apache Licensed), browser based analytics and search interface to Logstash and other timestamped data sets stored in ElasticSearch. With those in place Kibana is a snap to setup and start using (seriously). Kibana strives to be easy to get started with, while also being flexible and powerful +Kibana is an open source (Apache Licensed), browser based analytics and search interface to Logstash +and other timestamped data sets stored in ElasticSearch. With those in place Kibana is a snap to +setup and start using (seriously). Kibana strives to be easy to get started with, while also being +flexible and powerful ### Requirements -* A modern web browser. The latest version of Chrome, Safari and Firefox have all been tested to work. IE8 is not currently supported +* A modern web browser. The latest version of Chrome, Safari and Firefox have all been tested to +work. IE8 is not currently supported * A webserver. No extensions are required, as long as it can serve plain html it will work -* A browser reachable Elasticsearch server. Port 9200 must be open, or a proxy configured to allow access to it. +* A browser reachable Elasticsearch server. Port 9200 must be open, or a proxy configured to allow +access to it. ### Installation 1. Copy the entire Kibana directory to your webserver -2. Edit config.js to point to your elasticsearch server. This should __not be http://localhost:9200__, but rather the fully qualified domain name of your elasticsearch server. The url entered here _must be reachable_ by your browser. -3. Point your browser at your installation. If you're using Logstash with the default indexing configuration the default Kibana dashboard should work nicely. +2. Edit config.js to point to your elasticsearch server. This should __not be +http://localhost:9200__, but rather the fully qualified domain name of your elasticsearch server. +The url entered here _must be reachable_ by your browser. +3. Point your browser at your installation. If you're using Logstash with the default indexing +configuration the default Kibana dashboard should work nicely. + +### FAQ +__Q__: Why doesnt it work? I have http://localhost:9200 in my config.js, my webserver and elasticsearch +server are on the same machine +__A__: Kibana 3 does not work like previous versions of Kibana. To ease deployment, the server side +component has been eliminated. Thus __the browser connects directly to Elasticsearch__. The default +config.js setup works for the webserver+Elasticsearch on the same machine scenario. Do not set it +to http://localhost:9200 unless your browser Wnd elasticsearch are on the same machine + +__Q__: How do I secure this? I don't want to leave 9200 open. +__A__: A simple nginx virtual host and proxy configuration can be found in the sample/kibana.conf ### Support -Introduction videos can be found at [http://three.kibana.org](http://three.kibana.org/about.html) + +Introduction videos can be found at [http://three.kibana.org/about.html](http://three.kibana.org/about.html) If you have questions or comments the best place to reach me is #logstash or #elasticsearch on irc.freenode.net diff --git a/sample/kibana.conf b/sample/kibana.conf new file mode 100644 index 00000000000..ad314d0229f --- /dev/null +++ b/sample/kibana.conf @@ -0,0 +1,46 @@ +# +# Nginx proxy for Elasticsearch + Kibana +# +# In this setup, we are password protecting the saving of dashboards. You may +# wish to extend the password protection to all paths. +# +# Even though these paths are being called as the result of an ajax request, the +# browser will prompt for a username/password on the first request +# +# If you use this, you'll want to point config.js at http://FQDN:80/ instead of +# http://FQDN:9200 +# +server { + listen *:80 ; + + server_name kibana.myhost.org; + access_log /var/log/nginx/kibana.myhost.org.access.log; + + location / { + root /usr/share/kibana3; + index index.html index.htm; + } + + location ~ ^/_aliases$ { + proxy_pass http://127.0.0.1:9200; + proxy_read_timeout 90; + } + location ~ ^/.*/_search$ { + proxy_pass http://127.0.0.1:9200; + proxy_read_timeout 90; + } + + # Password protected end points + location ~ ^/kibana-int/dashboard/.*$ { + proxy_pass http://127.0.0.1:9200; + proxy_read_timeout 90; + auth_basic "Restricted"; + auth_basic_user_file /etc/nginx/conf.d/kibana.myhost.org.htpasswd; + } + location ~ ^/kibana-int/temp.*$ { + proxy_pass http://127.0.0.1:9200; + proxy_read_timeout 90; + auth_basic "Restricted"; + auth_basic_user_file /etc/nginx/conf.d/kibana.myhost.org.htpasswd; + } +} \ No newline at end of file