For a long time, I wanted to monitor certain aspects of the network at my home. This would allow me to understand how data flows, where are the bottlenecks in the network and to keep track of all the devices and their functionality.
After taking a look at what is out in the market, I came up with the following solution:
- Server: Raspberry Pi 3
- Software: Raspbian (OS) and Cacti
- Devices: Any device that supports snmp (or that could be extended to use snmp…)
In building the “server” I decided to use an SSD as its primary drive to avoid SD “burnout” from the many read/writes and for having enough storage volume for logs.
This turned out to be an excellent solution since I also decided to use it as a proxy server, DNS server and DHCP server for my home (the Raspberry Pi 3 proved to be quite powerful).
Here are some snapshots from the project:
This is a weathermap (a plugin in Cacti) that allows me to see the data flows and the utilization in one map. According to the utilization, the links change color to visually display the utilization (according to the map on the upper left corner) and the actual bandwidth is displayed for both in and out flows.
In this figure, you can see all the details for my Asterisk PBX. I can monitor the status of the server as well as temperatures and channels used for my PBX usage.