Spry Methuselah
Charly's Column – darkstat
Thanks to its minimal footprint, 20-year-old darkstat hardly generates any noticeable load even on low-powered systems, making it the perfect monitoring tool for Charly's home utility room.
Next to our kitchen, there is a small utility room. I don't think its floorspace is even two square meters. In addition to the usual building services, such as fuse box, there are two firewalls, a web and mail server, network attached storage (NAS), and a large switch.
The tiny router supplied by my Internet provider sits a little intimidated in the corner. I downgraded it to something like the IT equivalent of a flow heater. It opens the connection to the provider and passes it to the firewall. I have switched off everything else, like WLAN, telephony, and the DHCP server; I prefer to do that myself, on my own hardware.
You need to monitor what you run. For long-term monitoring of loads and latencies, I use Munin and SmokePing. But if I just want to have a quick look at what currently is happening on the firewall interface, darkstat [1] is the hero of the day.
Darkstat, a true Methuselah at the ripe old age of almost 20, has been under the GPL license since 2002. I had my first contact with the software when I tried pfSense [2]. Thanks to its minimal footprint, the monitoring tool generates so little system load that it even runs unobtrusively on my ancient NAS box with 128MB RAM [3].
Darkstat gets its data via libpcap; the output comes courtesy of a built-in, lean web server. The most important parameters are stored in a small configuration file, which resides in /etc/darkstat/
on my Ubuntu test system. Using the configuration file is voluntary; I could ignore it and simply start darkstat at the command line.
The only mandatory parameter is -i <interface>
. The darkstat --help
command lists all the other parameters. Be careful with --syslog
. If you enable this option, darkstat suppresses all console messages. It therefore makes sense not to set this parameter until everything else is working to your satisfaction.
Once darkstat is running as desired, a web server on port 667 displays the current traffic data (Figure 1). It is a pity that darkstat displays the data in bytes, not in bits, but it's fine for a quick overview of what's crossing the wire.
More details can be found in the hosts tab. This is where darkstat lists the devices in a table; you can sort by the column headers. This is how I found out, for example, that music streaming is very popular today. My eldest child is embarking on a career as an Instagram influencer, or whatever the kids call it nowadays (Figure 2).
Also practical: darkstat not only displays live data, but also visualizes sessions that you record with Wireshark or Tcpdump. Conclusions: Methuselah has aged with dignity and is still very much needed.
Infos
- darkstat: https://unix4lyfe.org/darkstat/
- pfSense: https://www.pfsense.org
- darkstat package for Synology NAS: https://synocommunity.com/package/darkstat
Buy this article as PDF
(incl. VAT)