[Xymon] Synchronize disabled servers from one xymon installation to another?
Gore, David W (David)
david.gore at verizon.com
Wed Aug 10 03:42:16 CEST 2011
>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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.xymon.com/pipermail/xymon/attachments/20110809/3abcdd4b/attachment.html>
More information about the Xymon
mailing list