icingadb/config.example.yml
Alvar Penning 327862c4f2
Rename notifications-source to notifications
Drop the "-source" suffix from the configuration option. Furhtermore,
with the latest IGL release 0.8.1[0], the "api-base-url" is renamed to
just "url".

[0]: https://github.com/Icinga/icinga-go-library/pull/168
2025-11-17 09:22:37 +01:00

153 lines
6.2 KiB
YAML

# 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 username, requires a `password` being set as well.
# username:
# Authentication password. May be used alone or together with a `username`.
# password:
# Numerical database identifier, defaults to `0`.
# database: 0
# 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:
# Icinga DB can act as an event source for Icinga Notifications. If the following block is not empty, Icinga DB will
# submit events to the Icinga Notifications API.
#notifications:
# URL to the API root.
# url: http://localhost:5680
# Username to authenticate against the Icinga Notifications API.
# username: icingadb
# Password for the defined user.
# password: insecureinsecure