Awesome
Description
A cookbook that installs Kibana.
Kibana requires ElasticSearch index to be configured to work as per logstash requirements.
Requirements
- Chef 11+
Platform:
- Ubuntu 14.04, 16.04
- CentOS 6, 7
Cookbooks:
- build-essential
- ark
- apache2 (>= 2.0) (Suggested but not required)
- authbind (Suggested but not required)
- apt (Suggested but not required)
- nginx (Suggested but not required)
Attributes
node['kibana']['version']
- Kibana major version used. Defaults to5
.node['kibana']['kibana3_version']
- Kibana3 exact version.node['kibana']['kibana4_version']
- Kibana4 exact version.node['kibana']['kibana5_version']
- Kibana5 exact version.node['kibana']['base_dir']
- The base directory of kibana. Defaults to/opt/kibana
.node['kibana']['user']
- The user under which Kibana is installed. Defaults tokibana
.node['kibana']['group']
- The group under which Kibana is installed. Defaults tokibana
.node['kibana']['install_method']
- Install method. Can bepackage
orrelease
. Defaults torelease
.node['kibana']['url']
- Url of tarball. Defaults tohttps://download.elasticsearch.org/kibana/kibana/kibana-#{node['kibana']['kibana3_version']}.tar.gz
.node['kibana']['kibana3_checksum']
- Checksum of the tarball.node['kibana']['kibana4_checksum']
- Checksum of the tarball.node['kibana']['kibana5_checksum']
- Checksum of the tarball.node['kibana']['git']['url']
- The URL to Kibana repository. Defaults tohttps://github.com/elasticsearch/kibana.git
.node['kibana']['git']['reference']
- The git reference in the Kibana repository. Defaults to'v' + node['kibana']['kibana3_version']
.node['kibana']['rubyversion']
- The version of Ruby and Gems to use for Kibana. Defaults to1.9.1
.node['kibana']['interface']
- The interface on which to bind. Defaults to127.0.0.1
.node['kibana']['port']
- The port on which to bind. Defaults to5601
.node['kibana']['elasticsearch']['hosts']
- An Array of the elasticsearch service hosts. Defaults to['127.0.0.1']
.node['kibana']['elasticsearch']['port']
- The port of the elasticsearch http service. Defaults to9200
.node['kibana']['default_fields']
- The which fields are shown by default. Defaults to["@message"]
.node['kibana']['default_operator']
- The operator used if no explicit operator is specified. Defaults toOR
.node['kibana']['config']['cookbook']
- The cookbook from which config.js template is taken. Defaults tonil
.node['kibana']['config']['source']
- The template from which config.js is generated from. Defaults tonil
.node['kibana']['highlighted_field']
- Fields specifiers which default to @message (may need to be changed for newer logstash). Defaults to@message
.node['kibana']['primary_field']
- Defaults to@message
.node['kibana']['default_index']
- Defaults to@message
.node['kibana']['apache']['host']
- The host to create apache vhost for. Defaults tonode['fqdn']
.node['kibana']['apache']['interface']
- The interface on which to bind apache. Defaults tonode['ipaddress']
.node['kibana']['apache']['basic_auth']
- Enable http auth for Apache. Defaults tooff
.node['kibana']['apache']['basic_auth_username']
- Apache http auth username. Defaults toadmin
.node['kibana']['apache']['basic_auth_password']
- Apache http auth password. Defaults toPLEASEchangeme
.node['kibana']['apache']['port']
- The port on which to bind apache. Defaults to80
.node['kibana']['apache']['proxy']
- Boolean switch to enable apache search query proxy. Defaults tofalse
.node['kibana']['nginx']['port']
- The port on which to bind nginx. Defaults to80
.node['kibana']['nginx']['listen_http']
- The port on which to bind nginx. Defaults to80
.node['kibana']['nginx']['listen_https']
- The HTTPS port on which to bind nginx. Defaults to443
.node['kibana']['nginx']['client_max_body']
- Defaults to50M
.node['kibana']['nginx']['ssl']
- Boolean switch to enable SSL configuration. Defaults tofalse
.node['kibana']['nginx']['proxy']
- Boolean switch to enable nginx search query proxy. Defaults tofalse
.node['kibana']['nginx']['auth']
- Boolean switch to enable auth basic. Defaults tofalse
.node['kibana']['auth_file']
- The path to auth basic file. Defaults to/etc/nginx/htpasswd.users
.node['kibana']['nginx']['ssl_certificate']
- The path to the SSL certificate file. Defaults tonil
.node['kibana']['nginx']['ssl_certificate_key']
- The path to the SSL certificate key. Defaults tonil
.node['kibana']['nginx']['ssl_protocols']
- The SSL protocols. Defaults toTLSv1 TLSv1.1 TLSv1.2
.node['kibana']['nginx']['ssl_ciphers']
- The SSL ciphers. Defaults toECDHE-RSA-RC4-SHA:ECDHE-RSA-AES128-SHA:AES256-CGM-SHA256:ECDHE-RSA-AES256-SHA256:RC4:HIGH:!aNULL:!MD5:-LOW:-SSLv2:-EXP
.node['kibana']['nginx']['ssl_session_cache']
- The SSL session cache. Defaults toshared:SSL:10m
.node['kibana']['nginx']['ssl_session_timeout']
- The SSL session timeout. Defaults to10m
.node['kibana']['nginx']['server_name']
- The virtualhost server name. Defaults tokibana
.
Recipes
- kibana::apache - Setup vhost for apache that rewrites to Kibana.
- kibana::default - Install Kibana.
- kibana::kibana3
- kibana::kibana4
- kibana::kibana5
- kibana::nginx
kibana::apache
Setup vhost for apache that rewrites to Kibana.
kibana::default
Install Kibana.
Resources
kibana_plugin
Resource to manage plugins
Definition
resource_name :kibana_plugin
property :name, String, name_property: true
property :url, String
property :plugin_dir, String, default: ::File.join(node['kibana']['base_dir'],'current','installedPlugins')
property :kibana_home, String, default: ::File.join(node['kibana']['base_dir'],'current')
property :plugins_registry, String, default: ::File.join(node['kibana']['base_dir'],'installedPugins.json')
default_action :install
Actions
install
Install plugin if not installed
update
If plugin source changed, remove installed and install new version
The resource keeps track of plugins in a json file plugins_registry
in the form
{
"foo": "http:\\path\to\foo-version.gz",
"bar": "http:\\path\to\bar-version.gz"
}
remove
Remove plugin if already installed
Example
kibana_plugin 'foo' do
action :update
url 'http:\\url\to\foo-version.gz'
end
License and Maintainers
Maintainers:: Peter Donald (peter@realityforge.org), Dimitry Ryobryshkin (@cyberflow), Scott Nelson Windels (scott@drenalin.com), Michael Burns (@mburns)
License:: Apache 2.0