Hi Ben, I have written a client program to capture the iostat details so that a backend process can display it. I do it this way as I have custom client scripts for RHEL and solaris 9 and the use the same backend :-)
My client perl script works for RHEL 4, 5 and 6.
Add this section to clientlaunch.cfg on your client.
[fsio] ENVFILE $XYMONCLIENTHOME/etc/xymonclient.cfg CMD $XYMONCLIENTHOME/ext/xy-fsio_rhel.pl LOGFILE $XYMONCLIENTHOME/logs/xymonclient.log INTERVAL 5m
On you Xymon server: Add this section to tasks.cfg
"rrddata" updates RRD files with information that arrives as "data" messages.
[rrddata]
ENVFILE /home/xymon/xymon/server/etc/xymonserver.cfg
NEEDS xymond
CMD xymond_channel --channel=data --log=$XYMONSERVERLOGS/rrd-data.log xymond_rrd --rrddir=$XYMONVAR/rrd
--extra-script=/home/xymon/server/ext/process_fsio.pl
--extra-tests=fsio
Add this to graphs.cfg
[fsio] FNPATTERN ^fsio,(.*).rrd TITLE Disk Read/Write YAXIS Stats DEF:pb at RRDIDX@=@RRDFN@:pbusy:AVERAGE DEF:kr at RRDIDX@=@RRDFN@:kread_sec:AVERAGE DEF:kw at RRDIDX@=@RRDFN@:kwrite_sec:AVERAGE CDEF:pbn at RRDIDX@=pb at RRDIDX@,5,GT,pb at RRDIDX@,UNKN,IF COMMENT:DISK IO\: @RRDPARAM@ \: GPRINT:pbn at RRDIDX@:LAST:busy = %3.0lf%%\n AREA:kr at RRDIDX@#@COLOR@: GPRINT:kr at RRDIDX@:LAST:kB Read/sec \: %5.0lf (cur) GPRINT:kr at RRDIDX@:MAX:\: %5.0lf (max) GPRINT:kr at RRDIDX@:MIN:\: %5.0lf (min) GPRINT:kr at RRDIDX@:AVERAGE:\: %5.0lf (avg)\n AREA:kw at RRDIDX@#@COLOR@: GPRINT:kw at RRDIDX@:LAST:kB Write/sec\: %5.0lf (cur) GPRINT:kw at RRDIDX@:MAX:\: %5.0lf (max) GPRINT:kw at RRDIDX@:MIN:\: %5.0lf (min) GPRINT:kw at RRDIDX@:AVERAGE:\: %5.0lf (avg)\n
[fsio2] FNPATTERN ^fsio,(.*).rrd TITLE I/O Utilization YAXIS Stats DEF:p at RRDIDX@B=@RRDFN@:pbusy:AVERAGE DEF:p at RRDIDX@A=@RRDFN@:asvc_t:AVERAGE DEF:p at RRDIDX@W=@RRDFN@:wsvc_t:AVERAGE CDEF:p at RRDIDX@t=p at RRDIDX@B,5,GT,p at RRDIDX@B,UNKN,IF COMMENT:DISK IO\: @RRDPARAM@ \: GPRINT:p at RRDIDX@t:LAST:busy = %3.0lf%%\n AREA:p at RRDIDX@A#@COLOR@: GPRINT:p at RRDIDX@A:LAST:asvc_t \: %5.1lf (cur) GPRINT:p at RRDIDX@A:MAX: \: %5.1lf (max) GPRINT:p at RRDIDX@A:MIN: \: %5.1lf (min) GPRINT:p at RRDIDX@A:AVERAGE: \: %5.1lf (avg)\n LINE1:p at RRDIDX@W#@COLOR@: GPRINT:p at RRDIDX@W:LAST:wsvc_t \: %5.1lf (cur) GPRINT:p at RRDIDX@W:MAX: \: %5.1lf (max) GPRINT:p at RRDIDX@W:MIN: \: %5.1lf (min) GPRINT:p at RRDIDX@W:AVERAGE: \: %5.1lf (avg)\n
Add these in your xymonserver.cfg
TEST2RRD="fsio,fsio2" GRAPHS="fsio::1,fsio::2"
And away you go :-)
Alan Ford Senior Database Administrator Com Serv - Information Communications and Technology Stanwell Corporation Limited
www.stanwell.com
-----Original Message----- From: Xymon [mailto:xymon-bounces at xymon.com] On Behalf Of Lists Sent: Thursday, 30 January 2014 8:56 AM To: xymon at xymon.com Subject: [Xymon] Monitoring iostat performance
Recently, we had a publicly visible outtage as a result of one of our load balancers exceeding the IOPS capability of its system drives. We'd like to extend xymon (currently installed on CentOS6 /32 with defaults) so that it can monitor IOPS for all servers.
Specifically, we'd like to see wrqm/s and probably %util. What's the most straightforward way to accomplish this? The other alternative is to create some form of internal script, which is doable but not preferable if there's an off-the-shelf tool available.
-Ben
Xymon mailing list Xymon at xymon.com http://lists.xymon.com/mailman/listinfo/xymon
This email is to be read subject to the email disclaimer located at http://www.stanwell.com/email-disclaimer.aspx