master
md 176 lines 7.06 KB
Rendered Raw
1 <!--startmeta
2 custom_edit_url: "https://github.com/netdata/netdata/edit/master/docs/network-flows/installation.md"
3 sidebar_label: "Installation"
4 learn_status: "Published"
5 learn_rel_path: "Network Flows"
6 keywords: ['installation', 'package', 'netdata-plugin-netflow', 'setup']
7 endmeta-->
8
9 <!-- markdownlint-disable-file -->
10
11 # Installation
12
13 The netflow plugin is **packaged separately from the main Netdata Agent**. You install it on the same host where Netdata runs, after Netdata itself is in place.
14
15 The package name is **`netdata-plugin-netflow`** on both Debian and RPM distributions. It is not installed by the standard `netdata` package or by the netdata-updater on its own — you have to install it explicitly on native-package systems.
16
17 The static install (the kickstart `--static-only` path) bundles the plugin automatically. If you used the kickstart installer with the static option, no extra step is needed.
18
19 ## Prerequisites
20
21 - A working Netdata Agent on the host that will receive flow data.
22 - That host must be reachable on UDP from your routers and switches (default port `2055`).
23 - Linux. The plugin is Linux-only.
24
25 ## Install on Debian / Ubuntu / Mint
26
27 ```bash
28 sudo apt update
29 sudo apt install netdata-plugin-netflow
30 sudo systemctl restart netdata
31 ```
32
33 ## Install on RHEL / Fedora / CentOS / Rocky / Alma
34
35 ```bash
36 sudo dnf install netdata-plugin-netflow
37 sudo systemctl restart netdata
38 ```
39
40 (`yum install` works on older systems where `dnf` isn't present.)
41
42 ## Install on openSUSE
43
44 ```bash
45 sudo zypper install netdata-plugin-netflow
46 sudo systemctl restart netdata
47 ```
48
49 ## Static install (kickstart)
50
51 If you installed Netdata using:
52
53 ```bash
54 wget -O /tmp/netdata-kickstart.sh https://get.netdata.cloud/kickstart.sh && \
55 sh /tmp/netdata-kickstart.sh --static-only
56 ```
57
58 …the netflow plugin is already installed under `/opt/netdata/usr/libexec/netdata/plugins.d/netflow-plugin`. No extra step.
59
60 To verify:
61
62 ```bash
63 ls /opt/netdata/usr/libexec/netdata/plugins.d/netflow-plugin
64 ```
65
66 ## Source build
67
68 Building from source requires a Rust toolchain (rustc + cargo, version 1.83 or later). When CMake detects Rust, the plugin is built and installed alongside the rest of Netdata.
69
70 ```bash
71 git clone https://github.com/netdata/netdata.git
72 cd netdata
73 sudo ./netdata-installer.sh
74 ```
75
76 **Caveat:** source builds do **not** include the stock GeoIP / IP-intelligence database files. Packaged 32-bit installs ship the stock MMDB payload but do not include `topology-ip-intel-downloader`. The plugin starts fine without cache files, but country, city, and AS-name fields will be empty until you run the downloader once on an install that includes it:
77
78 ```bash
79 sudo /usr/sbin/topology-ip-intel-downloader
80 ```
81
82 This populates `/var/cache/netdata/topology-ip-intel/` with the DB-IP-based MMDB files. The plugin auto-detects the cache copy on its next 30-second poll. See the [Enrichment Intel Downloader page](/docs/network-flows/intel-downloader.md) for the refresh tool and the [DB-IP integration card](/src/crates/netflow-plugin/integrations/db-ip_ip_intelligence.md) for cadence and license details.
83
84 ## IP intelligence defaults
85
86 | Item | Behaviour |
87 |---|---|
88 | Native packages | Ship stock DB-IP ASN and Geo MMDB files under `/usr/share/netdata/topology-ip-intel/`. |
89 | Source builds | Do not include stock MMDB files; run the downloader once if you want GeoIP / ASN enrichment. |
90 | Fresh copies | The downloader writes to `/var/cache/netdata/topology-ip-intel/`, which takes precedence over the stock files. |
91 | Refresh schedule | Netdata does not install a timer or cron job for the downloader. Schedule it yourself if freshness matters. |
92
93 ## What gets installed
94
95 | Path | Purpose |
96 |---|---|
97 | `/usr/libexec/netdata/plugins.d/netflow-plugin` | The plugin binary (mode 0750, root:netdata) |
98 | `/usr/sbin/topology-ip-intel-downloader` | Helper for refreshing the GeoIP / IP-intel MMDBs; not included in packaged 32-bit installs |
99 | `/usr/lib/netdata/conf.d/netflow.yaml` | Stock configuration (read-only reference; copy to `/etc/netdata/netflow.yaml` to customise) |
100 | `/usr/lib/netdata/conf.d/topology-ip-intel.yaml` | IP-intel downloader configuration |
101 | `/usr/share/netdata/topology-ip-intel/topology-ip-asn.mmdb` | Stock ASN database (DB-IP) |
102 | `/usr/share/netdata/topology-ip-intel/topology-ip-geo.mmdb` | Stock geographic database (DB-IP) |
103
104 (Paths assume native packages. Static installs put everything under `/opt/netdata/`.)
105
106 ## Verify the plugin is running
107
108 After installation and restart:
109
110 ```bash
111 sudo journalctl --namespace netdata --since "5 minutes ago" | grep -E 'netflow|listener'
112 ```
113
114 You should see entries indicating that the plugin loaded its config and that the UDP listener bound to its port.
115
116 Quick sanity check:
117
118 ```bash
119 sudo ss -unlp | grep 2055
120 ```
121
122 A line for `netflow-plugin` confirms the listener is up.
123
124 ## Open Netdata to confirm
125
126 Open the Netdata UI in your browser. Click the **Live** tab in the top navigation; **Network Flows** appears in the Functions list on the right (see [Live tab](/docs/dashboards-and-charts/live-tab.md)). Selecting it opens the Sankey + Table view. The plugin's operational charts also appear under the standard charts page in the `netflow` family.
127
128 If Network Flows doesn't appear under Live, or the view is empty:
129
130 - Check that the plugin process is running: `pgrep -fa netflow-plugin`.
131 - Check Netdata Cloud SSO: Functions require authenticated access to the agent's space.
132 - See [Troubleshooting](/docs/network-flows/troubleshooting.md).
133
134 ## Configuring flow sources
135
136 Installing the plugin enables it. To actually see flow data, you need to configure a router, switch, or software exporter to send NetFlow / IPFIX / sFlow datagrams to this host's UDP port 2055.
137
138 That's the next step:
139
140 - [Quick Start](/docs/network-flows/quick-start.md) — A 15-minute path to your first flow data.
141 - [Flow Protocols / NetFlow](/src/crates/netflow-plugin/integrations/netflow.md) — Vendor configurations for NetFlow.
142 - [Flow Protocols / IPFIX](/src/crates/netflow-plugin/integrations/ipfix.md) — Vendor configurations for IPFIX.
143 - [Flow Protocols / sFlow](/src/crates/netflow-plugin/integrations/sflow.md) — Vendor configurations for sFlow.
144
145 ## Uninstall
146
147 ```bash
148 # Debian / Ubuntu
149 sudo apt remove netdata-plugin-netflow
150
151 # RHEL / Fedora / CentOS / Rocky / Alma
152 sudo dnf remove netdata-plugin-netflow
153
154 # openSUSE
155 sudo zypper remove netdata-plugin-netflow
156 ```
157
158 Remove the configuration if you also want to clean up:
159
160 ```bash
161 sudo rm /etc/netdata/netflow.yaml /etc/netdata/topology-ip-intel.yaml
162 ```
163
164 The flow journals at `/var/cache/netdata/flows/` and `/var/cache/netdata/topology-ip-intel/` are not removed by the package manager. Delete them manually if you want to reclaim the disk:
165
166 ```bash
167 sudo rm -rf /var/cache/netdata/flows /var/cache/netdata/topology-ip-intel
168 ```
169
170 (Warning: this deletes all your historical flow data.)
171
172 ## What's next
173
174 - [Quick Start](/docs/network-flows/quick-start.md) — Configure your first source and see traffic in the dashboard.
175 - [Configuration](/docs/network-flows/configuration.md) — Tune the listener, retention, and enrichment.
176 - [Troubleshooting](/docs/network-flows/troubleshooting.md) — When something doesn't work.