My requirements are very simple. I need to graph the CPU usage on a remote Linux server. I'm not looking for anything complicated, I just need to be able to plot the CPU usage on a Linux server over a week.

I started down the cacti route - it's not simple, it's not straight forward and it definitely feels like overkill.

Is there a simpler, quicker and more straightforward option?


Munin is very nice, and easy to install and setup.

|improve this answer|||||
  • 1
    Thanks for this - I just tried out Munin and it's so much easier to get working than Cacti, Ganglia or Zenoss. – gareth_bowles Dec 23 '09 at 17:25

For a one off sort of thing, I would get the data using sar (sysstat package) and then graph it with it rrd tool. Here is a script that aids in creating graphs from sar output.

|improve this answer|||||
  • +1 for sar + graphing-tool-of-your-choice Also check out ksar, which is a java app that eats raw sar data and poops out pretty graphs. I didn't find it super intuitive to use but the end result was good. – DictatorBob Sep 30 '09 at 19:44

You could try sar grapher at http://www.fsprings.com/neat/sargrapher.html, you upload sar -p -A output on it provides a page with graphs. If you want you can select the sar options you want it will only graph those.

|improve this answer|||||

I prefer ORCA - www.orcaware.com for graphing server statistics.
The setup these days isn't too difficult (use snapshot r535), and it can display in hourly, daily, weekly, monthly, quarterly and yearly ranges.

It's based on a data collector (procallator) that polls in 5-minute intervals. The graphing engine is an old version of RRDTool, but is quick for this application.

For the remote server, you can have it graph its own stats, or you can pull the procallator files via ssh/rsync/scp on a regular interval to graph on a local server. It works well either way.

|improve this answer|||||

A couple of questions: - do you want to generate plots in real-time? - how often do you want to sample?

A previous comments mentioned 5 minute samples and I have to say if you really want to know what your CPU is doing with any confidence you should really be down in the 10 second range. Averaging things out at 5 minutes will just cause you to miss spikes that could be minutes long! Admittedly 10 second samples could miss 5 second spikes, but you have to figure out what you're trying to see in the data.

Personally I use collectl, probably because I wrote it! ;-)

But it runs very efficiently at low sampling rates (even sub-second) and can even report its output in a format suitable for plotting. In fact if you install collectl-utils and write to a shared directory, you can use colplot to see the data in real time.

One last comment about RRDTool. It's a great package and draws very nice plots, but you do need know if you log a lot of samples for a single day the resultant plots are not accurate. This is because RRDTool normalizes multiple samples into single data points to make the graphs simpler, something colplot never does. It uses gnuplot to make sure every data point that is captured is faithfully plotted.


|improve this answer|||||

When I was working with some Linux boxes I was using Splunk and found it very useful.

I liked Splunk because it allowed me not only to monitor performance but set up alerts for not only my Linux but my Windows boxes as well.

|improve this answer|||||

If you really have just one, ignore this, but if you have a bunch, or are going to grow then Ganglia might be worth a look.

5 second sampling, and a bunch of metrics beyond CPU, nicely managed at multiple levels, per server/cluster/farm, etc.

|improve this answer|||||
  • I thought Ganglia looked good and tried it out on a small number of Linux servers running different distros; the setup was relatively easy but I found the graph display to be very unreliable. The collected stats for certain servers displayed just fine, but for others nearly all the data was missing. There didn't seem to be any rhyme or reason as to which servers worked and which didn't. – gareth_bowles Dec 22 '09 at 22:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.