Updated 2011-06-20 – updated for 'xymon'
Setting up xymon client
adduser --disabled-login xymon cd /usr/src wget http://downloads.sourceforge.net/project/xymon/Xymon/4.3.3/xymon-4.3.3.tar.gz tar -zxvf xymon-4.3.3.tar.gz cd xymon-4.3.3 ./configure.client
(config=server)
(user=xymon)
(home=/home/xymon)
make make install su - xymon -c "/home/xymon/client/runclient.sh start"
Install MySQL/Apache Montioring on client
1. Create a mysql user 'monitoring', eg:
CREATE USER 'monitoring'@'localhost' IDENTIFIED BY 'monitoring';
2. Install ext scripts::
cd /home/xymon/client cvs -d:pserver:anon@cvs.hamish.geek.nz:/cvs co -d ext xymon-ext chown xymon:xymon ext -R chmod 700 ext -R
Set mysql password in the file:
bb-mysql.pl
Edit disk device in the files:
diskreads.sh diskwrites.sh
Add lines to /home/xymon/client/etc/clientlaunch.cfg
[mysql] ENVFILE $XYMONCLIENTHOME/etc/xymonclient.cfg CMD $XYMONCLIENTHOME/ext/bb-mysql.pl LOGFILE $XYMONCLIENTHOME/logs/bb-mysql.log INTERVAL 5m [mysqlhq] ENVFILE $XYMONCLIENTHOME/etc/xymonclient.cfg CMD $XYMONCLIENTHOME/ext/mysqlhq LOGFILE $XYMONCLIENTHOME/logs/mysqlhq.log INTERVAL 5m [mysqlht] ENVFILE $XYMONCLIENTHOME/etc/xymonclient.cfg CMD $XYMONCLIENTHOME/ext/mysqlht LOGFILE $XYMONCLIENTHOME/logs/mysqlht.log INTERVAL 5m [mysqlhs] ENVFILE $XYMONCLIENTHOME/etc/xymonclient.cfg CMD $XYMONCLIENTHOME/ext/mysqlhs LOGFILE $XYMONCLIENTHOME/logs/mysqlhs.log INTERVAL 5m [apachew] ENVFILE $XYMONCLIENTHOME/etc/xymonclient.cfg CMD $XYMONCLIENTHOME/ext/apache-workers.sh LOGFILE $XYMONCLIENTHOME/logs/apache-workers.log INTERVAL 5m [diskreads] ENVFILE $XYMONCLIENTHOME/etc/xymonclient.cfg CMD $XYMONCLIENTHOME/ext/diskreads.sh LOGFILE $XYMONCLIENTHOME/logs/diskreads.log INTERVAL 5m [diskwrites] ENVFILE $XYMONCLIENTHOME/etc/xymonclient.cfg CMD $XYMONCLIENTHOME/ext/diskwrites.sh LOGFILE $XYMONCLIENTHOME/logs/diskwrites.log INTERVAL 5m [coretemp] ENVFILE $XYMONCLIENTHOME/etc/xymonclient.cfg CMD $XYMONCLIENTHOME/ext/coretemp.pl LOGFILE $XYMONCLIENTHOME/logs/coretemp.log INTERVAL 5m
restart xymon:
su -c "/home/xymon/client/runclient.sh start" xymon
Setting up xymon server
Add to settings in /home/xymon/server/etc/xymonserver.cfg
TEST2RRD="EXISTING_STUFF,apachew=ncv,mysqlht=ncv,mysqlhs=ncv,mysqlhq=ncv,diskreads=ncv,diskwrites=ncv,coretemp=ncv" GRAPHS="EXISTING_STUFF,apachew,mysqlhq,mysqlht,mysqlhs,diskreads,diskwrites,coretemp" NCV_apachew="numworkers:GAUGE" NCV_mysqlht="numthreads:GAUGE" NCV_mysqlhs="slowqueries:GAUGE" NCV_mysqlhq="queriespersec:GAUGE" NCV_diskreads="diskreads:GAUGE" NCV_diskwrites="diskwrites:GAUGE" NCV_coretemp="core0:GAUGE,core1:GAUGE,core2:GAUGE,core3:GAUGE"
add sections to /home/xymon/server/etc/graphs.cfg
[apachew] TITLE Apache Workers YAXIS Num DEF:workers=apachew.rrd:numworkers:AVERAGE LINE2:workers#00CCCC:Apache workers COMMENT:\n GPRINT:workers:LAST:Apache workers \: %5.1lf%s (cur) GPRINT:workers:MAX: \: %5.1lf%s (max) GPRINT:workers:MIN: \: %5.1lf%s (min) GPRINT:workers:AVERAGE: \: %5.1lf%s (avg)\n [mysqlht] TITLE MySQL Threads YAXIS Num DEF:threads=mysqlht.rrd:numthreads:AVERAGE LINE2:threads#00CCCC:MySQL threads COMMENT:\n GPRINT:threads:LAST:MySQL threads \: %5.1lf%s (cur) GPRINT:threads:MAX: \: %5.1lf%s (max) GPRINT:threads:MIN: \: %5.1lf%s (min) GPRINT:threads:AVERAGE: \: %5.1lf%s (avg)\n [mysqlhs] TITLE MySQL Slow Queries YAXIS Num DEF:slow=mysqlhs.rrd:slowqueries:AVERAGE LINE2:slow#ff0000:Slow queries COMMENT:\n GPRINT:slow:LAST:Slow queries \: %5.1lf%s (cur) GPRINT:slow:MAX: \: %5.1lf%s (max) GPRINT:slow:MIN: \: %5.1lf%s (min) GPRINT:slow:AVERAGE: \: %5.1lf%s (avg)\n [mysqlhq] TITLE MySQL Queries Per Second YAXIS Num DEF:qps=mysqlhq.rrd:queriespersec:AVERAGE LINE2:qps#ff0000:Queries per sec COMMENT:\n GPRINT:qps:LAST:Queries per sec \: %5.1lf%s (cur) GPRINT:qps:MAX: \: %5.1lf%s (max) GPRINT:qps:MIN: \: %5.1lf%s (min) GPRINT:qps:AVERAGE: \: %5.1lf%s (avg)\n [diskreads] TITLE Disk reads YAXIS Num DEF:diskreads=diskreads.rrd:diskreads:AVERAGE LINE2:diskreads#00CCCC:Disk reads COMMENT:\n GPRINT:diskreads:LAST:Disk reads\: %5.1lf%s (cur) GPRINT:diskreads:MAX: \: %5.1lf%s (max) GPRINT:diskreads:MIN: \: %5.1lf%s (min) GPRINT:diskreads:AVERAGE: \: %5.1lf%s (avg)\n [diskwrites] TITLE Disk writes YAXIS Num DEF:diskwrites=diskwrites.rrd:diskwrites:AVERAGE LINE2:diskwrites#00CCCC:Disk writes COMMENT:\n GPRINT:diskwrites:LAST:Disk writes \: %5.1lf%s (cur) GPRINT:diskwrites:MAX: \: %5.1lf%s (max) GPRINT:diskwrites:MIN: \: %5.1lf%s (min) GPRINT:diskwrites:AVERAGE: \: %5.1lf%s (avg)\n [coretemp] TITLE Core Temperature YAXIS Degrees C DEF:core0=coretemp.rrd:core0:AVERAGE DEF:core1=coretemp.rrd:core1:AVERAGE DEF:core2=coretemp.rrd:core2:AVERAGE DEF:core3=coretemp.rrd:core3:AVERAGE LINE2:core0#FF0000:Core 0 LINE2:core1#00FF00:Core 1 LINE2:core2#0000FF:Core 2 LINE2:core3#FF66BB:Core 3 COMMENT:\n GPRINT:core0:LAST:Core 0 \: %3.1lf%s (cur) GPRINT:core0:MAX: \: %3.1lf%s (max) GPRINT:core0:MIN: \: %3.1lf%s (min) GPRINT:core0:AVERAGE: \: %3.1lf%s (avg)\n GPRINT:core1:LAST:Core 1 \: %3.1lf%s (cur) GPRINT:core1:MAX: \: %3.1lf%s (max) GPRINT:core1:MIN: \: %3.1lf%s (min) GPRINT:core1:AVERAGE: \: %3.1lf%s (avg)\n GPRINT:core2:LAST:Core 2 \: %3.1lf%s (cur) GPRINT:core2:MAX: \: %3.1lf%s (max) GPRINT:core2:MIN: \: %3.1lf%s (min) GPRINT:core2:AVERAGE: \: %3.1lf%s (avg)\n GPRINT:core3:LAST:Core 3 \: %3.1lf%s (cur) GPRINT:core3:MAX: \: %3.1lf%s (max) GPRINT:core3:MIN: \: %3.1lf%s (min) GPRINT:core3:AVERAGE: \: %3.1lf%s (avg)\n
Thanks for the post, this is what i am searching for
well, im glad you made sense of my ramblings.
i just can't get it to work with one hobbit 'section' but oh well, this seems to work :)
Hey thanks for this. unfortunately the graphs are not being displayed, any idea what could be going on here?
Eeek! Sorry Brian, it could be a million different reasons. I'm not being very helpful today eh! Did you get a particular error message?
hamish,
I'm experiencing the same issue as Brian, no historical data. I'm receiving reports and the mysql monitor displays the expected metrics in summary, but xymon behaves as if it has received only one report, preserving no history. I checked and there is no rrd file for mysql.
Is there anything I can do to help troubleshoot this?
Thanks, everything seems to be working quite well. (I had to rename a few "hobbitclient" to "xymonclient" though)
Yeah it really annoyed me when they renamed…. my server is 'hobbit' and my clients are 'xymon' arghh!!