No description
Find a file
2014-07-06 17:10:11 -07:00
manifests Add parameters for Nagios plugin pacakges and install them with a package resource in the icinga2::server::packages class so we can get the Nagios plugin packages Icinga 2 servers. 2014-07-05 22:00:20 -07:00
templates Add the objects/ directory as one to recursively include when looking for ojbect definitions. 2014-07-05 16:34:12 -07:00
CHANGELOG.md Initial commit. 2014-05-02 19:36:32 -07:00
LICENSE Initial commit. 2014-05-02 19:36:32 -07:00
Modulefile Initial commit. 2014-05-02 19:36:32 -07:00
README.md Moved some usage stuff out of the requirements section and instead added some example Puppet code that shows how to set up a Postgres database. 2014-07-06 17:10:11 -07:00

#puppet-icinga2


This module installs and configures the Icinga 2 monitoring system. It can also install and configure NRPE on client systems that are being monitored by an Icinga 2 server.

The module has only been tested on CentOS 6.5 and Ubuntu 12.04 and 14.04. Red Hat and other EL derivatives, like Fedora, should work, but have not been tested.

###Requirements

For Ubuntu systems, this module requires the Puppet Labs apt module.

On EL-based systems (CentOS, Red Hat Enterprise Linux, Fedora, etc.), the EPEL package repository is required.

####Server requirements

Icinga 2 requires either a MySQL or a Postgres database.

Currently, this module does not set up any databases. You'll have to create one before installing Icinga 2 via the module.

If you would like to set up your own database, either of the Puppet Labs MySQL or Postgres modules can be used.

Database connection parameters can be specified by the db_host, db_port, db_name, db_user and db_password parameters.

The example below shows the Puppet Labs Postgres module being used to install Postgres and create a database and database user for Icinga 2:

  class { 'postgresql::server': }

  postgresql::server::db { 'icinga2_data':
    user     => 'icinga2',
    password => postgresql_password('icinga2', 'password'),
  }

For production use, you'll probably want to get the database password via a Hiera lookup so the password isn't sitting in your site manifests in plain text.

To configure Icinga with the password you set up for the Postgres Icinga user, use the server_db_password parameter (shown here with a Hiera lookup):

  class { 'icinga2::server':
    server_db_password => hiera('icinga_db_password_key_here')
  }

###Usage

####Server usage

To install Icinga 2 with a Postgres database, first set up the database.

Once the database is set up, use the icinga2::server class with the database connection parameters to specify

  #Install Icinga 2:
  class { 'icinga2::server': 
    server_db_type => 'pgsql',
	db_host => 'localhost'
	db_port => '5432'
	db_name => 'icinga2_data'
	db_user => 'icinga2'
	db_password => 'password'
  }

When the server_db_type parameter is set, the right IDO database connection packages are automatically installed and the schema is loaded.

Note: For production use, you'll probably want to get the database password via a Hiera lookup so the password isn't sitting in your site manifests in plain text:

  #Install Icinga 2:
  class { 'icinga2::server': 
    server_db_type => 'pgsql',
	db_host => 'localhost'
	db_port => '5432'
	db_name => 'icinga2_data'
	db_user => 'icinga2'
	db_password => hiera('icinga_db_password_key_here')
  }

####Client usage

Coming soon...