Americas

  • United States
sandra_henrystocker
Unix Dweeb

Graphing system activity with SAG

Analysis
Jun 19, 20082 mins
Data CenterLinuxOpen Source

In today’s column, we’re going to look at a script that turns sar data into useful little performance graphs using sag, the system activity grapher. The sag utility reads data from sar’s binary files and, provided with a graphical terminal, creates a line chart showing CPU usage or some other sar data.

To use this script, graciously provided by Andrew Hay (“Sandwich Maker” to me), I started an X client on my laptop, logged in to one of my servers and invoked the script. A few seconds later, a graph of today’s CPU usage opened on my screen.

Both sar and sag go a lot further back than I had suspected. While I began using sar in some release of SunOS 2.x, the commands may date back as far as AT&T System V.

#!/usr/bin/ksh -p
# xsag - graph sar data on screen
# 20041001 adh@an.bradford.ma.us

[ -n "$1" ] &&
{
       typeset -Z2 DAY=$(($(date +%d) - $1))
       (( DAY `tty` 
 stty 0:1805:f003f:0:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff; 
 exec nice -19 sh -n"

Cut and paste the script into a file and make it executable. Much of the text in the xterm line is there to null out the tty and shell control characters while the final sh holds the xterm open after sag has completed its work so that you have a chance to look at the graph.

I also had to make sure that biff (/usr/ucb/biff) was on my search path.

Thanks to Sandwich Maker for sharing his script.

sandra_henrystocker
Unix Dweeb

Sandra Henry-Stocker has been administering Unix systems for more than 30 years. She describes herself as "USL" (Unix as a second language) but remembers enough English to write books and buy groceries. She lives in the mountains in Virginia where, when not working with or writing about Unix, she's chasing the bears away from her bird feeders.

The opinions expressed in this blog are those of Sandra Henry-Stocker and do not necessarily represent those of IDG Communications, Inc., its parent, subsidiary or affiliated companies.