CBM was a fine tool [0]. I think it's been basically abandoned though. It does only do per interface, but it seems like an earlier simpler iteration of this type of tool. It works by reading the stat tables in /proc/net/dev
I'd just throw our something I wrote a long time ago called fsbm [1] (fucking small bandwith monitor) which was a rewrite of CBM without curses. useful for logging to a file or to something without NCURSES support. Along the way I added support for network namespaces and just general other stuff. I use it frequently. You can pump it into i3-bar for example or such and such
[0] https://github.com/resurrecting-open-source-projects/cbm [1] https://git.ceux.org/fsbm.git/tree/fsbm.c