dcsimg

Try collectlfor System Monitoring

By Joe Brockmeier (Send Email)
Posted Aug 1, 2011


Most Linux system administrators are familiar with sar for collecting system status data. However, there's a few ways that sar shows its age and doesn't quite live up to expectations. If you're looking for a newer utility that also handles NFS, Slab data and sub-second intervals, collectl may better fit the bill.

When it comes to collecting system status data, sar is a veritable workhorse. It is not, however, without its limitations. If you're in the market for a utility that also handles NFS, Slab data, and sub-second intervals, consider collectl.

The collectl utility was written by Mark Seger, and it is dual-licensed under the Artistic License and GNU General Public License (GPL). It's written in Perl and does a bit more than just read from /proc and copy data to the terminal.

Basically, collectl collects system data that reflects the system status/performance. If you're familiar with sar, you'll be right at home with collectl. If you've never used sar or a similar tool, here's a quick example running collectl -s cn:

#<--------CPU--------><----------Network---------->
#cpu sys inter  ctxsw   KBIn  PktIn  KBOut  PktOut 
  16   8   619    733      0      0      0       0 
  24   8   773   1164      0      0      0       0 
  18   3   925   1261     11     14      2      14 
  20   4   812   1031      4      4      1       4 
   8   2   577    847      1      5      1       5 
  25  10  1103   1481     18     33      5      39 
  44  13  1879   2076    225    224     21     154 
  18   5  1057   1525     93     97     12      77 
  11   2   672   1040      7      6      1       6 
  36  13  1048    986      6     19      4      18 
  20   5   975   1385     27     34      7      31 
  54  16  1484   1280     12     22      5      21 

As you can see, the -s cn tells collectl "read the CPU and network subsystem data." By default, in interactive mode collectl will read and display data every second. You can crank that up with the -i interval option if you want. It can make data grabbable as frequent as every quarter of a second. Note that you'll also need the Time:HiRes Perl module. This might be installed by default. Check collectl -v to be sure.

Collectl has an interactive mode, playback mode, record mode, socket mode and plot mode. Interactive is pretty self-explanatory. The record mode saves to a file for use later -- and you can use the playback mode to replay the data. The plot format saves data in a delimiter separated format that can be used with plotting utilities so you can graph system performance data. Finally, the socket mode directs collectl to send its data to a port specified with the -A option.

Why would you want to use collectl instead of sar? For one thing, collectl is supposed to have very low overhead. The author claims it's been measured to use less than 0.1 percent when run as a daemon -- although this may not hold for systems with massive numbers of disks and running processes.

It also handles things that sar doesn't, like Lustre file systems and Infiniband interconnects. As mentioned already, collectl has finer-grained monitoring intervals, so you can snarf data below the 1 second interval if you really must.

You can also control the format collectl uses to export data, if the default ones don't work for you for some reason. And it has support (experimental) for temperature and fan sensors.

If you monitor systems on a regular basis, check out collectl. It's not yet packaged for Ubuntu and just recently made it into Debian (so expect it for Debian Wheezy), but it's available for Fedora and openSUSE (Factory, at least -- haven't checked 11.4 yet) already. The most recent release came out in May, and you can grab an RPM or source on SourceForge.

Joe 'Zonker' Brockmeier is a freelance writer and editor with more than 10 years covering IT. Formerly the openSUSE Community Manager for Novell, Brockmeier has written for Linux Magazine, Sys Admin, Linux Pro Magazine, IBM developerWorks, Linux.com, CIO.com, Linux Weekly News, ZDNet, and many other publications. You can reach Zonker at jzb@zonker.net and follow him on Twitter.

Follow ServerWatch on Twitter

Page 1 of 1


Comment and Contribute

Your name/nickname

Your email

(Maximum characters: 1200). You have characters left.