The home network is the quietest part of a smart home: it just works, until it does not. A router that burns CPU, a Wi-Fi client dropping to a galaxy far far away, an IoT device phoning a server in another country all hide in plain sight. Zabbix sees them.
This guide is the network lane of the home monitoring guide series and it maps to the router hardware I actually run: an ASUS RT-AX68U on Asuswrt-Merlin and, since that one started limping, an affordable ASUS RT-AX59U on OpenWrt.
Why monitor your home network at all?
Because the network is the one layer everything else depends on. When the router CPU mysteriously spiked after a firmware update, Zabbix showed it before I felt it, and monitoring the running processes pointed the finger at the ad-blocker (part 121). The same dashboard habit means you notice a dying ISP link, a chatty TV or a honeypot under attack before your family does.
Monitor your home router itself
My older router runs the Zabbix agent through Asuswrt-Merlin's Entware, and the newer one through OpenWrt's package manager: opkg install zabbix-agentd and you are done. The OpenWrt port even ships a zabbix-extra-wifi package that gives a whole set of useful Wi-Fi metrics out of the box, and the companion post shows I ported the per-device statistics over too. On the older firmware the processes by Zabbix agent template catches which process munches the CPU.
Wi-Fi signal strength, device by device
Signal strength is the metric you feel as 'the kitchen is a dead zone'. My method, from part 113: a shell script on the router runs every minute, uses wl -i assoclist to list connected MACs and their RSSI, converts MACs to hostnames via the dnsmasq leases file, and writes /tmp/rssi.txt which the Zabbix agent picks up. RSSI in dBm is easy to read: around -50 is excellent, -70 is adequate, -80 is marginal. Over time the graphs tell you exactly which rooms deserve a better access point.
Traffic and NetFlow
Flow data answers 'what is that device talking to?'. On the Asuswrt-Merlin router I installed softflowd as a command-line package, pointed it at an ELK stack with ElastiFlow, and watched the flows land in minutes (part 36). The value is not the geek factor: part 38 shows our Samsung TV, pingable only in short bursts, calling home to various countries while we slept. NetFlow is how you see the invisible chatter of IoT, and Gandhi the cat approves. Grafana renders it beautifully with the Sankey and world-map panels.
DNS and the services on your network
Zabbix 7.0 brought the fancy DNS items (net.dns.perf and net.dns.record) and even overkill coverage of 73 DNS record types (part 58). Set up for my global probe job in part 70, the pair gives you resolver performance on one line and the resolved answer on the other, so DNS breakage is a widget away.
Global availability from a single home router
You do not need cloud probes to know your site is reachable around the world. As a paying Proton customer I downloaded OpenVPN profiles for five countries, imported them on the router, pointed Zabbix agents at them, and got HTTP availability monitoring from Australia, Brazil, Latvia, South Africa and the USA (part 68, all without the request volume a free synthetic-monitoring tier would hammer the site with). Add mtr-based traceroute on the same probe hosts (part 69), and you can watch the exact hop where connectivity changes.
Remote access: Tailscale
My ISP does not open ports to the outside, which is how I like it. Tailscale gives me a private mesh network I can reach from any device, and I wanted to monitor whether my devices actually stay connected (part 140). The trick is tailscale status --json: machine-readable Online/LastSeen fields feed a Zabbix template, with LLD discovery of every peer, an information alert when a host goes offline, and a high alert when a brand-new device joins your network.
The harder-to-reach corners: powerline, garage, hotel
When Wi-Fi will not cross to the garage, powerline adapters carry the traffic over the electrical cabling, and those deserve monitoring too. With a TP-Link pair I used pla-util get-network-stats plus a cron zabbix_sender one-liner to log PHY speeds and latency (part 136). On the road, the same Zabbix agent patterns monitor hotel Wi-Fi quality and, eventually, entire Summit networks (part 129 and the results).
Securing your home monitoring
Once your router and network are visible in Zabbix, make the whole thing hard to hack: keep software updated, use ssh keys and strong passwords, monitor your logs, and consider a HA node (part 48). A network you watch is a network you can catch being attacked, which is exactly what the Cowrie honeypot monitoring is for.
Frequently asked questions
Can Zabbix monitor my home router?
Yes, without scripts. Asuswrt-Merlin ships Entware with a Zabbix agent package, and OpenWrt has opkg install zabbix-agentd. OpenWrt even adds a zabbix-extra-wifi package with ready-made Wi-Fi metrics. After that, every normal host item (CPU, memory, interfaces) just works.
How do I monitor Wi-Fi signal strength with Zabbix?
Let the router do the math. A shell script using the wl assoclist and rssi commands writes /tmp/rssi.txt every minute, and the Zabbix agent reads the file. You get the approach and the ready script in part 113, including how to resolve MACs to hostnames from the dnsmasq leases file.
Do I need NetFlow at home?
You do not need it, but it is the only way to see what your devices talk to outside the house. softflowd on an Asuswrt-Merlin router plus ElastiFlow gives flows within minutes, and it is how I caught our TV phoning various countries while we slept.
How do I check my site's availability from outside my own network?
Use synthetic probes over VPN tunnels on your router. I imported Proton VPN OpenVPN profiles for five countries, ran Zabbix agents behind them, and got HTTP checks, DNS checks and mtr traceroutes from around the world at a sane request rate. Part 68, part 69 and part 70 build this up step by step.
What is the easiest way to give my devices remote access?
Tailscale is a few clicks and free at home. To be sure the mesh stays healthy, parse tailscale status --json into Zabbix so you get alerts when a peer goes offline and when a new device joins. The full template walkthrough is in part 140.
First published as part of the home monitoring guide series on whatsuphome.fi. The detailed, screenshot-laden versions of every step live in the blog posts linked above.

Add new comment