My first reaction was to go for a gnome-like system monitor (gnome-system-monitor).
Despite all criticisms I could read, it was showing me all necessary information, especially real-time graphs for CPU, Memory, and Network.
But when I launched them remotely (through an SSH session, and with the appropriate DISPLAY forwarding option), it showed clearly that it was consuming around 4Mb/s of Network bandwidth just to display… itself !
So, I googled a little bit, and I rediscovered a tool I used to install a long time ago : gkrellm
From my laptop (ubuntu), installation is very easy :
sudo apt-get install gkrellm
And starting it is also very simple:
Then, I slightly configured it.
There are plenty of options, I tried to adjust them to my needs, as much as possible (I’m still using conky for my own laptop, so I was not looking for a lot of information…)
I even customized the theme, by downloading MonkeyLovers (from official theme site: http://www.muhri.net/gkrellm/)
To install a theme, simply untar the theme package in ~/.gkrellm2/themes, and select it in configuration setup.
Nice, but what about remote monitoring ?
I could have done the same, and simply trigger gkrellm run through an ssh command. But in that case, we are back to the above situation: only the X DISPLAY is remote, and it is consuming traffic bandwidth for… nothing (even if much less than gnome-system-monitor, it was still too much for me, as I was looking for the smallest network footprint possible).
Hopefully gkrellm is able to run as deamon that provides its counters information to remote clients.
For that, you just need to install the server piece : gkrellmd
On my Ubuntu systems, it was quite easy :
sudo apt-get install gkrellmd
Then I had to reconfigure /etc/gkrellmd.conf to allow my local network to poll information
(quite nice security feature 🙂 ) and to lower the CPU load (via line :
Next, a simple
sudo /etc/init.d/gkrellmd restart, once the config file was saved, and all is done…
Once this action completed on each remote system, I get back to my laptop.
For each server, I launched the local client, instructing it to connect to the remote server:
gkrellm -s geo
(assuming “geo” is the name of my remote server ; no need to specify anything else if you didn’t change default settings)