From TJ Yang, he probably has this posted on his site which I don't recall right now. We may or may not have made edits. We use it on Red Hat Linux Enterprise 5.6.
#! /bin/sh
-----------------------------------------------------------------------------
S H E L L S C R I P T S P E C I F I C A T I O N
-----------------------------------------------------------------------------
NAME
bluesync.sh - A shell script to replicate Primary Xymon Serverblue record
to Secondary standby Xymon server.
REVISION HISTORY
07/12/2009 Base on getblue.sh and putblue.sh by Ralph Mitchell <ralphmitchell (at) gmail.com>
http://www.hswn.dk/hobbiton/2009/07/msg00214.html
10/19/2009 T.J. Yang merge two scripts into one for Xymon High Availability setup.
USAGE
This script is tested on Solaris 10 OS.
put this shell script in tasks.cfg as section like following.
[bluesync]
# DISABLED
ENABLE
ENVFILE /etc/opt/hobbitserver42/hobbitserver.cfg
CMD /opt/hobbitserver42/ext/bluesync/bluesync.sh
LOGFILE $XYMONSERVERLOGS/bluesync.sh.log
INTERVAL 5m
DESCRIPTION
Xymon keep its blue(maintenance) in memory, not in a file. This script
is to copy the blue records from primary Xymon A server into Xymon B secondary one.
This script is for use when running Active-Active type of Xymon server
High Availability setup. Xymon B is same as Xymon A except
the alerting function is disabled. There is another script running on Xymon B to
detect the outage of Xymon A and enable Xymon B to become primary one.
Algorithems:
1. Pull blue records from Xymon1 and dump them into Xymon2's ext/xymon directory.
2. Process the lifetime fields' value
if lifetime is -1 and greater then zero
then run "bb xymon2.vzbi.com "disable hosname.test lifetime message"
to keep the blue record.
if liftime =0
the run "bb xymon2.vzbi.com "enable hostname.*d" to enable this host blue record
since it is expired or was enabled on xymon1 server.
RETURN CODE
SUCCESS (=0) - script completed sucessfully
ERROR (=1) - error... bad things happened
WARNING (=2) - warning... something's not quite right, but it's
not serious enough to prevent installation.
set -x
---------------------------- CONSTANT DECLARATION ---------------------------
XYMONCFG="/home/xymon/server/etc/xymonserver.cfg"
BlueTxt="/tmp/xymon1.vzbi.com.blue.txt"
HB1="xymon1.vzbi.com"
SED="/bin/sed"
HB2="xymon2.vzbi.com"
NOW=/bin/date +%s
EXPR="/usr/bin/expr"
RM="/bin/rm"
SUCCESS=0
ERROR=1
WARNING=2
export SUCCESS ERROR WARNING
inherit xymon server variables in configuration file
#. ${XYMONCFG}
---------------------------- VARIABLE DECLARATION ---------------------------
exit_code=${SUCCESS}
******************************** MAIN SCRIPT ********************************
remove the old file first.
if [ -f ${BlueTxt} ]; then ${RM} ${BlueTxt} exit_code=$? fi
Getting blue records into a text file.
if [ ${exit_code} -eq ${SUCCESS} ]; then $XYMON ${HB1} "xymondboard color=blue fields=hostname,testname,disabletime,dismsg" | ${SED} -e 's/\\/\\\\/g' > ${BlueTxt} exit_code=$? fi
if [ ${exit_code} -eq ${SUCCESS} ]; then
cat ${BlueTxt} | while read line
do
OFS="$IFS"
IFS="|"
set $line
IFS="$OFS"
if [ "$3" -eq "-1" ]; then
# found "disable until OK"
lifetime="-1"
else
lifetime=$EXPR $3 - ${NOW}
if [ "$lifetime" -le "0" ]; then
# this one expired, enable it
$XYMON ${HB2} "enable $1.*"
else
lifetime="$lifetime"s
fi
fi
msg=echo "$4" | $SED -e 's/\\\n/\n/g'
$XYMON ${HB2} "disable $1.$2 $lifetime $msg"
done
exit_code=$?
fi
exit ${exit_code}
David Gore (v965-3670) Network Management Systems (NMS) IMPACT Transport Team Lead - SCSA, SCNA Page: 1-800-PAG-eMCI pin 1406090 Vnet: 965-3676
From: xymon-bounces at xymon.com [mailto:xymon-bounces at xymon.com] On Behalf Of Carl Melgaard Sent: Tuesday, August 09, 2011 13:37 To: 'xymon at xymon.com' Subject: [Xymon] Synchronize disabled servers from one xymon installation to another?
Hi,
Is there an easy way to synchronize xymon disabled status (servers put in maintenance) from 1 xymon server to another (a standby server)?
/melgaard