From 0f482d7bafcbcfd256e4b0b67f75fe8160756bdd Mon Sep 17 00:00:00 2001 From: David Mehren <git@herrmehren.de> Date: Wed, 3 Jul 2024 17:05:09 +0200 Subject: [PATCH] Use new tier-based dbengine config This might have an impact on disk usage for nodes with many incoming streams. --- defaults/main.yml | 10 ++++++++-- templates/netdata.conf.j2 | 20 +++++++++++++++++--- 2 files changed, 25 insertions(+), 5 deletions(-) diff --git a/defaults/main.yml b/defaults/main.yml index 9304b57..fae88a8 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -1,7 +1,5 @@ --- netdata_master: false -netdata_page_cache_size: 256 -netdata_dbengine_disk_space: 1024 netdata_health_configs: - apache.conf - go.d.plugin.conf @@ -13,3 +11,11 @@ netdata_disable_last_collected_alerts: false netdata_enable_ebpf: true netdata_use_msmtp: true netdata_global_health_override: "" + +# See https://learn.netdata.cloud/docs/netdata-agent/configuration/optimizing-metrics-database/change-how-long-netdata-stores-metrics#retention-settings +netdata_dbengine_tier0_disk_space: 0 +netdata_dbengine_tier0_retention_days: 14 +netdata_dbengine_tier1_disk_space: 0 +netdata_dbengine_tier1_retention_days: 90 +netdata_dbengine_tier2_disk_space: 0 +netdata_dbengine_tier2_retention_days: 730 diff --git a/templates/netdata.conf.j2 b/templates/netdata.conf.j2 index 8e72115..17a9a47 100644 --- a/templates/netdata.conf.j2 +++ b/templates/netdata.conf.j2 @@ -7,9 +7,23 @@ {% if netdata_cache_directory is defined %}cache directory = {{ netdata_cache_directory }}{% endif %} - memory mode = dbengine - page cache size = {{ netdata_page_cache_size }} - dbengine multihost disk space = {{ netdata_dbengine_disk_space }} +[db] + # https://learn.netdata.cloud/docs/netdata-agent/configuration/optimizing-metrics-database/change-how-long-netdata-stores-metrics#retention-settings + mode = dbengine + storage tiers = 3 + + # Tier 0, per second data + dbengine tier 0 disk space MB = {{ netdata_dbengine_tier0_disk_space }} + dbengine tier 0 retention days = {{ netdata_dbengine_tier0_retention_days }} + + # Tier 1, per minute data + dbengine tier 1 disk space MB = {{ netdata_dbengine_tier1_disk_space }} + dbengine tier 1 retention days = {{ netdata_dbengine_tier1_retention_days }} + + # Tier 2, per hour data + dbengine tier 2 disk space MB = {{ netdata_dbengine_tier2_disk_space }} + dbengine tier 2 retention days = {{ netdata_dbengine_tier2_retention_days }} + {% if ansible_os_family == 'Debian' %} [web] web files owner = root -- GitLab