Sunday, September 20, 2009

Enable/Disable tracing using a specified trace string

#!/bin/sh############################################################ #This shell script is used to enable and disable tracing of Websphere Process Server with a #chosen trace string passed as parameter to the script ###########################################################
WPS_HOME=/opt/wps6/ProcServer
WPS_USER=
WPS_PWD=
printUsage() {
echo -e "\t ######################################"
echo -e "\t ./wpsTracing.sh enable/disable "
echo -e "\t enable -> enable the trace on the server"
echo -e "\t disable -> disable the trace on the server"
echo -e "\t -> Enter tracestring as the second parameter" echo -e "\t #####################################################################"}
if [ $# -eq 0 -o $# -eq 1 ]; then printUsage; exit 1;fi
#echo "#####################################################################"#echo "Creating dynamic jacl script to "$1 "tracing on WPSNodes with trace string "$2#echo "#####################################################################"if [ $1 == "enable" ]
then
trace=true
truetraceString=$2
elsetrace=false
traceString=$2
fi
### Creating a jacl script dynamically
cat > setTrace.jacl <#### setTrace.jacl
## Automatically enable/disable tracing on the WPS Servers using a specific trace String##################################################################################################set cellName [\$AdminControl getCell]
set Node1 {WPHWPS01Node01} #Set Node1 to your nodeName
set Node2 {WPHWPS02Node01} #Set Node2 to your nodeName
set WPS01 [\$AdminConfig getid /Cell:\$cellName/Node:\$Node1/]
set WPS02 [\$AdminConfig getid /Cell:\$cellName/Node:\$Node2/]
####### FOR Node1 #################
set traceServices1 [\$AdminConfig list TraceService \$WPS01]
foreach traceService1 \$traceServices1
{\$AdminConfig modify \$traceService1 {{startupTraceSpecification $traceString}}\$AdminConfig modify \$traceService1 {{enable $trace}}
break
}

####### FOR Node2 NOW #################
set traceServices2 [\$AdminConfig list TraceService \$WPS02]
foreach traceService2 \$traceServices2
{\$AdminConfig modify \$traceService2 {{startupTraceSpecification $traceString}}\$AdminConfig modify \$traceService2 {{enable $trace}}
break
}
\$AdminConfig saveputs "Saved"
EOF
./wsadmin.sh -username $WPS_USER -password $WPS_PWD -f setTrace.jacl
echo "#####################################################################"echo "App Server Trace String Updated : "echo "#####################################################################"
# Removing intermediate JACL script after the work
rm -r setTrace.jacl