Skip to content

Latest commit

 

History

History
1514 lines (701 loc) · 31.5 KB

REFERENCE.md

File metadata and controls

1514 lines (701 loc) · 31.5 KB

Reference

Table of Contents

Classes

  • install: Template class
  • install::agent: Class to install Icinga agent Parameters: $ca_server:: The CA to send the certificate request to. $parent_zone:: Name
  • install::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 s
  • install::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 s
  • install::server: Setup a Icinga server. == Parameters: $ca:: Enables a CA on this node. $zone:: Name of the Ici
  • install::web: Class to manage Icinga Web 2. == Parameters: == Icinga Web parameters: $icingaweb:: Eanable/disable insta
  • install::worker: Class to install Icinga worker Parameters: $ca_server:: The CA to send the certificate request to. $zone:: Name

Classes

install

Template class

install::agent

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.

Parameters

The following parameters are available in the install::agent class:

ca_server

Data type: Stdlib::Host

parent_endpoints

Data type: Hash[String, Hash]

parent_zone

Data type: String

Default value: 'main'

global_zones

Data type: Array[String]

Default value: ['linux-commands']

logging_type

Data type: Enum['file', 'syslog']

Default value: 'syslog'

logging_level

Data type: Enum[ 'debug', 'information', 'notice', 'warning', 'critical' ]

Default value: 'critical'

install::features

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.

Parameters

The following parameters are available in the install::features class:

graphite

Data type: Boolean

Default value: false

graphite_host

Data type: Stdlib::Host

Default value: 'localhost'

graphite_port

Data type: Stdlib::Port::Unprivileged

Default value: 2003

graphite_send_thresholds

Data type: Boolean

Default value: false

graphite_send_metadata

Data type: Boolean

Default value: false

influxdb2

Data type: Boolean

Default value: false

influxdb2_host

Data type: Stdlib::Host

Default value: 'localhost'

influxdb2_port

Data type: Stdlib::Port

Default value: 8086

influxdb2_bucket

Data type: String

Default value: 'icinga2'

influxdb2_organization

Data type: String

Default value: 'CHANGEME'

influxdb2_auth_token

Data type: String

Default value: 'CHANGEME'

influxdb2_send_thresholds

Data type: Boolean

Default value: false

influxdb2_send_metadata

Data type: Boolean

Default value: false

livestatus

Data type: Boolean

Default value: false

livestatus_socket_type

Data type: Enum['tcp', 'unix']

Default value: unix

livestatus_bind_host

Data type: Stdlib::Host

Default value: '127.0.0.1'

livestatus_bind_port

Data type: Stdlib::Port::Unprivileged

Default value: 6558

livestatus_socket_path

Data type: Stdlib::Absolutepath

Default value: '/var/run/icinga2/cmd/livestatus'

elasticsearch

Data type: Boolean

Default value: false

elastic_host

Data type: Stdlib::Host

Default value: 'localhost'

elastic_port

Data type: Stdlib::Port::Unprivileged

Default value: 9200

elastic_index

Data type: String

Default value: 'icinga2'

elastic_username

Data type: Optional[String]

Default value: undef

elastic_password

Data type: Optional[String]

Default value: undef

elastic_send_perfdata

Data type: Boolean

Default value: false

gelf

Data type: Boolean

Default value: false

gelf_host

Data type: Stdlib::Host

Default value: 'localhost'

gelf_port

Data type: Stdlib::Port::Unprivileged

Default value: 12201

gelf_source

Data type: String

Default value: 'icinga2'

gelf_send_perfdata

Data type: Boolean

Default value: false

install::icingadb

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.

Parameters

The following parameters are available in the install::icingadb class:

icingadb

Data type: Boolean

Default value: true

db_type

Data type: Enum['mysql', 'pgsql']

Default value: 'mysql'

db_host

Data type: Stdlib::Host

Default value: 'localhost'

db_port

Data type: Optional[Stdlib::Port]

Default value: undef

db_name

Data type: String

Default value: 'icingadb'

db_username

Data type: String

Default value: 'icingadb'

db_password

Data type: String

Default value: $install::params::icingadb_db_password

create_database

Data type: Boolean

Default value: false

db_accesses

Data type: Array[Stdlib::Host]

Default value: []

redis_host

Data type: Stdlib::Host

Default value: 'localhost'

redis_bind

Data type: Optional[Array[Stdlib::Host]]

Default value: undef

redis_port

Data type: Optional[Stdlib::Port]

Default value: undef

redis_password

Data type: Optional[String]

Default value: undef

create_redis

Data type: Boolean

Default value: true

install::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.

Parameters

The following parameters are available in the install::plugins class:

basic_plugins

Data type: Variant[String, Array[String]]

Default value: $install::params::basic_plugins

install::repos

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.

Parameters

The following parameters are available in the install::repos class:

manage_stable

Data type: Boolean

Default value: true

manage_testing

Data type: Boolean

Default value: false

manage_nightly

Data type: Boolean

Default value: false

configure_backports

Data type: Boolean

