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