| 1 | # Configure Netdata Parents to centralize metrics |
| 2 | |
| 3 | ## How Metrics Centralization Works |
| 4 | |
| 5 | ```mermaid |
| 6 | flowchart BT |
| 7 | C1("**Netdata Child 1**<br/><br/>Production System") |
| 8 | C2("**Netdata Child 2**<br/><br/>Production System") |
| 9 | C3("**Netdata Child N**<br/><br/>Production System") |
| 10 | P1("**Netdata Parent 1**<br/><br/>Centralization Point") |
| 11 | C1 -->|stream| P1 |
| 12 | C2 -->|stream| P1 |
| 13 | C3 -->|stream| P1 |
| 14 | |
| 15 | %% Style definitions |
| 16 | classDef child fill:#ffeb3b,stroke:#000000,stroke-width:3px,color:#000000,font-size:16px |
| 17 | classDef parent fill:#4caf50,stroke:#000000,stroke-width:3px,color:#000000,font-size:16px |
| 18 | |
| 19 | %% Apply styles |
| 20 | class C1,C2,C3 child |
| 21 | class P1 parent |
| 22 | ``` |
| 23 | |
| 24 | ## Installation |
| 25 | |
| 26 | A **Netdata Parent** is a regular Netdata Agent configured to receive streaming metrics from Netdata Children (also normal Agents!). |
| 27 | |
| 28 | To install a Netdata Parent: |
| 29 | |
| 30 | 1. Install Netdata on your Parent node. |
| 31 | |
| 32 | For installation instructions, see the [Installation section](/packaging/installer/README.md). |
| 33 | |
| 34 | 2. After installation, configure `stream.conf` to enable reception from Children. |
| 35 | |
| 36 | See [Configuring Metrics Centralization Points](/docs/observability-centralization-points/metrics-centralization-points/configuration.md) for detailed configuration instructions. |
| 37 | |
| 38 | ## Key Features |
| 39 | |
| 40 | :::important |
| 41 | |
| 42 | **Netdata Streaming and Replication** |
| 43 | |
| 44 | Copies **recent past samples** (replication) and **real-time new samples** (streaming) from production systems (**Netdata Children**) to **metrics centralization points** (**Netdata Parents**). **Netdata Parents** store the database for these metrics based on **retention settings**. |
| 45 | |
| 46 | ::: |
| 47 | |
| 48 | ### How Your Systems Connect |
| 49 | |
| 50 | <details> |
| 51 | <summary><strong>Netdata Child Behavior</strong></summary><br/> |
| 52 | |
| 53 | - Each **Netdata Child** can stream to **only one** Netdata Parent at a time. |
| 54 | - Multiple **Netdata Parents** can be configured for **high availability**, but only the **first working one** will be used. |
| 55 | |
| 56 | <br/> |
| 57 | </details> |
| 58 | |
| 59 | <details> |
| 60 | <summary><strong>Netdata Parent Capabilities</strong></summary><br/> |
| 61 | |
| 62 | - Receives metric samples **from multiple Netdata Children**. |
| 63 | - Can **re-stream** received metrics to another **Netdata Parent**, forming an **infinite hierarchy** of Parents. |
| 64 | - Supports **Netdata Parents Clusters** for **high availability**. |
| 65 | |
| 66 | <br/> |
| 67 | </details> |
| 68 | |
| 69 | ## Feature Comparison |
| 70 | |
| 71 | | Feature | Netdata Child (Production System) | Netdata Parent (Centralization Point) | |
| 72 | |----------------------------|---------------------------------------------------|-------------------------------------------------------| |
| 73 | | **Metrics Retention** | Minimal retention; can use `ram` or `alloc` mode. | Stores metrics for all connected systems. | |
| 74 | | **Machine Learning** | Can be disabled (default: enabled). | Runs anomaly detection for all connected systems. | |
| 75 | | **Alerts & Notifications** | Can be disabled (default: enabled). | Monitors health and sends alerts for all systems. | |
| 76 | | **API & Dashboard** | Can be disabled (default: enabled). | Hosts the dashboard using its own retention settings. | |
| 77 | | **Exporting Metrics** | Optional (default: enabled). | Exports all collected metrics. | |
| 78 | | **Netdata Functions** | Child must be online to function. | Forwards function requests to connected Children. | |
| 79 | | **Netdata Cloud** | Not required. | Registers all connected systems to Netdata Cloud. | |
| 80 | |
| 81 | ## **Supported Configurations** |
| 82 | |
| 83 | ### **For Netdata Children** |
| 84 | |
| 85 | - **Full Mode (Default)**: |
| 86 | - All Netdata features are enabled (machine learning, alerts, notifications, dashboard, etc.). |
| 87 | - **Thin Mode**: |
| 88 | - Only collects and forwards metrics to a Parent. |
| 89 | - Some local retention is kept to handle network issues, but all other features are disabled. |
| 90 | |
| 91 | ### **For Netdata Parents** |
| 92 | |
| 93 | - **Standalone**: |
| 94 | - A single Parent in the infrastructure or the top-most Parent in a hierarchy. |
| 95 | - **Cluster**: |
| 96 | - A group of Parents that share the same data from the same Children. |
| 97 | - Provides **high availability**. |
| 98 | - **Proxy**: |
| 99 | - Stores received metrics locally and **forwards them** to a higher-level Parent (Grand Parent). |
| 100 | |
| 101 | ### **Cluster Configuration** |
| 102 | |
| 103 | - A Cluster consists of **circular Proxy nodes**, where each Parent acts as a Parent to the others. |
| 104 | - Only the **top level** of a multi-level hierarchy can be configured as a cluster. |
| 105 | |
| 106 | ## **Best Practices** |
| 107 | |
| 108 | For detailed guidelines, check [Best Practices for Observability Centralization Points](/docs/observability-centralization-points/best-practices.md). |
| 109 | |
| 110 | To understand how node connection states (Live, Stale, Offline) work with Parent-Child setups, see [Node States and Transitions](/docs/netdata-cloud/node-states-and-transitions.md). |