You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Netdata provides real-time monitoring for various infrastructure types, from small IoT devices to complex hybrid environments that combine on-premise and cloud infrastructure. It supports bare-metal servers, virtual machines, and containers.
3
+
Get Netdata up and running in your infrastructure. Choose a deployment method that fits your needs.
4
4
5
-
## Core Components of a Netdata Deployment
5
+
## Quick Start
6
6
7
-
A Netdata deployment consists of three main components:
Netdata Agents collect real-time metrics from your infrastructure's physical or virtual nodes, including applications and containers running on them. They are open-source and licensed under GPL v3+.
13
+
:::
12
14
13
-
### 2. Netdata Parents
15
+
##Deployment Methods
14
16
15
-
Netdata Parents serve as central aggregation points for monitoring data. They help reduce the resource load on individual Netdata Agents, provide high availability for collected metrics, extend data retention, and enable better isolation of monitored nodes.
17
+
### Standalone
16
18
17
-
- Netdata Parents are built using the same Netdata Agent software.
18
-
- Any Netdata Agent can function as both an Agent for a node and a Parent for other Agents.
19
-
- Deploying multiple Netdata Parents ensures redundancy and seamless integration with Netdata Cloud.
19
+
Single Netdata Agent monitoring one system. Perfect for getting started or monitoring individual servers.
20
20
21
-
### 3. Netdata Cloud
21
+
**Best for:** Testing or simple single-server monitoring
22
22
23
-
Netdata Cloud is a SaaS platform that unifies all Netdata Agents and Parents into a distributed, scalable monitoring solution. It provides:
Netdata Agents offer a modular monitoring solution with capabilities that include:
29
+
The recommended production setup. Stream metrics from Child Agents to centralized Parent nodes for better data persistence and resource optimization.
34
30
35
-
- Extensive data collection through built-in plugins
36
-
- A high-performance time-series database optimized for real-time analytics
37
-
- A query engine for flexible data retrieval
38
-
- Integrated health monitoring and alerting
39
-
- Machine learning-based anomaly detection
40
-
- Exporting of metrics to third-party systems
31
+
**Best for:** Production environments of any size, high availability requirements
41
32
42
-
This structured deployment allows for scalable, efficient monitoring of any infrastructure, ensuring optimal performance and proactive issue resolution.
|**Production servers**|[Parent-Child](/docs/deployment-guides/deployment-with-centralization-points.md)| Best data persistence, resource optimization, and high availability |
62
+
|**Kubernetes**|[Helm Chart](https://github.com/netdata/helmchart#netdata-helm-chart-for-kubernetes-deployments)| Required for K8s API access and pod metadata collection |
63
+
|**Testing/Development**|[Standalone](/docs/deployment-guides/standalone-deployment.md) or [Docker](/packaging/docker/README.md)| Quick setup, easy to remove |
64
+
|**Single server**|[Standalone](/docs/deployment-guides/standalone-deployment.md) (upgrade to [Parent-Child](/docs/deployment-guides/deployment-with-centralization-points.md) later) | Start simple, upgrade when ready for production |
65
+
66
+
:::warning Important Notes
67
+
68
+
-**Kubernetes**: Always use our Helm chart. Direct host installation won't have access to K8s API for pod metadata and service discovery.
69
+
-**Docker**: Limited feature set compared to host installation. Best for testing, not recommended for production.
70
+
-**Production**: Parent-Child is recommended regardless of cluster size for better reliability and data persistence.
Copy file name to clipboardExpand all lines: docs/deployment-guides/deployment-strategies.md
+78-56Lines changed: 78 additions & 56 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,40 +1,40 @@
1
-
# Deployment Examples
1
+
# Configuration Examples
2
2
3
-
## Deployment Options Overview
3
+
These practical examples will help you optimize Netdata for various real-world deployment scenarios.
4
4
5
-
This section provides a quick overview of a few common deployment options for Netdata.
5
+
## Single Agent Configuration
6
6
7
-
You can read about [Standalone Deployment](/docs/deployment-guides/standalone-deployment.md) and [Deployment with Centralization Points](/docs/deployment-guides/deployment-with-centralization-points.md) in the documentation inside this section.
7
+
Single Agents work great out of the box with sensible defaults.
8
8
9
-
The sections below go into configuration examples about these deployment concepts.
9
+
:::tip
10
10
11
-
## Deployment Configuration Details
11
+
Check out our [configuration documentation](/docs/netdata-agent/configuration/README.md) for all available options.
12
12
13
-
### Stand-alone
13
+
:::
14
14
15
-
The stand-alone setup is configured out of the box with reasonable defaults, but please consult our [configuration documentation](/docs/netdata-agent/configuration/README.md) for more details.
15
+
## Parent-Child Configuration Examples
16
16
17
-
### Parent – Child
17
+
### Lightweight Child Configuration
18
18
19
-
For setups involving Parent and Child Agents, they need to be configured for [streaming](/docs/observability-centralization-points/metrics-centralization-points/configuration.md), through the configuration file `stream.conf`.
19
+
This example helps you make Children super lightweight by offloading work to Parents, minimizing resource usage on production systems.
20
20
21
-
This will instruct the Child to stream data to the Parent and the Parent to accept streaming connections for one or more Child Agents. To secure this connection, both need a shared API key (to replace the string `API_KEY` in the examples below). Additionally, the Child can be configured with one or more addresses of Parent Agents (`PARENT_IP_ADDRESS`).
21
+
<details>
22
+
<summary><strong>Click to see lightweight Child configuration</strong></summary><br/>
22
23
23
-
An API key is a key created with `uuidgen` and is used for authentication and/or customization on the Parent side. For example, a Child can stream using the API key, and a Parent can be configured to accept connections from the Child, but it can also apply different options for Children by using multiple different API keys. The easiest setup uses just one API key for all Child Agents.
24
+
**Why minimize Child footprint?**
25
+
We don't recommend connecting Children to Cloud directly. This reduces the Netdata Agent footprint on your production systems, as some capabilities can be switched OFF for the Child and kept ON for the Parent.
24
26
25
-
#### Child config
27
+
**What this does:**
26
28
27
-
As mentioned above, we do not recommend connecting the Child to Cloud directly during your setup.
29
+
- Stores metrics in RAM only (zero disk I/O)
30
+
- Disables machine learning (Parent handles it)
31
+
- Disables alerts (Parent handles them)
32
+
- Keeps only 20 minutes of data locally
33
+
- Restricts dashboard to localhost only
28
34
29
-
This is done to reduce the footprint of the Netdata Agent on your production system, as some capabilities can be switched OFF for the Child and kept ON for the Parent.
35
+
Edit `netdata.conf`on the Child using the [edit-config](/docs/netdata-agent/configuration/README.md#locate-your-config-directory) script:
30
36
31
-
In this example, Machine Learning and Alerting are disabled for the Child, so that the Parent can take the load. We also use RAM instead of disk to store metrics with limited retention, covering temporary network issues.
32
-
33
-
##### netdata.conf
34
-
35
-
On the child node, edit `netdata.conf` by using the [edit-config](/docs/netdata-agent/configuration/README.md#edit-a-configuration-file-using-edit-config) script and set the following parameters:
# none = no retention, ram = some retention in ram
@@ -60,11 +60,9 @@ On the child node, edit `netdata.conf` by using the [edit-config](/docs/netdata-
60
60
# enable running new plugins = no
61
61
```
62
62
63
-
##### stream.conf
63
+
Edit `stream.conf` on the Child using the [edit-config](/docs/netdata-agent/configuration/README.md#locate-your-config-directory) script:
64
64
65
-
To edit `stream.conf`, use again the [edit-config](/docs/netdata-agent/configuration/README.md#edit-a-configuration-file-using-edit-config) script and set the following parameters:
66
-
67
-
```text
65
+
```ini
68
66
[stream]
69
67
# Stream metrics to another Netdata
70
68
enabled = yes
@@ -74,38 +72,50 @@ To edit `stream.conf`, use again the [edit-config](/docs/netdata-agent/configura
74
72
api key = API_KEY
75
73
```
76
74
77
-
#### Parent config
75
+
**Perfect for:** IoT devices, containers, or any resource-constrained system.
76
+
77
+
</details><br/>
78
+
79
+
### Parent with Tiered Storage
78
80
79
-
For the Parent, besides setting up streaming, this example also provides configuration for multiple [tiers of metrics storage](/src/database/README.md#tiers), for 10 Children, with about 2k metrics each. This allows for:
81
+
This example helps you configure a Parent with intelligent storagetiers to store different time ranges at different resolutions.
80
82
81
-
- 1s granularity at tier 0 for 1 week
82
-
- 1m granularity at tier 1 for 1 month
83
-
- 1h granularity at tier 2 for 1 year
83
+
<details>
84
+
<summary><strong>Click to see Parent with tiered storage configuration</strong></summary><br/>
84
85
85
-
Requiring:
86
+
This example provides configuration for multiple [tiers of metrics storage](/src/database/README.md#tiers), for 10 Children with about 2k metrics each.
86
87
87
-
- 25GB of disk
88
-
- 3.5GB of RAM (2.5GB under pressure)
88
+
**What this gives you:**
89
89
90
-
##### netdata.conf
90
+
- 1-second resolution for 1 week (recent data at full detail)
91
+
- 1-minute resolution for 1 month (medium-term trends)
92
+
- 1-hour resolution for 1 year (long-term patterns)
91
93
92
-
On the Parent, edit `netdata.conf` by using the [edit-config](/docs/netdata-agent/configuration/README.md#edit-a-configuration-file-using-edit-config) script and set the following parameters:
94
+
**Resource requirements:**
93
95
94
-
```text
96
+
- Disk space: 25GB total
97
+
- RAM usage: 3.5GB typical (2.5GB under memory pressure)
98
+
99
+
Edit `netdata.conf` on the Parent using the [edit-config](/docs/netdata-agent/configuration/README.md#locate-your-config-directory) script:
100
+
101
+
```ini
95
102
[db]
96
103
mode = dbengine
97
104
dbengine tier backfill = new
98
105
storage tiers = 3
99
106
dbengine page cache size = 1.4GiB
107
+
100
108
# storage tier 0
101
109
update every = 1
102
-
dbengine tier 0 retention space = 12GiB
110
+
dbengine tier 0 retention size = 12GiB
111
+
103
112
# storage tier 1
104
113
dbengine tier 1 update every iterations = 60
105
-
dbengine tier 1 retention space = 4GiB
114
+
dbengine tier 1 retention size = 4GiB
115
+
106
116
# storage tier 2
107
117
dbengine tier 2 update every iterations = 60
108
-
dbengine tier 2 retention space = 2GiB
118
+
dbengine tier 2 retention size = 2GiB
109
119
[ml]
110
120
# Enabled by default
111
121
# enabled = yes
@@ -117,25 +127,36 @@ On the Parent, edit `netdata.conf` by using the [edit-config](/docs/netdata-agen
117
127
# bind to = *
118
128
```
119
129
120
-
##### stream.conf
130
+
Edit `stream.conf` on the Parent using the [edit-config](/docs/netdata-agent/configuration/README.md#locate-your-config-directory) script:
121
131
122
-
On the Parent node, edit `stream.conf` by using the [edit-config](/docs/netdata-agent/configuration/README.md#edit-a-configuration-file-using-edit-config) script and set the following parameters:
123
-
124
-
```yaml
132
+
```ini
125
133
[API_KEY]
126
-
# Accept metrics streaming from other Agents with the specified API key
127
-
enabled = yes
134
+
# Accept metrics streaming from other Agents with the specified API key
135
+
enabled = yes
128
136
```
129
137
130
-
### Active–Active Parents
138
+
**Perfect for:** Central monitoring servers with enough storage for historical data.
139
+
140
+
</details><br/>
141
+
142
+
### Active-Active Parents
143
+
144
+
This example guides you through setting up active-active Parents that sync with each other for high availability.
131
145
132
-
To set up active–active streaming between Parent 1 and Parent 2, Parent 1 needs to be instructed to stream data to Parent 2 and Parent 2 to stream data to Parent 1. The Child Agents need to be configured with the addresses of both Parent Agents. An Agent will only connect to one Parent at a time, falling back to the next upon failure. These examples use the same API key between Parent Agents and for connections for Child Agents.
146
+
<details>
147
+
<summary><strong>Click to see high availability configuration</strong></summary><br/>
133
148
134
-
On both Netdata Parent and all Child Agents, edit `stream.conf` by using the [edit-config](/docs/netdata-agent/configuration/README.md#edit-a-configuration-file-using-edit-config) script:
149
+
:::info
135
150
136
-
#### stream.conf on Parent 1
151
+
- To set up active-active streaming between Parent 1 and Parent 2, Parent 1 needs to be instructed to stream data to Parent 2 and Parent 2 to stream data to Parent 1.
137
152
138
-
```text
153
+
- The Child Agents need to be configured with the addresses of both Parent Agents. An Agent will only connect to one Parent at a time, falling back to the next upon failure.
154
+
155
+
:::
156
+
157
+
**Parent 1 stream.conf:**
158
+
159
+
```ini
139
160
[stream]
140
161
# Stream metrics to another Netdata
141
162
enabled = yes
@@ -146,12 +167,11 @@ On both Netdata Parent and all Child Agents, edit `stream.conf` by using the [ed
146
167
[API_KEY]
147
168
# Accept metrics streams from Parent 2 and Child Agents
148
169
enabled = yes
149
-
150
170
```
151
171
152
-
#### stream.conf on Parent 2
172
+
**Parent 2 stream.conf:**
153
173
154
-
```text
174
+
```ini
155
175
[stream]
156
176
# Stream metrics to another Netdata
157
177
enabled = yes
@@ -163,9 +183,9 @@ On both Netdata Parent and all Child Agents, edit `stream.conf` by using the [ed
163
183
enabled = yes
164
184
```
165
185
166
-
####stream.conf on Child Agents
186
+
**Children stream.conf:**
167
187
168
-
```text
188
+
```ini
169
189
[stream]
170
190
# Stream metrics to another Netdata
171
191
enabled = yes
@@ -175,6 +195,8 @@ On both Netdata Parent and all Child Agents, edit `stream.conf` by using the [ed
175
195
api key = API_KEY
176
196
```
177
197
198
+
</details><br/>
199
+
178
200
## Further Reading
179
201
180
202
We strongly recommend the following configuration changes for production deployments:
0 commit comments