@cryptotaxi247 / netdata / commits / d9758a2de

Update best-practices.md (#20984)

Co-authored-by: ilyam8 <ilya@netdata.cloud>

Kanela committed Sep 19, 2025 at 00:27 UTC d9758a2de1bd0b59218088a9a2b9b1747e2d7dbd
1 file changed +148 -60
docs/observability-centralization-points/best-practices.md
+148 -60
@@ -1,29 +1,24 @@
1 # Parent Configuration Best Practices
2
3 +A Parent node is a Netdata Agent configured to receive metrics from multiple Child nodes. It acts as the central long-term storage layer, providing a unified view, longer retention, and high availability when used with replication.
4 +
5 ## Critical Factors to Consider
6
7 When setting up Parents, consider the following:
8
7 -| Factor | Description | Impact |
8 -|---------------------------------------------|--------------------------------------|-----------------------------------------------------------------------------------------------|
9 -| **System Volume** | The number of monitored systems | Larger infrastructures may need multiple Parents to maintain performance |
10 -| **Data Transfer Costs** | Bandwidth usage between environments | Strategic placement reduces egress bandwidth costs in multi-cloud or hybrid environments |
11 -| **Usability Without Netdata Cloud** | Standalone operation considerations | Fewer Parents simplifies access and management |
12 -| **Optimized Deployment with Netdata Cloud** | Cloud integration benefits | Provides complete infrastructure view with optimized security, cost, and operational controls |
9 +| Factor | Description | Impact |
10 +|---------------------------------------------|--------------------------------------|--------------------------------------------------------------------------------------------------|
11 +| **System Volume** | The number of monitored systems | Larger infrastructures may need multiple Parents to maintain performance |
12 +| **Data Transfer Costs** | Bandwidth usage between environments | Strategic placement reduces egress bandwidth costs in multi-cloud or hybrid environments |
13 +| **Usability Without Netdata Cloud** | Standalone operation considerations | Fewer Parents simplifies access and management |
14 +| **Optimized Deployment with Netdata Cloud** | Cloud integration benefits | Provides complete infrastructure view with optimized security, cost, and operational controls |
15 +| **Data Retention & Metric Volume** | Disk planning for Parent nodes | Estimate disk needs based on total metrics streamed from children and configured retention tiers |
16
14 -<details>
15 -<summary><strong>Click to see deployment optimization factors</strong></summary><br/>
17 +## Deployment Optimization Factors
18
19 ```mermaid
20 flowchart TB
19 - A[A]
20 - B[B]
21 - C[C]
22 - D[D]
23 - B1[B1]
24 - C1[C1]
25 - D1[D1]
26 - A("**Optimized Deployment**<br/>with Netdata Cloud")
21 + A("Optimized Deployment<br/>with Netdata Cloud")
22 B("Security")
23 C("Cost")
24 D("Operational Needs")
@@ -36,18 +31,122 @@ flowchart TB
31 B --> B1
32 C --> C1
33 D --> D1
39 - classDef default fill: #f9f9f9, stroke: #333, stroke-width: 2px, color: #2c3e50, rx: 10, ry: 10
40 - classDef factors fill: #e8f5e8, stroke: #27ae60, stroke-width: 2px, color: #2c3e50, rx: 10, ry: 10
41 - class A default
42 - class B factors
43 - class C factors
44 - class D factors
45 - class B1 factors
46 - class C1 factors
47 - class D1 factors
34 + classDef alert fill: #ffeb3b, stroke: #000000, stroke-width: 3px, color: #000000
35 + classDef neutral fill: #f9f9f9, stroke: #000000, stroke-width: 3px, color: #000000
36 + classDef complete fill: #4caf50, stroke: #000000, stroke-width: 3px, color: #000000
37 + class A neutral
38 + class B complete
39 + class C complete
40 + class D complete
41 + class B1 complete
42 + class C1 complete
43 + class D1 complete
44 ```
45
50 -</details><br/>
46 +## Critical Retention Configuration
47 +
48 +:::warning
49 +
50 +**Default retention settings will not work for production.** Netdata defaults to 1GB space limit per tier with combined time/space retention. You'll hit the 1GB limit within hours or days, causing data loss much sooner than your configured time limits.
51 +
52 +**You must configure retention properly before deployment.**
53 +
54 +:::
55 +
56 +### Choosing Your Retention Strategy
57 +
58 +Netdata supports three retention strategies. Choose the one that best fits your environment:
59 +
60 +1. **Time-based retention** (recommended for predictable retention periods):
61 +
62 + Guarantees data is kept for a fixed time, regardless of disk usage (assuming you have enough disk space)
63 + ```ini
64 + [db]
65 + dbengine tier 0 retention time = 30d
66 + dbengine tier 0 retention size = 0
67 + dbengine tier 1 retention time = 6mo
68 + dbengine tier 1 retention size = 0
69 + dbengine tier 2 retention time = 5y
70 + dbengine tier 2 retention size = 0
71 + ```
72 +
73 +2. **Space-based retention** (recommended for predictable disk usage):
74 +
75 + Guarantees storage usage stays within defined limits, at the cost of variable retention duration.
76 + ```ini
77 + [db]
78 + dbengine tier 0 retention size = 500GB
79 + dbengine tier 0 retention time = 0
80 + dbengine tier 1 retention size = 200GB
81 + dbengine tier 1 retention time = 0
82 + dbengine tier 2 retention size = 100GB
83 + dbengine tier 2 retention time = 0
84 + ```
85 +
86 +3. **Combined retention** (use with caution):
87 +
88 + Uses both time and space limits. Data is dropped as soon as either limit is reached.
89 + ```ini
90 + [db]
91 + dbengine tier 0 retention time = 30d
92 + dbengine tier 0 retention size = 500GB # Must be large enough to hold 30 days of data!
93 + dbengine tier 1 retention time = 6mo
94 + dbengine tier 1 retention size = 200GB # Must be large enough to hold 6 months of data!
95 + dbengine tier 2 retention time = 5y
96 + dbengine tier 2 retention size = 100GB # Must be large enough to hold 5 years of data!
97 + ```
98 +
99 +:::tip
100 +
101 +- For Parent nodes with millions of metrics, expect to allocate 100GB-1TB+ per tier.
102 +- Setting `retention size = 0` means unlimited space (not zero space). This works well with time-based retention if you have sufficient disk capacity.
103 +- Always validate retention sizing in staging before production to avoid premature data loss.
104 +
105 +:::
106 +
107 +## Estimating Disk Retention by Metric Volume on Parent Nodes
108 +
109 +Parent nodes are the central long-term storage layer in a Netdata infrastructure. They receive all metrics streamed from children and store them according to tiered retention settings.
110 +
111 +| Tier | Sample Resolution | Typical Compressed Size per Sample |
112 +|--------|------------------------------------|------------------------------------|
113 +| Tier 0 | per second (native) | ~0.6 B / sample |
114 +| Tier 1 | per minute (60× aggregate) | ~6 B / sample |
115 +| Tier 2 | per hour (60× aggregate of Tier 1) | ~18 B / sample |
116 +
117 +### Example Calculation
118 +
119 +Assume a Parent configured with:
120 +
121 +* **Tier 0:** 30 days retention (per-second resolution)
122 +* **Tier 1:** 6 months retention (per-minute resolution)
123 +* **Tier 2:** 5 years retention (per-hour resolution)
124 +
125 +One metric would consume approximately **3.7 MB** across tiers.
126 +For **1,000,000 metrics streamed to the Parent**, this equals **≈ 3.7 TB**.
127 +
128 +Adding 5–15% overhead for replication buffers, indexes, and metadata, plan for **≈ 4 TB per million metrics** under this retention policy.
129 +
130 +### Configuration Example for Production Deployments
131 +
132 +```ini
133 +[db]
134 + mode = dbengine
135 + update every = 1
136 + storage tiers = 3
137 +
138 + # Tier 0: per-second data for 30 days
139 + dbengine tier 0 retention time = 30d
140 + # No size limit - let time control retention
141 +
142 + # Tier 1: per-minute data for 6 months
143 + dbengine tier 1 update every iterations = 60
144 + dbengine tier 1 retention time = 6mo
145 +
146 + # Tier 2: per-hour data for 5 years
147 + dbengine tier 2 update every iterations = 60
148 + dbengine tier 2 retention time = 5y
149 +```
150
151 ## Cost Optimization Strategies
152
@@ -59,22 +158,11 @@ Netdata helps you keep observability efficient and cost-effective:
158 | **Use Existing Resources** | Leverage spare capacity | Minimize additional hardware costs by using available resources |
159 | **Centralized or Separate Logs & Metrics** | Choose storage approach based on needs | Optimize based on access patterns, retention policies, and compliance requirements |
160 | **Flexible Configuration Management** | Customize each Parent | Control costs with unique retention and alert settings tailored for different teams or services |
62 -
63 -<details>
64 -<summary><strong>Click to see cost optimization strategies</strong></summary><br/>
161 +| **Right-size Retention Based on Metrics** | Tune tier retention and sampling | Directly control disk cost by shortening or lengthening retention tiers where appropriate |
162
163 ```mermaid
164 flowchart TB
68 - A[A]
69 - B[B]
70 - C[C]
71 - D[D]
72 - E[E]
73 - B1[B1]
74 - C1[C1]
75 - D1[D1]
76 - E1[E1]
77 - A("**Cost Optimization**<br/>Strategies")
165 + A("Cost Optimization<br/>Strategies")
166 B("Scale Out")
167 C("Use Existing<br/>Resources")
168 D("Centralized or<br/>Separate Logs & Metrics")
@@ -91,33 +179,33 @@ flowchart TB
179 C --> C1
180 D --> D1
181 E --> E1
94 - classDef default fill: #f9f9f9, stroke: #333, stroke-width: 2px, color: #2c3e50, rx: 10, ry: 10
95 - classDef strategies fill: #e8f5e8, stroke: #27ae60, stroke-width: 2px, color: #2c3e50, rx: 10, ry: 10
96 - class A default
97 - class B strategies
98 - class C strategies
99 - class D strategies
100 - class E strategies
101 - class B1 strategies
102 - class C1 strategies
103 - class D1 strategies
104 - class E1 strategies
182 + classDef alert fill: #ffeb3b, stroke: #000000, stroke-width: 3px, color: #000000
183 + classDef neutral fill: #f9f9f9, stroke: #000000, stroke-width: 3px, color: #000000
184 + classDef complete fill: #4caf50, stroke: #000000, stroke-width: 3px, color: #000000
185 + class A neutral
186 + class B complete
187 + class C complete
188 + class D complete
189 + class E complete
190 + class B1 complete
191 + class C1 complete
192 + class D1 complete
193 + class E1 complete
194 ```
195
107 -</details><br/>
108 -
196 ## Advantages of Netdata's Approach
197
198 Netdata provides several benefits over other observability solutions:
199
113 -| Advantage | Description | Value |
114 -|----------------------------------|--------------------------------------------|-----------------------------------------------------------------------|
115 -| **Scalability & Flexibility** | Multiple independent Parents | Customized observability by region, service, or team |
116 -| **Resilience & Reliability** | Built-in replication | Observability continues even if a Parent fails |
117 -| **Optimized Cost & Performance** | Distributed workloads | Prevents bottlenecks and improves resource efficiency |
118 -| **Ease of Use** | Minimal setup and maintenance | Reduces complexity and operational overhead |
119 -| **On-Prem Control** | Data remains within your infrastructure | Enhanced security and compliance, even when using Netdata Cloud |
120 -| **Comprehensive Observability** | Segmented infrastructure with unified view | Deep visibility with tailored retention, alerts, and machine learning |
200 +| Advantage | Description | Value |
201 +|-----------------------------------|--------------------------------------------|-----------------------------------------------------------------------|
202 +| **Scalability & Flexibility** | Multiple independent Parents | Customized observability by region, service, or team |
203 +| **Resilience & Reliability** | Built-in replication | Observability continues even if a Parent fails |
204 +| **Optimized Cost & Performance** | Distributed workloads | Prevents bottlenecks and improves resource efficiency |
205 +| **Ease of Use** | Minimal setup and maintenance | Reduces complexity and operational overhead |
206 +| **On-Prem Control** | Data remains within your infrastructure | Enhanced security and compliance, even when using Netdata Cloud |
207 +| **Comprehensive Observability** | Segmented infrastructure with unified view | Deep visibility with tailored retention, alerts, and machine learning |
208 +| **Predictable Capacity Planning** | Published per-metric storage cost | Allows accurate disk and hardware sizing for Parents |
209
210 :::tip
211