diff --git a/changelogs/fragments/icingadb-component-loglevel-config.yml b/changelogs/fragments/icingadb-component-loglevel-config.yml new file mode 100644 index 00000000..d5a6593c --- /dev/null +++ b/changelogs/fragments/icingadb-component-loglevel-config.yml @@ -0,0 +1,3 @@ +--- +minor_changes: + - provide component based log level setting in icingadb \ No newline at end of file diff --git a/doc/role-icingadb/role-icingadb.md b/doc/role-icingadb/role-icingadb.md index dce15d4a..8b2f4ecd 100644 --- a/doc/role-icingadb/role-icingadb.md +++ b/doc/role-icingadb/role-icingadb.md @@ -51,12 +51,27 @@ For more information on the respective settings please see [the official documen ### Logging configuration -For logging, currently only the **logging level** can be set. The default is `info`: - | Variable | Type | Description | Default | |----------|------|-------------|---------| | `icingadb_logging_level` | `fatal\|error\|warn\|info\|debug` | Defines the logging level for IcingaDB. | `info` | +#### Compont based log level +The following variables can be used to define special log levels for individual components. + +| Variable | Type | Description | Default | +|----------|------|-------------|---------| +| `icingadb_log_level_confic_sync` | `fatal\|error\|warn\|info\|debug` | log-level for component `config-sync` | value from `icingadb_logging_level`, `info` by default | +| `icingadb_log_level_database` | `fatal\|error\|warn\|info\|debug` | log-level for component `database` | value from `icingadb_logging_level`, `info` by default | +| `icingadb_log_level_dumps_ignals` | `fatal\|error\|warn\|info\|debug` | log-level for component `dump-signals` | value from `icingadb_logging_level`, `info` by default | +| `icingadb_log_level_confic_sync` | `fatal\|error\|warn\|info\|debug` | log-level for component `heartbeat` | value from `icingadb_logging_level`, `info` by default | +| `icingadb_log_level_high_availability` | `fatal\|error\|warn\|info\|debug` | log-level for component `high-availability` | value from `icingadb_logging_level`, `info` by default | +| `icingadb_log_level_history_sync` | `fatal\|error\|warn\|info\|debug` | log-level for component `history-sync` | value from `icingadb_logging_level`, `info` by default | +| `icingadb_log_level_overdue_sync` | `fatal\|error\|warn\|info\|debug` | log-level for component `overdue-sync` | value from `icingadb_logging_level`, `info` by default | +| `icingadb_log_level_redis` | `fatal\|error\|warn\|info\|debug` | log-level for component `redis` | value from `icingadb_logging_level`, `info` by default | +| `icingadb_log_level_retention` | `fatal\|error\|warn\|info\|debug` | log-level for component `retention` | value from `icingadb_logging_level`, `info` by default | +| `icingadb_log_level_runtime_updates` | `fatal\|error\|warn\|info\|debug` | log-level for component `runtime-updates` | value from `icingadb_logging_level`, `info` by default | +| `icingadb_log_level_telemetry` | `fatal\|error\|warn\|info\|debug` | log-level for component `telemetry` | value from `icingadb_logging_level`, `info` by default | + ### IcingaDB Retention | Variable | Type | Description | Default | diff --git a/roles/icingadb/templates/icingadb.ini.j2 b/roles/icingadb/templates/icingadb.ini.j2 index f00bf0d1..939f90cc 100644 --- a/roles/icingadb/templates/icingadb.ini.j2 +++ b/roles/icingadb/templates/icingadb.ini.j2 @@ -69,17 +69,39 @@ logging: # 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: +{% if icingadb_log_level_confic_sync is defined and icingadb_log_level_confic_sync in ['fatal','error','warn','info','debug'] %} + config-sync: {{ icingadb_log_level_confic_sync }} +{% endif %} +{% if icingadb_log_level_database is defined and icingadb_log_level_database in ['fatal','error','warn','info','debug'] %} + database: {{ icingadb_log_level_database }} +{% endif %} +{% if icingadb_log_level_dumps_ignals is defined and icingadb_log_level_dumps_ignals in ['fatal','error','warn','info','debug'] %} + dump-signals: {{ icingadb_log_level_dumps_ignals }} +{% endif %} +{% if icingadb_log_level_heartbeat is defined and icingadb_log_level_heartbeat in ['fatal','error','warn','info','debug'] %} + heartbeat: {{ icingadb_log_level_heartbeat }} +{% endif %} +{% if icingadb_log_level_high_availability is defined and icingadb_log_level_high_availability in ['fatal','error','warn','info','debug'] %} + high-availability: {{ icingadb_log_level_high_availability }} +{% endif %} +{% if icingadb_log_level_history_sync is defined and icingadb_log_level_history_sync in ['fatal','error','warn','info','debug'] %} + history-sync: {{ icingadb_log_level_history_sync }} +{% endif %} +{% if icingadb_log_level_overdue_sync is defined and icingadb_log_level_overdue_sync in ['fatal','error','warn','info','debug'] %} + overdue-sync: {{ icingadb_log_level_overdue_sync }} +{% endif %} +{% if icingadb_log_level_redis is defined and icingadb_log_level_redis in ['fatal','error','warn','info','debug'] %} + redis: {{ icingadb_log_level_redis }} +{% endif %} +{% if icingadb_log_level_retention is defined and icingadb_log_level_retention in ['fatal','error','warn','info','debug'] %} + retention: {{ icingadb_log_level_retention }} +{% endif %} +{% if icingadb_log_level_runtime_updates is defined and icingadb_log_level_runtime_updates in ['fatal','error','warn','info','debug'] %} + runtime-updates: {{ icingadb_log_level_runtime_updates }} +{% endif %} +{% if icingadb_log_level_telemetry is defined and icingadb_log_level_telemetry in ['fatal','error','warn','info','debug'] %} + telemetry: {{ icingadb_log_level_telemetry }} +{% endif %} # Retention is an optional feature to limit the number of days that historical data is available, # as no historical data is deleted by default.