example42-kibana

This module installs and manages kibana. Check README.rdoc for details. Puppi is required for some common functions: you can install them without using the whole module. Monitor and firewall dependencies are needed only if the relevant features are enabled


Keywords
example42, elasticsearch, kibana
License
Apache-2.0
Install
puppet module install example42-kibana --version 3.1.1

Documentation

Puppet module: kibana

DEPRECATION NOTICE

This module is no more actively maintained and will hardly be updated.

Please find an alternative module from other authors or consider Tiny Puppet as replacement.

If you want to maintain this module, contact Alessandro Franceschi

This is a Puppet module for Kibana3: http://three.kibana.org/ .

It manages its installation and configuration.

The module is based on stdmod naming standars. Refer to http://github.com/stdmod/

Released under the terms of Apache 2 License.

NOTE: This module is to be considered a POC, that uses the stdmod naming conventions. For development time reasons the module currently uses some Example42 modules and prerequisites.

USAGE - Common parameters

  • Installation of kibana with common configuration parameters

    class { 'kibana':
      elasticsearch_url => "http://elastic.${::domain}:9200",
      webserver         => 'apache',
      virtualhost       => 'logs.example42.com', # Default: kibana.${::domain}
      file_template     => 'example42/kibana/config.js',
    }
    

USAGE - Basic management

  • Install kibana fetching the upstream master.zip. Note: By default kibana is installed but no webserver is configured to serve its files.

      class { 'kibana': }
    
  • Install kibana and setup apache to serve it with a custom virtualhost

    class { 'kibana':
      webserver   => 'apache',
      virtualhost => 'logs.example42.com', # Default: kibana.${::domain}
    }
    
  • Install kibana from a custom url to a custom destination

    class { 'kibana':
      install_url         => 'http://files.example42.com/kibana/3.1.zip',
      install_destination => '/var/www/html', # Default: /opt
    }
    
  • Define the url of your elastisearch server

    class { 'kibana':
      elasticsearch_url => "http://elastic.${::domain}:9200",
    }
    
  • Install kibana fetching a specific version

    class { 'kibana':
      install => 'upstream',
      version => '3.0.1',
    }
    
  • Install kibana via OS package

    class { 'kibana':
      install => 'package',
    }
    
  • Remove kibana package and purge all the managed files

    class { 'kibana':
      ensure => absent,
    }
    
  • Enable auditing (on all the arguments)

    class { 'kibana':
      audit => 'all',
    }
    
  • Module dry-run: Do not make any change on all the resources provided by the module

    class { 'kibana':
      noop => true,
    }
    

USAGE - Overrides and Customizations

  • Use custom source for main configuration file

    class { 'kibana':
      file_source => [ "puppet:///modules/example42/kibana/kibana.conf-${hostname}" ,
                       "puppet:///modules/example42/kibana/kibana.conf" ],
    }
    
  • Use custom template for main config file. Note that template and source arguments are alternative.

    class { 'kibana':
      file_template => 'example42/kibana/kibana.conf.erb',
    }
    
  • Use a custom template and provide an hash of custom configurations that you can use inside the template

    class { 'kibana':
      file_template       => 'example42/kibana/kibana.conf.erb',
      file_options_hash  => {
        opt  => 'value',
        opt2 => 'value2',
      },
    }
    
  • Specify the name of a custom class to include that provides the dependencies required by the module

    class { 'kibana':
      dependency_class => 'site::kibana_dependency',
    }
    
  • Automatically include a custom class with extra resources related to kibana. Here is loaded $modulepath/example42/manifests/my_kibana.pp. Note: Use a subclass name different than kibana to avoid order loading issues.

      class { 'kibana':
        my_class => 'site::my_kibana',
      }
    

TESTING

Build Status