Просмотр исходного кода

Added sample nginx proxy config

Rashid Khan 12 лет назад
Родитель
Сommit
764f863afe
2 измененных файлов с 76 добавлено и 7 удалено
  1. 30 7
      README.md
  2. 46 0
      sample/kibana.conf

+ 30 - 7
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

+ 46 - 0
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;
+  }
+}