install
: Template classinstall::agent
: Class to install Icinga agent Parameters: $ca_server:: The CA to send the certificate request to. $parent_zone:: Nameinstall::features
: Manage Icinga 2 features == Parameters: == Graphite parameters: $graphite:: Enable graphite feature? === Graphite:install::icingadb
: Manage IcingaDB == Parameters: $icingadb:: Enable the IcingaDB daemon. Otherwise, these parameters only apply to Icinga sinstall::params
: Class for defaults and password cache data.install::plugins
: This class installs monitoring plugins. Parameters: $basic_plugins:: Manage what plugins have to be installed.install::repos
: This class manages the stages stable, testing and snapshot of packages.icinga.com repository and depending on the operating system platform sinstall::server
: Setup a Icinga server. == Parameters: $ca:: Enables a CA on this node. $zone:: Name of the Iciinstall::web
: Class to manage Icinga Web 2. == Parameters: == Icinga Web parameters: $icingaweb:: Eanable/disable instainstall::worker
: Class to install Icinga worker Parameters: $ca_server:: The CA to send the certificate request to. $zone:: Name
Template class
Class to install Icinga agent
Parameters:
$ca_server:: The CA to send the certificate request to.
$parent_zone:: Name of the parent Icinga zone.
$parent_endpoints:: Configures these endpoints of the parent zone.
$global_zones:: List of global zones to configure.
$logging_type:: Switch the log target. Only file
is supported on Windows.
$logging_level:: Set the log level.
The following parameters are available in the install::agent
class:
Data type: Stdlib::Host
Data type: Hash[String, Hash]
Data type: String
Default value: 'main'
Data type: Array[String]
Default value: ['linux-commands']
Data type: Enum['file', 'syslog']
Default value: 'syslog'
Data type: Enum[ 'debug', 'information', 'notice', 'warning', 'critical' ]
Default value: 'critical'
Manage Icinga 2 features
== Parameters:
== Graphite parameters:
$graphite:: Enable graphite feature?
=== Graphite: condition: $graphite
$graphite_host:: Destination host for graphite data.
$graphite_port:: Graphite Carbon port.
$graphite_send_thresholds:: Send additional threshold metrics.
$graphite_send_metadata:: Send additional metadata metrics.
== InfluxDB2 parameters:
$influxdb2:: Enable influxdb2 feature?
=== InfluxDB2: condition: $influxdb2
$influxdb2_host:: Destionation host for influxdb2 data.
$influxdb2_port:: InfluxDB HTTP port.
$influxdb2_bucket:: InfluxDB bucket name.
$influxdb2_organization:: InfluxDB organization name.
$influxdb2_auth_token:: InfluxDB authentication token.
$influxdb2_send_thresholds:: Whether to send warn, crit, min & max tagged data.
$influxdb2_send_metadata:: Whether to send check metadata e.g. states, execution time, latency etc.
== Livestatus parameters:
$livestatus:: Enable Livestatus feature?
=== Livestatus: condition: $livestatus
$livestatus_socket_type:: Specifies the socket type. Can be either 'tcp' or 'unix'.
==== Livestatus_TCP: condition: $livestatus_socket_type == 'tcp'
$livestatus_bind_host:: IP address to listen for connections.
$livestatus_bind_port:: Port to listen for connections.
==== Livestatus_Socket: condition: $livestatus_socket_type == 'unix'
$livestatus_socket_path:: Specifies the path to the UNIX socket file.
== Elasicsearch parameters:
$elasticsearch:: Enable Elasticsearch feature?
=== Elasticsearch: condition: $elasticsearch
$elastic_host:: Elasticsearch host address.
$elastic_port:: Elasticsearch HTTP port.
$elastic_index:: Elasticsearch index name.
$elastic_username:: Elasticsearch user name.
$elastic_ password:: Elasticsearch user password. The password parameter isn't parsed anymore.
$elastic_send_perfdata:: Whether to send check performance data metrics.
== GELF parameters:
$gelf:: Enable GELF feature?
=== GELF: condition: $gelf
$gelf_host:: GELF receiver host address.
$gelf_port:: GELF receiver port.
$gelf_source:: Source name for this instance.
$gelf_send_perfdata:: Enable performance data for 'CHECK RESULT' events.
The following parameters are available in the install::features
class:
graphite
graphite_host
graphite_port
graphite_send_thresholds
graphite_send_metadata
influxdb2
influxdb2_host
influxdb2_port
influxdb2_bucket
influxdb2_organization
influxdb2_auth_token
influxdb2_send_thresholds
influxdb2_send_metadata
livestatus
livestatus_socket_type
livestatus_bind_host
livestatus_bind_port
livestatus_socket_path
elasticsearch
elastic_host
elastic_port
elastic_index
elastic_username
elastic_password
elastic_send_perfdata
gelf
gelf_host
gelf_port
gelf_source
gelf_send_perfdata
Data type: Boolean
Default value: false
Data type: Stdlib::Host
Default value: 'localhost'
Data type: Stdlib::Port::Unprivileged
Default value: 2003
Data type: Boolean
Default value: false
Data type: Boolean
Default value: false
Data type: Boolean
Default value: false
Data type: Stdlib::Host
Default value: 'localhost'
Data type: Stdlib::Port
Default value: 8086
Data type: String
Default value: 'icinga2'
Data type: String
Default value: 'CHANGEME'
Data type: String
Default value: 'CHANGEME'
Data type: Boolean
Default value: false
Data type: Boolean
Default value: false
Data type: Boolean
Default value: false
Data type: Enum['tcp', 'unix']
Default value: unix
Data type: Stdlib::Host
Default value: '127.0.0.1'
Data type: Stdlib::Port::Unprivileged
Default value: 6558
Data type: Stdlib::Absolutepath
Default value: '/var/run/icinga2/cmd/livestatus'
Data type: Boolean
Default value: false
Data type: Stdlib::Host
Default value: 'localhost'
Data type: Stdlib::Port::Unprivileged
Default value: 9200
Data type: String
Default value: 'icinga2'
Data type: Optional[String]
Default value: undef
Data type: Optional[String]
Default value: undef
Data type: Boolean
Default value: false
Data type: Boolean
Default value: false
Data type: Stdlib::Host
Default value: 'localhost'
Data type: Stdlib::Port::Unprivileged
Default value: 12201
Data type: String
Default value: 'icinga2'
Data type: Boolean
Default value: false
Manage IcingaDB
== Parameters:
$icingadb:: Enable the IcingaDB daemon. Otherwise, these parameters only apply to Icinga server and web.
$db_type:: Choose wether MySQL or PostgreSQL as database backend.
$db_host:: Database host to connect.
$db_port:: Database port to connect.
$db_name:: IcingaDB database name.
$db_username:: Account to connect to database.
$db_password:: Account password to connect to database.
$create_database:: Install and configure the database on this host.
$db_accesses:: Host with access to the IicngaDB databse, e.g. host running Icinga Web.
$redis_host:: Redis host to connect.
$redis_bind:: When Redis runs on a differnt host than Icinga, setting the listining interfaces.
$redis_port:: Port for Redis listening.
$redis_password:: Password to authenticate against Redis.
$create_redis:: Install and configure the IcingaDB Redis service also on this host.
The following parameters are available in the install::icingadb
class:
icingadb
db_type
db_host
db_port
db_name
db_username
db_password
create_database
db_accesses
redis_host
redis_bind
redis_port
redis_password
create_redis
Data type: Boolean
Default value: true
Data type: Enum['mysql', 'pgsql']
Default value: 'mysql'
Data type: Stdlib::Host
Default value: 'localhost'
Data type: Optional[Stdlib::Port]
Default value: undef
Data type: String
Default value: 'icingadb'
Data type: String
Default value: 'icingadb'
Data type: String
Default value: $install::params::icingadb_db_password
Data type: Boolean
Default value: false
Data type: Array[Stdlib::Host]
Default value: []
Data type: Stdlib::Host
Default value: 'localhost'
Data type: Optional[Array[Stdlib::Host]]
Default value: undef
Data type: Optional[Stdlib::Port]
Default value: undef
Data type: Optional[String]
Default value: undef
Data type: Boolean
Default value: true
Class for defaults and password cache data.
This class installs monitoring plugins.
Parameters:
$basic_plugins:: Manage what plugins have to be installed.
The following parameters are available in the install::plugins
class:
Data type: Variant[String, Array[String]]
Default value: $install::params::basic_plugins
This class manages the stages stable, testing and snapshot of packages.icinga.com repository and depending on the operating system platform some other repositories.
Parameters:
$manage_stable:: Manage the Icinga stable repository.
$manage_testing:: Manage the Icinga testing repository to get access to release candidates.
$manage_nightly:: Manage the Icinga snapshot repository to get access to nightly snapshots.
$configure_backports:: Enables or Disables the backports repository. Has only an effect on plattforms simular to Debian. To configure the backports repo uses apt::backports in hiera.
$manage_epel:: Manage the EPEL (Extra Packages Enterprise Linux) repository. Has only an effect on plattforms simular to RedHat Enterprise.
$manage_plugins:: Manage the NETWAYS plugins repository that provides some packages for additional plugins.
$manage_extras:: Manage the NETWAYS extras repository that provides some packages for extras.
The following parameters are available in the install::repos
class:
manage_stable
manage_testing
manage_nightly
configure_backports
manage_epel
manage_plugins
manage_extras
Data type: Boolean
Default value: true
Data type: Boolean
Default value: false
Data type: Boolean
Default value: false
Data type: Boolean
Default value: $install::params::configure_backports
Data type: Boolean
Default value: $install::params::manage_epel
Data type: Boolean
Default value: true
Data type: Boolean
Default value: true
Setup a Icinga server.
== Parameters:
$ca:: Enables a CA on this node.
$zone:: Name of the Icinga zone.
$global_zones:: List of global zones to configure.
$ticket_salt:: Set an alternate ticket salt to icinga::ticket_salt from Hiera.
$web_api_pass:: Icinga API web user password.
$director_api_pass:: Icinga API director user password.
$logging_type:: Switch the log target.
$logging_level:: Set the log level.
The following parameters are available in the install::server
class:
Data type: Boolean
Default value: true
Data type: String
Default value: 'main'
Data type: Array[String]
Default value: ['linux-commands', 'windows-commands', 'global-templates', 'director-global']
Data type: String
Default value: $install::params::ticket_salt
Data type: String
Default value: $install::params::web_api_password
Data type: String
Default value: $install::params::director_api_password
Data type: Enum['file', 'syslog']
Default value: 'syslog'
Data type: Enum[ 'debug', 'information', 'notice', 'warning', 'critical' ]
Default value: 'critical'
Class to manage Icinga Web 2.
== Parameters:
== Icinga Web parameters:
$icingaweb:: Eanable/disable installation of Icinga Web.
=== IcingaWeb: condition: $icingaweb
$initial_admin_username:: Set initial admin username.
$initial_admin_password:: Set the inital password for the admin user.
$db_type:: Set Icinga Web database type.
$db_host:: Database host to connect.
$db_port:: Database port to connect.
$db_name:: Database to connect.
$db_username:: Account name to logon database.
$db_password:: Account password to logon database.
$create_database:: Enable initial creation of the database on this host.
$api_host:: Icinga API endpoint to send commands.
$api_password:: Icinga API password.
=== IcingaDB: condition: $icingadb
$icingadb_db_type:: Set IcingaDB backend database type.
$icingadb_db_host:: IcingaDB Database host to connect.
$icingadb_db_port:: IcingaDB database port to connect.
$icingadb_db_name:: IcingaDB database name.
$icingadb_db_username:: Account name to logon database.
$icingadb_db_password:: Account password to logon database.
$redis_host:: Redis host to connect.
$redis_port:: Redis port to connect.
$redis_password:: Password for Redis connection.
== Monitoring (IDO) parameters:
$ido:: Enable the deprecated IDO based monitoring module.
=== IDO: condition: $ido
$ido_db_type:: Set IDO backend database type.
$ido_db_host:: IDO database host to connect.
$ido_db_port:: IDO database port to connect.
$ido_db_name:: Name of the IDO database to connect.
$ido_db_username:: Account name to logon database.
$ido_db_password:: Account password to logon database.
$ido_create_database:: Enable initial creation of the database on this host.
== Director parameters:
$director:: Enable the Director module.
=== Director: condition: $director
$director_db_type:: Type of your database. Either mysql
or pgsql
.
$director_db_host:: Hostname of the database.
$director_db_port:: Port of the database.
$director_db_name:: Name of the database.
$director_db_username:: Username for DB connection.
$director_db_password:: Password for DB connection.
$director_endpoint:: Endpoint object name of Icinga 2 API.
$director_create_database:: Create database and import schema.
$director_api_host:: Icinga 2 API hostname.
$director_api_password:: Icinga 2 API password.
== Business Process parameters:
$business_process:: Enable the Business Process module.
== Reporting parameters:
$reporting:: Enable the Reporting module.
=== Reporting: condition: $reporting
$reporting_db_type:: Type of your database. Either mysql
or pgsql
.
$reporting_db_host:: Hostname of the database.
$reporting_db_port:: Port of the database.
$reporting_db_name:: Name of the database.
$reporting_db_username:: Username for DB connection.
$reporting_db_password:: Password for DB connection.
$reporting_create_database:: Create database and import schema.
$reporting_mail:: Mails are sent with this sender address.
The following parameters are available in the install::web
class:
icingaweb
initial_admin_username
initial_admin_password
db_type
db_host
db_port
db_name
db_username
db_password
create_database
api_host
api_password
icingadb_db_type
icingadb_db_host
icingadb_db_port
icingadb_db_name
icingadb_db_username
icingadb_db_password
redis_host
redis_port
redis_password
ido
ido_db_type
ido_db_host
ido_db_port
ido_db_name
ido_db_username
ido_db_password
ido_create_database
director
director_db_type
director_db_host
director_db_port
director_db_name
director_db_username
director_db_password
director_create_database
director_endpoint
director_api_host
director_api_password
business_process
reporting
reporting_db_type
reporting_db_host
reporting_db_port
reporting_db_name
reporting_db_username
reporting_db_password
reporting_create_database
reporting_mail
Data type: Boolean
Default value: false
Data type: String
Default value: 'icingaadmin'
Data type: String
Default value: $install::params::initial_admin_password
Data type: Enum['mysql', 'pgsql']
Default value: 'mysql'
Data type: Stdlib::Host
Default value: 'localhost'
Data type: Optional[Stdlib::Port]
Default value: undef
Data type: String
Default value: 'icingaweb2'
Data type: String
Default value: 'icingaweb2'
Data type: String
Default value: $install::params::web_db_password
Data type: Boolean
Default value: false
Data type: Stdlib::Host
Default value: 'localhost'
Data type: String
Default value: $install::params::web_api_password
Data type: Enum['mysql', 'pgsql']
Default value: 'mysql'
Data type: Stdlib::Host
Default value: 'localhost'
Data type: Optional[Stdlib::Port]
Default value: undef
Data type: String
Default value: 'icingadb'
Data type: String
Default value: 'icingadb'
Data type: String
Default value: $install::params::icingadb_db_password
Data type: Stdlib::Host
Default value: 'localhost'
Data type: Optional[Stdlib::Port]
Default value: undef
Data type: Optional['String']
Default value: undef
Data type: Boolean
Default value: false
Data type: Enum['mysql', 'pgsql']
Default value: 'mysql'
Data type: Stdlib::Host
Default value: 'localhost'
Data type: Optional[Stdlib::Port]
Default value: undef
Data type: String
Default value: 'icinga2'
Data type: String
Default value: 'icinga2'
Data type: String
Default value: $install::params::ido_db_password
Data type: Boolean
Default value: false
Data type: Boolean
Default value: false
Data type: Enum['mysql', 'pgsql']
Default value: 'mysql'
Data type: Stdlib::Host
Default value: 'localhost'
Data type: Optional[Stdlib::Port]
Default value: undef
Data type: String
Default value: 'director'
Data type: String
Default value: 'director'
Data type: String
Default value: $install::params::director_db_password
Data type: Boolean
Default value: false
Data type: String
Default value: $install::params::director_endpoint
Data type: Stdlib::Host
Default value: 'localhost'
Data type: String
Default value: $install::params::director_api_password
Data type: Boolean
Default value: false
Data type: Boolean
Default value: false
Data type: Enum['mysql', 'pgsql']
Default value: 'mysql'
Data type: Stdlib::Host
Default value: 'localhost'
Data type: Optional[Stdlib::Port]
Default value: undef
Data type: String
Default value: 'reporting'
Data type: String
Default value: 'reporting'
Data type: String
Default value: $install::params::reporting_db_password
Data type: Boolean
Default value: false
Data type: Optional[String]
Default value: undef
Class to install Icinga worker
Parameters:
$ca_server:: The CA to send the certificate request to.
$zone:: Name of the Icinga zone.
$parent_zone:: Name of the parent Icinga zone.
$parent_endpoints:: Configures these endpoints of the parent zone.
$global_zones:: List of global zones to configure.
$logging_type:: Switch the log target. Only file
is supported on Windows.
$logging_level:: Set the log level.
The following parameters are available in the install::worker
class:
Data type: Stdlib::Host
Data type: String
Data type: Hash[String, Hash]
Data type: String
Default value: 'main'
Data type: Array[String]
Default value: ['linux-commands', 'windows-commands', 'global-templates', 'director-global']
Data type: Enum['file', 'syslog']
Default value: 'syslog'
Data type: Enum[ 'debug', 'information', 'notice', 'warning', 'critical' ]
Default value: 'critical'