Default value: $install::params::configure_backports

manage_epel

Data type: Boolean

Default value: $install::params::manage_epel

manage_plugins

Data type: Boolean

Default value: true

manage_extras

Data type: Boolean

Default value: true

install::server

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.

Parameters

The following parameters are available in the install::server class:

ca

Data type: Boolean

Default value: true

zone

Data type: String

Default value: 'main'

global_zones

Data type: Array[String]

Default value: ['linux-commands', 'windows-commands', 'global-templates', 'director-global']

ticket_salt

Data type: String

Default value: $install::params::ticket_salt

web_api_pass

Data type: String

Default value: $install::params::web_api_password

director_api_pass

Data type: String

Default value: $install::params::director_api_password

logging_type

Data type: Enum['file', 'syslog']

Default value: 'syslog'

logging_level

Data type: Enum[ 'debug', 'information', 'notice', 'warning', 'critical' ]

Default value: 'critical'

install::web

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.

Parameters

The following parameters are available in the install::web class:

icingaweb

Data type: Boolean

Default value: false

initial_admin_username

Data type: String

Default value: 'icingaadmin'

initial_admin_password

Data type: String

Default value: $install::params::initial_admin_password

db_type

Data type: Enum['mysql', 'pgsql']

Default value: 'mysql'

db_host

Data type: Stdlib::Host

Default value: 'localhost'

db_port

Data type: Optional[Stdlib::Port]

Default value: undef

db_name

Data type: String

Default value: 'icingaweb2'

db_username

Data type: String

Default value: 'icingaweb2'

db_password

Data type: String

Default value: $install::params::web_db_password

create_database

Data type: Boolean

Default value: false

api_host

Data type: Stdlib::Host

Default value: 'localhost'

api_password

Data type: String

Default value: $install::params::web_api_password

icingadb_db_type

Data type: Enum['mysql', 'pgsql']

Default value: 'mysql'

icingadb_db_host

Data type: Stdlib::Host

Default value: 'localhost'

icingadb_db_port

Data type: Optional[Stdlib::Port]

Default value: undef

icingadb_db_name

Data type: String

Default value: 'icingadb'

icingadb_db_username

Data type: String

Default value: 'icingadb'

icingadb_db_password

Data type: String

Default value: $install::params::icingadb_db_password

redis_host

Data type: Stdlib::Host

Default value: 'localhost'

redis_port

Data type: Optional[Stdlib::Port]

Default value: undef

redis_password

Data type: Optional['String']

Default value: undef

ido

Data type: Boolean

Default value: false

ido_db_type

Data type: Enum['mysql', 'pgsql']

Default value: 'mysql'

ido_db_host

Data type: Stdlib::Host

Default value: 'localhost'

ido_db_port

Data type: Optional[Stdlib::Port]

Default value: undef

ido_db_name

Data type: String

Default value: 'icinga2'

ido_db_username

Data type: String

Default value: 'icinga2'

ido_db_password

Data type: String

Default value: $install::params::ido_db_password

ido_create_database

Data type: Boolean

Default value: false

director

Data type: Boolean

Default value: false

director_db_type

Data type: Enum['mysql', 'pgsql']

Default value: 'mysql'

director_db_host

Data type: Stdlib::Host

Default value: 'localhost'

director_db_port

Data type: Optional[Stdlib::Port]

Default value: undef

director_db_name

Data type: String

Default value: 'director'

director_db_username

Data type: String

Default value: 'director'

director_db_password

Data type: String

Default value: $install::params::director_db_password

director_create_database

Data type: Boolean

Default value: false

director_endpoint

Data type: String

Default value: $install::params::director_endpoint

director_api_host

Data type: Stdlib::Host

Default value: 'localhost'

director_api_password

Data type: String

Default value: $install::params::director_api_password

business_process

Data type: Boolean

Default value: false

reporting

Data type: Boolean

Default value: false

reporting_db_type

Data type: Enum['mysql', 'pgsql']

Default value: 'mysql'

reporting_db_host

Data type: Stdlib::Host

Default value: 'localhost'

reporting_db_port

Data type: Optional[Stdlib::Port]

Default value: undef

reporting_db_name

Data type: String

Default value: 'reporting'

reporting_db_username

Data type: String

Default value: 'reporting'

reporting_db_password

Data type: String

Default value: $install::params::reporting_db_password

reporting_create_database

Data type: Boolean

Default value: false

reporting_mail

Data type: Optional[String]

Default value: undef

install::worker

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.

Parameters

The following parameters are available in the install::worker class:

ca_server

Data type: Stdlib::Host

zone

Data type: String

parent_endpoints

Data type: Hash[String, Hash]

parent_zone

Data type: String

Default value: 'main'

global_zones

Data type: Array[String]

Default value: ['linux-commands', 'windows-commands', 'global-templates', 'director-global']

logging_type

Data type: Enum['file', 'syslog']

Default value: 'syslog'

logging_level

Data type: Enum[ 'debug', 'information', 'notice', 'warning', 'critical' ]

Default value: 'critical'