// Some Common Performance Monitoring Scenarios
//
// Copyright (c) 2000 Silicon Graphics, Inc.  All Rights Reserved.
// 
// This program is free software; you can redistribute it and/or modify it
// under the terms of version 2 of the GNU General Public License as
// published by the Free Software Foundation.
// 
// This program is distributed in the hope that it would be useful, but
// WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
// 
// Further, this software is distributed without any warranty that it is
// free of the rightful claim of any third person regarding infringement
// or the like.  Any license provided herein, whether implied or
// otherwise, applies only to this software file.  Patent licenses, if
// any, provided herein do not apply to combinations of this program with
// other software, or any other product whatsoever.
// 
// You should have received a copy of the GNU General Public License along
// with this program; if not, write the Free Software Foundation, Inc., 59
// Temple Place - Suite 330, Boston MA 02111-1307, USA.
// 
// Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
// Mountain View, CA  94043, or:
// 
// http://www.sgi.com 
// 
// For further information regarding this notice, see: 
// 
// http://oss.sgi.com/projects/GenInfo/SGIGPLNoticeExplan/
//
//
// The Swap Group
//

// replace with your hosts
HOSTS = ":localhost :foo";

// replace this with your e-mail address
MINDER = "root@localhost";

// 20 second rulesets in this group
delta = 20 sec;  		// numbers are diff than strings
DELTA_STR = "20 seconds";	// strings are diff than numbers

//
//
// Copyright (c) 2000 Silicon Graphics, Inc.  All Rights Reserved.
// 
// This program is free software; you can redistribute it and/or modify it
// under the terms of version 2 of the GNU General Public License as
// published by the Free Software Foundation.
// 
// This program is distributed in the hope that it would be useful, but
// WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
// 
// Further, this software is distributed without any warranty that it is
// free of the rightful claim of any third person regarding infringement
// or the like.  Any license provided herein, whether implied or
// otherwise, applies only to this software file.  Patent licenses, if
// any, provided herein do not apply to combinations of this program with
// other software, or any other product whatsoever.
// 
// You should have received a copy of the GNU General Public License along
// with this program; if not, write the Free Software Foundation, Inc., 59
// Temple Place - Suite 330, Boston MA 02111-1307, USA.
// 
// Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
// Mountain View, CA  94043, or:
// 
// http://www.sgi.com 
// 
// For further information regarding this notice, see: 
// 
// http://oss.sgi.com/projects/GenInfo/SGIGPLNoticeExplan/
//
// report when swap > 50-75% full and when swap > 75% full
//
// Rules donated by Kevin Wang at Silicon Graphics
//
// note: the sort hack '9999999' to keep the header first; later
//       removed by sed
// note: -o option to ps(1) requires IRIX 6.2 or later ... for IRIX 5.3
//       this would have to be re-written using ps -el

SWAP="swap";
some_host (
	($SWAP.free $HOSTS / $SWAP.length $HOSTS) * 100 <  50 &&
	($SWAP.free $HOSTS / $SWAP.length $HOSTS) * 100 >= 25
) -> print 10 min "swap more than half-full: " "%h: %v% free " &
     shell 10 min "rsh -n guest@%h /sbin/ps -eo 'ruser=UID,pid=PID,ppid=PPID,pcpu=%CPU,sz=9999999SZ,rss=RSS,stime=STIME,time=TIME,args=CMD' | sort +4 -nr | sed -e 's/9999999SZ /    SZ:/' | /usr/sbin/Mail -s '%h swap more than half-full (%v% free)' $MINDER &";

some_host (
	($SWAP.free $HOSTS / $SWAP.length $HOSTS) * 100 <  25
) -> print 10 min "swap almost full: " "%h: %v% free " &
     shell 10 min "rsh -n guest@%h /sbin/ps -eo 'ruser=UID,pid=PID,ppid=PPID,pcpu=%CPU,sz=9999999SZ,rss=RSS,stime=STIME,time=TIME,args=CMD' | sort +4 -nr | sed -e 's/9999999SZ /    SZ:/' | /usr/sbin/Mail -s '%h swap almost full (%v% free)' $MINDER &";



