Friday, October 16, 2015

Server & NodeManager Listing

 Following script will display the details on machine Server Name, Process owner, Process ID and NodeManager:

#!/bin/ksh

echo "################################################################################"
echo "# WebLogic Servers"
echo "#  [owner]  [server]  [pid]   "
echo "################################################################################"
ps -ef | grep "[D]weblogic.Name="|while read tmp
do
  owner=`echo $tmp | awk '{ print $1 }'`
  webLogicServer=`echo $tmp | grep -oP "(?<=Dweblogic.Name=)[^ ]+"`
  pid=`echo $tmp | awk '{ print $2 }'`
    echo "$owner $webLogicServer $pid $port"
done|sort|column -t

echo
echo "################################################################################"
echo "# Node Managers"
echo "#       "
echo "################################################################################"
ps -ef | grep "[w]eblogic.NodeManager"|while read tmp
do
  owner=`echo $tmp | awk '{ print $1 }'`
  pid=`echo $tmp | awk '{ print $2 }'`
  port=`echo $tmp | netstat -tlpn 2>/dev/null | grep $pid | awk '{ print $4 }' | tr '\n' ',' | tr ' ' ',' | grep -o ":....," | sort -u | tr -d '\n' | tr -d ':' | sed 's
/,$//'`
  if [ -z "$port" ]; then
    port="null"
  fi
  mw_home=`echo $tmp | grep -oP "(?<=bea.home=)[^ ]+"`
    echo "$owner $mw_home $pid $port"
done|sort|column -t

exit 0

Output will be like this:

./wlsList.sh
################################################################################
# WebLogic Servers
# [owner]  [server]  [pid]
################################################################################
oracle  AdminServer  29385
oracle  MY_server1   1758
oracle  My_server2   2721
oracle  My_server3   4668

################################################################################
# Node Managers
#      
################################################################################
oracle  /opt/admin/fmw  61224  5556