summaryrefslogtreecommitdiff
path: root/qpid/java/broker/scripts/resetAlerting.sh
diff options
context:
space:
mode:
Diffstat (limited to 'qpid/java/broker/scripts/resetAlerting.sh')
-rw-r--r--qpid/java/broker/scripts/resetAlerting.sh116
1 files changed, 116 insertions, 0 deletions
diff --git a/qpid/java/broker/scripts/resetAlerting.sh b/qpid/java/broker/scripts/resetAlerting.sh
new file mode 100644
index 0000000000..18e8c64cb0
--- /dev/null
+++ b/qpid/java/broker/scripts/resetAlerting.sh
@@ -0,0 +1,116 @@
+#!/bin/bash
+#
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+#
+
+#
+# Alerting Rest Scripts to renabled the alerts on the queue.
+#
+# Defaults to Localhost broker
+#
+
+if [ -z "$QPID_ALERT_HOME" ]; then
+ export QPID_ALERT_HOME=$(dirname $(dirname $(readlink -f $0)))
+ export PATH=${PATH}:${QPID_ALERT_HOME}/bin
+fi
+
+USERNAME=$1
+PASSWORD=$2
+HOSTNAME=$3
+PORT=$4
+
+CLI="$QPID_ALERT_HOME/bin/qpid-cli -h ${HOSTNAME:-localhost} -p ${PORT:-8999}"
+AUTH=
+if [ -n $USERNAME ] ; then
+ if [ "$USERNAME" == "-h" ] ; then
+ echo "resetAlerting.sh: [<username> <password> [<hostname> [<port>]]]"
+ exit 0
+ fi
+ if [ -n $PASSWORD ] ; then
+ AUTH="-u $USERNAME -w $PASSWORD"
+ else
+ echo "Password must be specified with username"
+ fi
+fi
+
+
+OUTPUT=0
+
+runCommand()
+{
+ RET=`$CLI $1 $AUTH`
+}
+
+resetQueue()
+{
+ vhost=$1
+ queue=$2
+ runCommand "get -o queue -v $vhost -n $queue -a MaximumQueueDepth"
+ rawQDepth=$RET
+ # Note that MaxQueueDepth is returned as Kb but set as b!
+ queueDepth=$[ $rawQDepth * 1024 ]
+ runCommand "get -o queue -v $vhost -n $queue -a MaximumMessageAge"
+ messageAge=$RET
+ runCommand "get -o queue -v $vhost -n $queue -a MaximumMessageCount"
+ messageCount=$RET
+ runCommand "get -o queue -v $vhost -n $queue -a MaximumMessageSize"
+ messageSize=$RET
+
+ if [ $OUTPUT == 1 ] ; then
+ echo Current Values:
+ echo MaximumQueueDepth : $queueDepth
+ echo MaximumMessageAge : $messageAge
+ echo MaximumMessageCount : $messageCount
+ echo MaximumMessageSize : $messageSize
+ fi
+
+ runCommand "set -o queue -v $vhost -n $queue -a MaximumMessageSize -s $messageSize"
+ runCommand "set -o queue -v $vhost -n $queue -a MaximumMessageAge -s $messageAge"
+ runCommand "set -o queue -v $vhost -n $queue -a MaximumMessageCount -s $messageCount"
+ runCommand "set -o queue -v $vhost -n $queue -a MaximumQueueDepth -s $queueDepth"
+}
+
+resetVirtualHost()
+{
+ vhost=$1
+ ignore=0
+ for queue in `$CLI list -o queue -v $vhost $AUTH |grep '|' | cut -d '|' -f 1 ` ; do
+
+ if [ $ignore == 0 ] ; then
+ ignore=1
+ else
+ resetQueue $vhost $queue
+ fi
+
+ done
+}
+
+VHOST=`$CLI list -o virtualhost $AUTH`
+COUNT=`echo $VHOST | grep -c VirtualHost`
+if [ $COUNT -gt 0 ] ; then
+ for vhost in `echo $VHOST |grep VirtualHost|cut -d '=' -f 3` ; do
+
+ echo "Resetting alert levels for $vhost";
+ resetVirtualHost $vhost;
+ done
+ echo "Alerting levels reset"
+else
+ echo $VHOST
+fi