Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Nginx sample config #82

Merged
merged 2 commits into from
May 14, 2013
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 30 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
@@ -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 changes: 46 additions & 0 deletions sample/kibana.conf
Original file line number Diff line number Diff line change
@@ -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;
}
}