diff options
Diffstat (limited to 'abs/core/xymon')
-rwxr-xr-x | abs/core/xymon/PKGBUILD | 43 | ||||
-rwxr-xr-x | abs/core/xymon/clientlaunch.cfg.patch | 30 | ||||
-rwxr-xr-x | abs/core/xymon/graphs.cfg.diff (renamed from abs/core/xymon/graph.cfg.diff) | 23 | ||||
-rwxr-xr-x | abs/core/xymon/hbnotes.py | 1 | ||||
-rw-r--r-- | abs/core/xymon/hobbit-myth-orphan.sh | 51 | ||||
-rwxr-xr-x | abs/core/xymon/hobbit_myth_data.py | 3 | ||||
-rw-r--r-- | abs/core/xymon/hobbit_notify.sh | 42 | ||||
-rwxr-xr-x | abs/core/xymon/tasks.d.mv | 14 | ||||
-rw-r--r-- | abs/core/xymon/xymon-client.rules | 3 | ||||
-rwxr-xr-x | abs/core/xymon/xymon-hddtemp.sh | 62 | ||||
-rw-r--r-- | abs/core/xymon/xymon-server.rules | 1 | ||||
-rwxr-xr-x | abs/core/xymon/xymon-smart.sh | 75 | ||||
-rwxr-xr-x | abs/core/xymon/xymonserver.cfg.diff | 19 |
13 files changed, 283 insertions, 84 deletions
diff --git a/abs/core/xymon/PKGBUILD b/abs/core/xymon/PKGBUILD index e8908cc..787ce61 100755 --- a/abs/core/xymon/PKGBUILD +++ b/abs/core/xymon/PKGBUILD @@ -1,7 +1,7 @@ pkgbase=xymon pkgname=('xymonserver' 'xymonclient') pkgver=4.3.17 -pkgrel=11 +pkgrel=23 pkgdesc="Xymon is a system for monitoring of hosts and networks" license="GPL" arch=('i686' 'x86_64') @@ -9,7 +9,7 @@ url="http://www.xymon.com/" source=("https://downloads.sourceforge.net/project/xymon/Xymon/$pkgver/$pkgbase-$pkgver.tar.gz" 'hobbitadd.py' 'xymon_ghost_check' - 'graph.cfg.diff' + 'graphs.cfg.diff' 'xymonserver.cfg.diff' 'tasks.d.mv' 'clientlaunch.cfg.patch' @@ -25,14 +25,17 @@ source=("https://downloads.sourceforge.net/project/xymon/Xymon/$pkgver/$pkgbase- 'alerts.cfg' 'hobbit_myth_data.py' 'xymon-gputemp.sh' + 'xymon-hddtemp.sh' + 'xymon-smart.sh' 'logrotate-server.xymon' 'logrotate-client.xymon' 'log_list.sh' 'client-local.cfg.patch' 'led_themes.tar.gz' 'xymon-server.rules' + 'xymon-client.rules' 'hosts.cfg.patch') -depends=('rrdtool' 'fping' 'pcre' 'python2' 'graphviz') +depends=('rrdtool' 'fping' 'pcre' 'python2' 'graphviz' 'smartmontools') install=xymon.install build() { @@ -81,6 +84,8 @@ package_xymonserver(){ install -D -m755 ${srcdir}/hobbit_myth_data.py ${pkgdir}/home/xymon/server/ext/hobbit_myth_data.py install -D -m755 ${srcdir}/hobbit-mem-myth.sh ${pkgdir}/home/xymon/server/ext/hobbit-mem-myth.sh install -D -m755 ${srcdir}/xymon-gputemp.sh ${pkgdir}/home/xymon/server/ext/xymon-gputemp.sh + install -D -m755 ${srcdir}/xymon-hddtemp.sh ${pkgdir}/home/xymon/server/ext/xymon-hddtemp.sh + install -D -m755 ${srcdir}/xymon-smart.sh ${pkgdir}/home/xymon/server/ext/xymon-smart.sh install -D -m755 ${srcdir}/log_list.sh ${pkgdir}/home/xymon/client/bin/log_list.sh install -m755 analysis.cfg ${pkgdir}/home/xymon/etc/analysis.cfg @@ -94,8 +99,9 @@ package_xymonserver(){ install -D -m644 ${srcdir}/logrotate-server.xymon ${pkgdir}/etc/logrotate.d/xymon-server - # fix env for mythtb bindingds + # fix env for mythtv bindings echo "MYTHCONFDIR=/usr/share/mythtv" >> ${pkgdir}/home/xymon/etc/xymonserver.cfg + echo "MYTHCONFDIR=/usr/share/mythtv" >> ${pkgdir}/home/xymon/client/etc/xymonclient.cfg #copy in replacment icon set DOCDIR=${pkgdir}/data/srv/httpd/htdocs/xymon @@ -107,7 +113,7 @@ package_xymonserver(){ #apply patches to conf file install -D -m775 ${srcdir}/tasks.d.mv ${pkgdir}/home/xymon/etc/tasks.d/mv.cfg cd ${pkgdir}/home/xymon/etc - patch -p0 < ${srcdir}/graph.cfg.diff || return 1 + patch -p0 < ${srcdir}/graphs.cfg.diff || return 1 patch -p0 < ${srcdir}/xymonserver.cfg.diff || return 1 patch -p3 < ${srcdir}/client-local.cfg.patch || return 1 patch -p3 < ${srcdir}/hosts.cfg.patch || return 1 @@ -134,14 +140,18 @@ package_xymonserver(){ package_xymonclient(){ #create client package as well - depends=() + depends=('smartmontools') backup=('data/srv/xymon/client/etc/xymonclient.cfg') install=xymon-client.install + install -D -m400 ${srcdir}/xymon-client.rules ${pkgdir}/etc/sudoers.d/xymon_client install -D -m755 ${srcdir}/log_list.sh ${pkgdir}/home/xymon/client/bin/log_list.sh install -D -m644 ${srcdir}/logrotate-client.xymon ${pkgdir}/etc/logrotate.d/xymon-client + install -D -m755 ${srcdir}/hobbit_myth_data.py ${pkgdir}/home/xymon/client/ext/hobbit_myth_data.py install -D -m755 ${srcdir}/hobbit-mem-myth.sh ${pkgdir}/home/xymon/client/ext/hobbit-mem-myth.sh install -D -m755 ${srcdir}/xymon-gputemp.sh ${pkgdir}/home/xymon/client/ext/xymon-gputemp.sh + install -D -m755 ${srcdir}/xymon-hddtemp.sh ${pkgdir}/home/xymon/client/ext/xymon-hddtemp.sh + install -D -m755 ${srcdir}/xymon-smart.sh ${pkgdir}/home/xymon/client/ext/xymon-smart.sh cp -rp ${pkgdir}/../xymonserver/home/xymon/client/ ${pkgdir}/home/xymon/ cd - @@ -153,28 +163,31 @@ package_xymonclient(){ md5sums=('d8d119a777e7b7204d1292fb27314312' 'a0fbb9cbeb3600a40943e6205790f22f' 'c60b0d59bb39505ee3d62c6dd65429c5' - '53f1af1054d3c70f4d6b6fe952cf7e11' - 'b2f404913400a25f13c63b27f064ad2e' - 'e40c31eb53ef17c0c544389a525de957' - '3ad3ce12b84cca82dd34ef97984c315e' + '92bd5e8279c688fd854d514443bc733c' + 'f0fca78520f434918bd1be717d165073' + 'a19c8c546dcd95049476bb19f9d4e3ae' + 'c9a31ea9ae131fb351db913e922c25aa' 'b2f98ac0df013332deedc1efae0a270d' - '4a8244c1bb44fe35ca7372355b01cec4' - '526c169e020b570b5b02661a831aa4e6' + 'df77d1de72157d23a301a72288fbf7e5' + '2a509d81ee1655130ce40bf970719e0a' '166279c006c3ef7bf0c21537cf89fc83' '80d9cfac86c6d96836e6f406e35e7cf5' 'd210c43fb9ee9ad6cd7648e0c2e0efea' '0c808fa12672289f86b0651545381308' '0469d775db9fdd18ea95dd41937ada82' '0757294eec13771f8e63da23cf066796' - '270e13da6cbc9d49079d994edaa71e64' + 'b1d5592fa92ef71303621964e84c2b9e' '22d4c9065fd959efe82f121dcb511305' '9af2ad60ac4c3cb653754618f603e311' - 'a9b7f0a22f29f55b2928160bc44f2c14' + '313b11e7a22c3c08fb2afaadbfb46d87' '6452d891d88bb46d07bcf7790a523ad0' + 'b49e7de696c1a0678ad198bab926266c' + 'e071c387deac6b896b20db19903b7794' 'b4e8641e97e6b689dbc634af785e6799' 'e2844513e2c92e8b5084818f3b2a478d' '98e9242ae346f729b14cb195786571f2' '31ac5c1f6dcc9408b64c4107b325a9a6' 'c7178bbf384bbe86c318b60fef6faf10' - '72bf7caf0f53928d97ff5cd9810d6d4d' + '2871c53627e9e125922118013a868a95' + 'cdfbca43dbae4ce0ca72dd002ec22af1' '606f535a49f32b35802ed9d46bd7d068') diff --git a/abs/core/xymon/clientlaunch.cfg.patch b/abs/core/xymon/clientlaunch.cfg.patch index 8c1915a..dba5876 100755 --- a/abs/core/xymon/clientlaunch.cfg.patch +++ b/abs/core/xymon/clientlaunch.cfg.patch @@ -1,17 +1,35 @@ ---- clientlaunch.cfg.orig 2014-10-25 11:56:01.947006791 -0500 -+++ clientlaunch.cfg 2014-10-25 11:57:02.632312788 -0500 -@@ -26,3 +26,14 @@ - LOGFILE $XYMONCLIENTLOGS/xymonclient.log - INTERVAL 5m - +--- clientlaunch.cfg.orig 2015-02-19 22:50:43.102571615 +0000 ++++ clientlaunch.cfg 2015-03-06 19:23:04.010103917 +0000 +@@ -26,3 +26,32 @@ + LOGFILE $XYMONCLIENTLOGS/xymonclient.log + INTERVAL 5m + +[memmyth] + ENVFILE $XYMONCLIENTHOME/etc/xymonclient.cfg + CMD /home/xymon/client/ext/hobbit-mem-myth.sh + LOGFILE $XYMONCLIENTLOGS/mythmem.log + INTERVAL 5m + ++[mtc] ++ ENVFILE $XYMONCLIENTHOME/etc/xymonclient.cfg ++ CMD /home/xymon/client/ext/hobbit_myth_data.py ++ LOGFILE $XYMONCLIENTLOGS/mtc.log ++ INTERVAL 5m ++ +[gputemp] + ENVFILE $XYMONCLIENTHOME/etc/xymonclient.cfg + CMD /home/xymon/client/ext/xymon-gputemp.sh + LOGFILE $XYMONCLIENTLOGS/xymon-gputemp.log + INTERVAL 5m ++ ++[hddtemp] ++ ENVFILE $XYMONCLIENTHOME/etc/xymonclient.cfg ++ CMD /home/xymon/client/ext/xymon-hddtemp.sh ++ LOGFILE $XYMONCLIENTLOGS/xymon-hddtemp.log ++ INTERVAL 5m ++ ++[smart] ++ ENVFILE $XYMONCLIENTHOME/etc/xymonclient.cfg ++ CMD /home/xymon/client/ext/xymon-smart.sh ++ LOGFILE $XYMONCLIENTLOGS/xymon-smart.log ++ INTERVAL 30m diff --git a/abs/core/xymon/graph.cfg.diff b/abs/core/xymon/graphs.cfg.diff index a105bd7..8b1b438 100755 --- a/abs/core/xymon/graph.cfg.diff +++ b/abs/core/xymon/graphs.cfg.diff @@ -1,15 +1,15 @@ ---- graphs.cfg.orig 2014-10-25 12:01:22.209825001 -0500 -+++ graphs.cfg 2014-10-25 21:55:22.065856064 -0500 -@@ -2100,4 +2100,50 @@ +--- graphs.cfg.orig 2015-03-04 21:46:31.493387574 +0000 ++++ graphs.cfg 2015-03-04 21:47:26.972936010 +0000 +@@ -2100,4 +2100,60 @@ GPRINT:qlen@RRDIDX@:AVERAGE: %6.1lf (avg)\n - + ########### end of ifmib graphs ########### +[storage] + TITLE Storage Groups + YAXIS recordings + DEF:storage1=storage.rrd:rectvtotal:AVERAGE + LINE2:storage1#00CCCC:current recorded -+ + + DEF:rectime=storage.rrd:rectvtime:AVERAGE + LINE2:rectime#000000:current recorded time + @@ -50,5 +50,14 @@ + GPRINT:gputemp:MAX: \: %5.1lf (max) + GPRINT:gputemp:MIN: \: %5.1lf (min) + GPRINT:gputemp:AVERAGE: \: %5.1lf (avg)\n - - ++ ++[hddtemp] ++ FNPATTERN ^hddtemp.(.*).rrd ++ TITLE Hard Drive Temperatures ++ YAXIS Celsius ++ DEF:p@RRDIDX@=@RRDFN@:lambda:AVERAGE ++ LINE2:p@RRDIDX@#@COLOR@:@RRDPARAM@\n ++ GPRINT:p@RRDIDX@:LAST: %5.1lf °C (cur) ++ GPRINT:p@RRDIDX@:MAX: \: %5.1lf °C (max) ++ GPRINT:p@RRDIDX@:MIN: \: %5.1lf °C (min) ++ GPRINT:p@RRDIDX@:AVERAGE: \: %5.1lf °C (avg)\n diff --git a/abs/core/xymon/hbnotes.py b/abs/core/xymon/hbnotes.py index d14d62a..d18a606 100755 --- a/abs/core/xymon/hbnotes.py +++ b/abs/core/xymon/hbnotes.py @@ -40,6 +40,7 @@ def create_dot_file(): for row in result: hostname = row[0] dot_hostname = row[0].replace('.','_') + dot_hostname = row[0].replace('-','__') #Find the system type cursor.execute("select value,data from settings where hostname=%s and value in ('HostSystemType','HostRunFrontend');",(row)) hostvalues=cursor.fetchall() diff --git a/abs/core/xymon/hobbit-myth-orphan.sh b/abs/core/xymon/hobbit-myth-orphan.sh index cc4ca30..5f7c7ba 100644 --- a/abs/core/xymon/hobbit-myth-orphan.sh +++ b/abs/core/xymon/hobbit-myth-orphan.sh @@ -1,48 +1,43 @@ #!/bin/bash -TMPFILE=/tmp/oprhan.result +TMPFILE=/tmp/orphan.result MYTHCONFDIR=/usr/share/mythtv /usr/LH/bin/find_orphans.py --printonly > $TMPFILE - COLUMN=orphan # Name of the column COLOR=green # By default, everything is OK -MSG="No Orphans Found." - - +MSG="No Orphans Found." #yellow for i in "Orphaned video files" "Orphaned snapshots" "Database backups" "Other files" "Recordings with missing files" "Zero byte recordings" do grep -q "$i" $TMPFILE status=$? - if [ $status -eq 0 ] + if [[ $status -eq 0 ]] && [[ $i == "Database backups" ]] + then + MSG="$i" + elif [ $status -eq 0 ] then COLOR="yellow" - MSG="Problems with $i" + MSG="Problems with" fi done -#red -#for i in "Recordings with missing files" "Zero byte recordings" -#do -# grep -q "$i" $TMPFILE -# status=$? -# if [ $status -eq 0 ] -# then -# COLOR="red" -# MSG="Problems with $i" -# fi -#done - +if [[ $MSG == "Database backups" ]] +then MSG=" - ${MSG} - `cat $TMPFILE` " -# Tell Hobbit about it -$BB $BBDISP "status $MACHINE.$COLUMN $COLOR `date` - ${MSG} - " -exit 0 - - +`cat $TMPFILE` +" +elif [[ $MSG != "No Orphans Found." ]] +then +MSG=" +${MSG} `cat $TMPFILE` +<b>From <a href="/shell/" target="_blank">System >> Terminal</a> run find_orphans.py to clean up these issues.</b> +" +fi +# Tell Hobbit about it +$BB $BBDISP "status $MACHINE.$COLUMN $COLOR Results from find_orphans.py + ${MSG} + " +exit 0 diff --git a/abs/core/xymon/hobbit_myth_data.py b/abs/core/xymon/hobbit_myth_data.py index ec16818..618e2ac 100755 --- a/abs/core/xymon/hobbit_myth_data.py +++ b/abs/core/xymon/hobbit_myth_data.py @@ -7,7 +7,7 @@ import urllib2 import string import time , datetime import sys,os -from MythTV import MythBE,MythDB,MythLog +from MythTV import MythDB,MythLog #0=green @@ -77,7 +77,6 @@ def find_data_left(): days_left = 0 today = datetime.datetime.today() try: - be=MythBE() db = MythDB() cursor = db.cursor() except: diff --git a/abs/core/xymon/hobbit_notify.sh b/abs/core/xymon/hobbit_notify.sh index 26b789f..39e4d43 100644 --- a/abs/core/xymon/hobbit_notify.sh +++ b/abs/core/xymon/hobbit_notify.sh @@ -40,40 +40,50 @@ function msg_func_out() { } function msg_local_out() { - /usr/LH/bin/msg_client.py --msg "${1}" - - } +} case x$BBSVCNAME in xdisk) - case $BBCOLORLEVEL in + case $BBCOLORLEVEL in red ) - msg_func_out "$BBHOSTNAME disk is at 95% full or greater|alert" + if [[ $BBALPHAMSG == *"&red / ("* ]] + then + msg_func_out "The OS (/) partition on $BBHOSTNAME is over 99% full|alert" + fi + if [[ $BBALPHAMSG == *"&red /home ("* ]] + then + msg_func_out "The home (/home) partition on $BBHOSTNAME is over 99% full|alert" + fi + if [[ $BBALPHAMSG == *"&red /data/srv/mysql ("* ]] + then + msg_func_out "The mysql (/data/srv/mysql) partition on $BBHOSTNAME is over 99% full|alert" + fi ;; yellow ) - msg_func_out "$BBHOSTNAME disk is almost full" + msg_func_out "A disk on $BBHOSTNAME is almost full" ;; - esac - ;; - - xfunc) - if [ "x$hostname" = "x$BBHOSTNAME" ] + esac + ;; + + xmemory) + #do nothing for memory + ;; + + xfunc) + if [ "x$hostname" = "x$BBHOSTNAME" ] then - msg_local_out "System can not communicate with itself (func) |alert" + msg_local_out "System can not communicate with itself (func)|alert" else msg_func_out "$hostname can not communicate with $BBHOSTNAME (func)|alert" fi ;; - *) + *) #catch all for everything else msg_func_out "Condition $BBCOLORLEVEL $BBSVCNAME on $BBHOSTNAME\nSee the system health webpage.|alert" ;; esac - - - diff --git a/abs/core/xymon/tasks.d.mv b/abs/core/xymon/tasks.d.mv index 02afc14..2cdaebb 100755 --- a/abs/core/xymon/tasks.d.mv +++ b/abs/core/xymon/tasks.d.mv @@ -42,4 +42,16 @@ ENVFILE $XYMONCLIENTHOME/etc/xymonclient.cfg CMD /home/xymon/server/ext/xymon-gputemp.sh LOGFILE $BBSERVERLOGS/xymon-gputemp.log - INTERVAL 5m
\ No newline at end of file + INTERVAL 5m + +[hddtemp] + ENVFILE $XYMONCLIENTHOME/etc/xymonclient.cfg + CMD /home/xymon/server/ext/xymon-hddtemp.sh + LOGFILE $BBSERVERLOGS/xymon-hddtemp.log + INTERVAL 5m + +[smart] + ENVFILE $XYMONCLIENTHOME/etc/xymonclient.cfg + CMD /home/xymon/server/ext/xymon-smart.sh + LOGFILE $BBSERVERLOGS/xymon-smart.log + INTERVAL 30m diff --git a/abs/core/xymon/xymon-client.rules b/abs/core/xymon/xymon-client.rules new file mode 100644 index 0000000..f13b3f6 --- /dev/null +++ b/abs/core/xymon/xymon-client.rules @@ -0,0 +1,3 @@ +#These rules are used by xymon-client +nobody ALL = NOPASSWD:/usr/bin/smartctl + diff --git a/abs/core/xymon/xymon-hddtemp.sh b/abs/core/xymon/xymon-hddtemp.sh new file mode 100755 index 0000000..7084abc --- /dev/null +++ b/abs/core/xymon/xymon-hddtemp.sh @@ -0,0 +1,62 @@ +#!/bin/sh + +# NOTE: Must be run as root, so you probably need to setup sudo for this. + +ls /dev/disk/by-id/* | grep -ve '-part' -ve '/wwn-' | +while read DISK +do + DISKDEV=`ls -l $DISK | awk -F/ '{print $NF}'` + DISKNAME=`echo $DISK | awk -F/ '{print $5}' | tr ":" "_"` + + #check if device is optical + if [[ $DISKDEV == "sr"* ]] + then + continue + fi + + #check if device is mounted + if ! mount | grep -q /dev/$DISKDEV + then + continue + fi + + #check if SMART is disabled and enable + DRES=`sudo /usr/bin/smartctl -A $DISK` + if [[ $DRES == *"SMART Disabled. Use option -s with argument 'on'"* ]] + then + sudo /usr/bin/smartctl -s on $DISK + DRES=`sudo /usr/bin/smartctl -A $DISK` + fi + + hddtemp=`echo "$DRES" | grep Temperature_Celsius | awk '{print $10}'` + + TEMP=": $hddtemp" + if [[ $hddtemp == "" ]] + then + TEMP="- No Temp Sensor Found" + COLOR="4&clear" + elif test $hddtemp -gt 55 + then + COLOR="1&red" + elif test $hddtemp -ge 50 + then + COLOR="2&yellow" + else + COLOR="3&green" + fi + + echo "${COLOR} $DISKNAME $TEMP" + +done > /tmp/hddcheck + +COLOR=`cat /tmp/hddcheck | awk '{print $1}' | sort | uniq | head -1 | cut -c3-` + +# Report status to Xymon Server +$XYMON $XYMSRV "status ${MACHINE}.hddtemp ${COLOR} Hard Drive Temperatures (in °C) + +`cat /tmp/hddcheck | cut -c2-` +" + +rm -f /tmp/hddcheck + +exit 0 diff --git a/abs/core/xymon/xymon-server.rules b/abs/core/xymon/xymon-server.rules index b0f6100..e4c515b 100644 --- a/abs/core/xymon/xymon-server.rules +++ b/abs/core/xymon/xymon-server.rules @@ -1,5 +1,6 @@ #These rules are used by xymon-server nobody ALL = NOPASSWD:/usr/bin/certmaster-ca +nobody ALL = NOPASSWD:/usr/bin/smartctl http ALL = NOPASSWD:/usr/LH/bin/lh_system_backup_job http ALL = NOPASSWD:/usr/LH/bin/lh_system_restore_job http ALL = NOPASSWD:/sbin/sv diff --git a/abs/core/xymon/xymon-smart.sh b/abs/core/xymon/xymon-smart.sh new file mode 100755 index 0000000..7c10db5 --- /dev/null +++ b/abs/core/xymon/xymon-smart.sh @@ -0,0 +1,75 @@ +#!/bin/sh + +# NOTE: Must be run as root, so you probably need to setup sudo for this. + +if test -f /tmp/dres; then rm -f /tmp/dres; fi + +ls /dev/disk/by-id/* | grep -ve '-part' -ve '/wwn-' | +while read DISK +do + DISKDEV=`ls -l $DISK | awk -F/ '{print $NF}'` + + #check if device is optical + if [[ $DISKDEV == "sr"* ]] + then + continue + fi + + #check if device is mounted + if ! mount | grep -q /dev/$DISKDEV + then + continue + fi + + DRES=`sudo /usr/bin/smartctl -H -n standby $DISK` + DCODE=$? + + #check if SMART is disabled and enable + if [[ $DRES == *"SMART Disabled. Use option -s with argument 'on'"* ]] + then + sudo /usr/bin/smartctl -s on $DISK + DRES=`sudo /usr/bin/smartctl -H -n standby $DISK` + DCODE=$? + fi + + DSTBY=$(( $DCODE & 2 )) + DFAIL=$(( $DCODE & 8 )) + DWARN=$(( $DCODE & 32 )) + + if test $DSTBY -ne 0 + then + COLOR="4&clear" + elif test $DFAIL -ne 0 + then + COLOR="1&red" + elif test $DWARN -ne 0 + then + COLOR="2&yellow" + else + COLOR="3&green" + fi + + echo "${COLOR} $DISK (/dev/$DISKDEV)" + + echo "${COLOR} $DISK (/dev/$DISKDEV)" | cut -c2- >>/tmp/dres + echo "" >>/tmp/dres + echo "$DRES" | egrep -v "^smartctl|^Copyright|^$|^===" >>/tmp/dres + echo "-----------------------------------------------------------------------------" >>/tmp/dres + echo "" >>/tmp/dres + echo "" >>/tmp/dres +done >/tmp/dcheck + +COLOR=`cat /tmp/dcheck | awk '{print $1}' | sort | uniq | head -1 | cut -c3-` + +$XYMON $XYMSRV "status ${MACHINE}.smart ${COLOR} SMART Health Check + +`cat /tmp/dcheck | cut -c2-` + +============================== Detailed status ============================== + +`cat /tmp/dres` +" + +rm -f /tmp/dres /tmp/dcheck + +exit 0 diff --git a/abs/core/xymon/xymonserver.cfg.diff b/abs/core/xymon/xymonserver.cfg.diff index 8850670..48631dc 100755 --- a/abs/core/xymon/xymonserver.cfg.diff +++ b/abs/core/xymon/xymonserver.cfg.diff @@ -1,30 +1,31 @@ ---- xymonserver.cfg.orig 2014-10-25 22:05:16.611876375 -0500 -+++ xymonserver.cfg 2014-10-25 22:07:35.818604144 -0500 -@@ -145,6 +145,11 @@ +--- xymonserver.cfg.orig 2015-03-04 21:28:58.618598840 +0000 ++++ xymonserver.cfg 2015-03-04 21:31:55.352569106 +0000 +@@ -145,6 +145,12 @@ RRDHEIGHT="120" RRDWIDTH="576" # The RRD's contain 576 data points, so this is a good value - + +NCV_storage="*:GAUGE" +NCV_memmbe="*:GAUGE" +NCV_memmfe="*:GAUGE" +NCV_gputemp="*:GAUGE" ++SPLITNCV_hddtemp="*:GAUGE" + # TEST2RRD defines the status- and data-messages you want to collect RRD data # about. You will normally not need to modify this, unless you have added a # script to pick up RRD data from custom tests (the xymond_rrd --extra-script -@@ -156,11 +161,13 @@ +@@ -156,11 +162,13 @@ # # This is also used by the svcstatus.cgi script to determine if the detailed # status view of a test should include a graph. -TEST2RRD="cpu=la,disk,inode,qtree,memory,$PINGCOLUMN=tcp,http=tcp,dns=tcp,dig=tcp,time=ntpstat,vmstat,iostat,netstat,temperature,apache,bind,sendmail,mailq,nmailq=mailq,socks,bea,iishealth,citrix,bbgen,bbtest,bbproxy,hobbitd,files,procs=processes,ports,clock,lines,ops,stats,cifs,JVM,JMS,HitCache,Session,JDBCConn,ExecQueue,JTA,TblSpace,RollBack,MemReq,InvObj,snapmirr,snaplist,snapshot,if_load=devmon,temp=devmon,paging,mdc,mdchitpct,cics,dsa,getvis,maxuser,nparts,xymongen,xymonnet,xymonproxy,xymond" +#TEST2RRD="cpu=la,disk,inode,qtree,memory,$PINGCOLUMN=tcp,http=tcp,dns=tcp,dig=tcp,time=ntpstat,vmstat,iostat,netstat,temperature,apache,bind,sendmail,mailq,nmailq=mailq,socks,bea,iishealth,citrix,bbgen,bbtest,bbproxy,hobbitd,files,procs=processes,ports,clock,lines,ops,stats,cifs,JVM,JMS,HitCache,Session,JDBCConn,ExecQueue,JTA,TblSpace,RollBack,MemReq,InvObj,snapmirr,snaplist,snapshot,if_load=devmon,temp=devmon,paging,mdc,mdchitpct,cics,dsa,getvis,maxuser,nparts,xymongen,xymonnet,xymonproxy,xymond" -+TEST2RRD="cpu=la,disk,inode,qtree,memory,$PINGCOLUMN=tcp,http=tcp,dns=tcp,dig=tcp,time=ntpstat,vmstat,iostat,netstat,temperature,apache,bind,sendmail,mailq,nmailq=mailq,socks,bea,iishealth,citrix,bbgen,bbtest,bbproxy,hobbitd,files,procs=processes,ports,clock,lines,ops,stats,cifs,JVM,JMS,HitCache,Session,JDBCConn,ExecQueue,JTA,TblSpace,RollBack,MemReq,InvObj,snapmirr,snaplist,snapshot,if_load=devmon,temp=devmon,paging,mdc,mdchitpct,cics,dsa,getvis,maxuser,nparts,xymongen,xymonnet,xymonproxy,xymond,storage=ncv,memmbe=ncv,memmfe=ncv,gputemp=ncv" - ++TEST2RRD="cpu=la,disk,inode,qtree,memory,$PINGCOLUMN=tcp,http=tcp,dns=tcp,dig=tcp,time=ntpstat,vmstat,iostat,netstat,temperature,apache,bind,sendmail,mailq,nmailq=mailq,socks,bea,iishealth,citrix,bbgen,bbtest,bbproxy,hobbitd,files,procs=processes,ports,clock,lines,ops,stats,cifs,JVM,JMS,HitCache,Session,JDBCConn,ExecQueue,JTA,TblSpace,RollBack,MemReq,InvObj,snapmirr,snaplist,snapshot,if_load=devmon,temp=devmon,paging,mdc,mdchitpct,cics,dsa,getvis,maxuser,nparts,xymongen,xymonnet,xymonproxy,xymond,storage=ncv,memmbe=ncv,memmfe=ncv,gputemp=ncv,hddtemp=ncv,smart" + # This defines which RRD files to include on the "trends" column webpage, # and the order in which they appear. -GRAPHS="la,disk,inode,qtree,files,processes,memory,users,vmstat,iostat,tcp.http,tcp,ncv,netstat,ifstat,mrtg::1,ports,temperature,ntpstat,apache,bind,sendmail,mailq,socks,bea,iishealth,citrix,bbgen,bbtest,bbproxy,hobbitd,clock,lines,ops,stats,cifs,JVM,JMS,HitCache,Session,JDBCConn,ExecQueue,JTA,TblSpace,RollBack,MemReq,InvObj,snapmirr,snaplist,snapshot,devmon::1,if_load::1,temp,paging,mdc,mdchitpct,cics,dsa,getvis,maxuser,nparts,xymongen,xymonnet,xymonproxy,xymond" +#GRAPHS="la,disk,inode,qtree,files,processes,memory,users,vmstat,iostat,tcp.http,tcp,ncv,netstat,ifstat,mrtg::1,ports,temperature,ntpstat,apache,bind,sendmail,mailq,socks,bea,iishealth,citrix,bbgen,bbtest,bbproxy,hobbitd,clock,lines,ops,stats,cifs,JVM,JMS,HitCache,Session,JDBCConn,ExecQueue,JTA,TblSpace,RollBack,MemReq,InvObj,snapmirr,snaplist,snapshot,devmon::1,if_load::1,temp,paging,mdc,mdchitpct,cics,dsa,getvis,maxuser,nparts,xymongen,xymonnet,xymonproxy,xymond" -+GRAPHS="la,disk,inode,qtree,files,processes,memory,users,vmstat,iostat,tcp.http,tcp,ncv,netstat,ifstat,mrtg::1,ports,temperature,ntpstat,apache,bind,sendmail,mailq,socks,bea,iishealth,citrix,bbgen,bbtest,bbproxy,hobbitd,clock,lines,ops,stats,cifs,JVM,JMS,HitCache,Session,JDBCConn,ExecQueue,JTA,TblSpace,RollBack,MemReq,InvObj,snapmirr,snaplist,snapshot,devmon::1,if_load::1,temp,paging,mdc,mdchitpct,cics,dsa,getvis,maxuser,nparts,xymongen,xymonnet,xymonproxy,xymond,storage,memmbe,memmfe,gputemp" - ++GRAPHS="la,disk,inode,qtree,files,processes,memory,users,vmstat,iostat,tcp.http,tcp,ncv,netstat,ifstat,mrtg::1,ports,temperature,ntpstat,apache,bind,sendmail,mailq,socks,bea,iishealth,citrix,bbgen,bbtest,bbproxy,hobbitd,clock,lines,ops,stats,cifs,JVM,JMS,HitCache,Session,JDBCConn,ExecQueue,JTA,TblSpace,RollBack,MemReq,InvObj,snapmirr,snaplist,snapshot,devmon::1,if_load::1,temp,paging,mdc,mdchitpct,cics,dsa,getvis,maxuser,nparts,xymongen,xymonnet,xymonproxy,xymond,storage,memmbe,memmfe,gputemp,hddtemp" + # These two settings can be used to restrict what filesystems are being # tracked (i.e. have their utilisation graphed) by Xymon. |