- Description
- Setup - The basics of getting started with icingadb
- Usage - Configuration options and additional functionality
- Reference
- Release notes
This module manages the IcingaDB Redis server and the IcingaDB itself.
This module supports:
- [puppet] >= 5.5.8 < 7.0.0
And requiers:
- [puppetlabs/stdlib] >= 4.16.0 < 7.0.0
- If Puppet 6 is used a stdlib 5.1 or higher is required
- [icinga/icinga] >= 0.1.2
- [puppet/redis] >= 4.0.0
Add this declaration to your Puppetfile:
mod 'icingadb',
:git => 'https://github.com/icinga/puppet-icingadb.git',
:tag => 'v0.1.0'
Then run:
bolt puppetfile install
Or do a git clone
by hand into your modules directory:
git clone https://github.com/icinga/puppet-icingadb.git icingadb
Change to icingadb
directory and check out your desired version:
cd icingadb
git checkout v0.1.0
include ::icingadb::redis
class { '::icinga::redis':
manage_repo => true,
bind => '127.0.0.1',
port => 6381,
}
To store historical data IcingaDB uses a MySQL/MariaDB database. In the future also PostgreSQL support will be available.
include ::mysql::server
Note: If you’re using a version of MySQL < 5.7 or MariaDB < 10.2, the following server options must be set:
class { 'mysql::server':
override_options => {
mysqld => {
innodb_file_format => 'barracuda',
innodb_file_per_table => 1,
innodb_large_prefix => 1,
},
},
}
The database declaration itself is in both case the same:
mysql::db { 'icingadb':
user => 'icingadb',
password => 'supersecret',
host => 'localhost',
grant => [ 'ALL' ],
}
By default only a database password has to be set. After a puppet run, IcingaDB is configures to connect a local MySQL/MariaDB and a local Redis server on port 6380. But no repository is involved. To do this, set manage_repo
to true
to use the class icinga::repos
automatically. For more feature see icinga.
class { '::icingadb':
manage_repo => true,
db_password => 'supersecret',
}
In the last example the database will be connected but you've first to import the schema. This could by done by hand or you set import_db_schema
to true
like in the following example. There is also shown how a Redis server has to connect on a different port.
class { '::icingadb':
redis_host => 'localhost',
redis_port => 6381,
db_password => 'supersecret',
import_db_schema => true,
}
Also the needed database can located on a different host and port:
class { '::icingadb':
db_host => 'mysql.example.de',
db_port => 3309,
db_name => 'icingadb',
db_username => 'icingadb',
db_password => 'supersecret',
}
See REFERENCE.md
This code is a very early release and may still be subject to significant changes.