# This is the configuration file for Icinga DB. # Connection configuration for the database to which Icinga DB synchronizes monitoring data. # This is also the database used in Icinga DB Web to view and work with the data. # In high availability setups, all Icinga DB instances must write to the same database. database: # Database type. Either 'mysql' for MySQL or 'pgsql' for PostgreSQL. # Defaults to 'mysql'. # type: mysql # Database host or absolute Unix socket path. host: localhost # Database port. By default, the MySQL or PostgreSQL port, depending on the database type. # port: # Database name. database: icingadb # Database user. user: icingadb # Database password. password: CHANGEME # List of low-level database options that can be set to influence some Icinga DB internal default behaviours. # Do not change the defaults if you don't have to! # options: # Maximum number of connections Icinga DB is allowed to open in parallel to the database. # By default, Icinga DB is allowed to open up to "16" connections whenever necessary. # Setting this to a number less than or equal to "-1" allows Icinga DB to open an unlimited number of connections. # However, it is not possible to set this option to "0". # max_connections: 16 # Maximum number of queries allowed to connect to a single database table simultaneously. # By default, Icinga DB is allowed to execute up to "8" queries of any kind, e.g. INSERT,UPDATE,DELETE # concurrently on a given table. # It is not possible to set this option to a smaller number than "1". # max_connections_per_table: 8 # Maximum number of placeholders Icinga DB is allowed to use for a single SQL statement. # By default, Icinga DB uses up to "8192" placeholders when necessary, which showed the # best performance in terms of execution time and parallelism in our tests. # It is not possible to set this option to a smaller number than "1". # max_placeholders_per_statement: 8192 # Maximum number of rows Icinga DB is allowed to select, delete, update or insert in a single transaction. # By default, Icinga DB selects,deletes,updates,inserts up to "8192" rows in a single transaction, which showed # the best performance in terms of execution time and parallelism in our tests. # It is not possible to set this option to a smaller number than "1". # max_rows_per_transaction: 8192 # Enforce Galera cluster nodes to perform strict cluster-wide causality checks before executing # specific SQL queries determined by the number you provided. # Note: You can only set this option to a number "0 - 15". # Defaults to 7. # See https://icinga.com/docs/icinga-db/latest/doc/03-Configuration/#galera-cluster # wsrep_sync_wait: 7 # Connection configuration for the Redis® server where Icinga 2 writes its configuration, state and history items. # This is the same connection as configured in the 'icingadb' feature of the corresponding Icinga 2 node. # High availability setups require a dedicated Redis® server per Icinga 2 node and # therefore a dedicated Icinga DB instance that connects to it. redis: # Host name or address, or absolute Unix socket path. host: localhost # TCP port. # Defaults to '6380' as the Redis® open source server provided by the 'icingadb-redis' package listens on that port. # port: 6380 # Authentication password. # password: # Icinga DB logs its activities at various severity levels and any errors that occur either # on the console or in systemd's journal. The latter is used automatically when running under systemd. # In any case, the default log level is 'info'. #logging: # Default logging level. Can be set to 'fatal', 'error', 'warn', 'info' or 'debug'. # If not set, defaults to 'info'. # level: info # Logging output. Can be set to 'console' (stderr) or 'systemd-journald'. # If not set, logs to systemd-journald when running under systemd, otherwise stderr. # output: # Interval for periodic logging defined as duration string. # A duration string is a sequence of decimal numbers and a unit suffix, such as "20s". # Valid units are "ms", "s", "m", "h". # Defaults to "20s". # interval: 20s # Map of component-logging level pairs to define a different log level than the default value for each component. # options: # config-sync: # database: # dump-signals: # heartbeat: # high-availability: # history-sync: # overdue-sync: # redis: # retention: # runtime-updates: # telemetry: # Retention is an optional feature to limit the number of days that historical data is available, # as no historical data is deleted by default. #retention: # Number of days to retain full historical data. By default, historical data is retained forever. # history-days: # Number of days to retain historical data for SLA reporting. By default, it is retained forever. # sla-days: # Interval for periodically cleaning up the historical data, defined as a duration string. # A duration string is a sequence of decimal numbers and a unit suffix, such as "20s". # Valid units are "ms", "s", "m", "h". # Defaults to "1h". # interval: 1h # Number of old historical entries a single query can delete in a "DELETE FROM ... LIMIT count" manner. # By default, this is limited to 5000 entries. # count: 5000 # Map of history category to number of days to retain its data in order to # enable retention only for specific categories or to # override the number that has been configured in history-days. # options: # acknowledgement: # comment: # downtime: # flapping: # notification: # state: