Linux - ServerThis forum is for the discussion of Linux Software used in a server related context.
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
I want to make web interface to monitor my system resources. I've already made some long-term graphs using Collectd&Rrdtool but I also want to make some light-weight page with my current resources. What I want to do is to make shell(or perl) script that will collect system information and update web page every 10 seconds. Now I need some template script that collects all common performance data, such as CPU/memory/disk/network usage.
How about collectl? Very lighweight, uses <.1% cpu, has a socket interface to talk to other tools, saves history and can even write the current sample to a local file you could always read in a loop to extract the output. It's used on some of the largest clusters in the world - ever heard of the Top 500 list? It probably collects a lot more data than most tools. Check out this table I put together, keeping in mind it only shows a subset of what collectl can do: http://collectl.sourceforge.net/Matrix.html
By default it samples every 10 seconds but you can always make it more frequent if you prefer. I know of at least one 2500 node clusters where it's sampling each system every 5 seconds, storing the data in a local file and sending a subset upstream to a central monitoring station for display.
I need only current information but munin designed to write statistics to rrd logs. Do you know how to make munin or collectd to output current statistics to stdout?
Also one guy told me that sysstat package is a good thing. How about this one? Will it do the trick?
Collectl can report stats to the terminal in real-time. It can also write to a file and let you play the data back, but if you really only want current stats reported on the terminal that's fine too.
You can certainly use sysstat tools, but be aware that they take many lines of data to report what's going on and that can be pretty hard to read in real-time. In brief mode collectl can let you watch many things at once, all on the same line which makes it pretty easy to spot anomalous data.
Part of it also comes down to how accurate you want your graphs to be. I had tried collecting samples every 10 seconds with collectl and stuffing them into rrd. Much to my surprise the graphs were NOT accurate as rrd 'normalizes' your data in less data points. In other words if you have 8640 data samples (a day's worth of 10 second samples) and try to plot it on a graph that only has 100 columns, you only get one column for every 86 samples! The plots look pretty but are only approximations. That's why I use gnuplot - it plots everything even if the results aren't as good looking.