############################################################
# ģ	: OceanStor9000 Ѳ칤
#       : ȡϵͳmds
# ʱ	: 20150530
#       
#           /var/log/snasmessages־ȡϵͳеmds
############################################################

#!/bin/sh
set +x

source /opt/huawei/snas/script/inspect_mml/CommonFunc.sh
SNAS_LOG_FILE="/var/log/snasmessages"
LOG_FILE="/var/log/inspect.log"
G_REMOTE_TMP_FILE2="/tmp/tmpfile2"

function LOG
{
    time=$(date)
    echo [${time}][$$]$@ >> $LOG_FILE
}

function GetMdsSubtreeNum
{
    local iRet=""
    local Time=""

    #mdsϢ
    egrep "MDB_BalWriteMap|MDB_BalLoadMapWriteMdsLoad" $SNAS_LOG_FILE | grep ON | egrep "Leader|Member" > $G_REMOTE_TMP_FILE2$FUNCNAME
    iRet=$?
    if [ $iRet -ne 0 ];then
        LOG "[ERR]Failed to check key words 'MDB_BalWriteMap' in log"
    else
        echo $G_REMOTE_TMP_FILE2$FUNCNAME | egrep "MDB_BalWriteMap|MDB_BalLoadMapWriteMdsLoad" &> /dev/null
	      iRet=$?
        if [ $iRet -eq 0 ];then
	          LOG "[ERR]Can't find key words 'MDB_BalWriteMap' in log"
        else
            #µĸϢ
            Time=`tail -n 1 $G_REMOTE_TMP_FILE2$FUNCNAME | awk -F "[.[]" '{print $2}'`
            awk -F "[.[]" '{if($2 == "'"$Time"'") print $0}' $G_REMOTE_TMP_FILE2$FUNCNAME | \
            awk -v i=0 -F "[][|]" '{for(i=0;i<NF;i++){if($i=="Member"||$i=="Leader") print $(i-1),$i,$(i+5)}}' > $G_REMOTE_TMP_FILE2$FUNCNAME'_balmap'
            
        fi
    fi
    
    cat /proc/monc_mdsmap |grep Rank > $G_REMOTE_TMP_FILE2$FUNCNAME'_mdsmap'
    
    awk 'NR==FNR{a[$4]=$8}NR>FNR{print $1,$2,$3,a[$1]}' $G_REMOTE_TMP_FILE2$FUNCNAME'_mdsmap' $G_REMOTE_TMP_FILE2$FUNCNAME'_balmap'
 
    #ɾʱļ
    rm $G_REMOTE_TMP_FILE2$FUNCNAME $G_REMOTE_TMP_FILE2$FUNCNAME'_mdsmap' $G_REMOTE_TMP_FILE2$FUNCNAME'_balmap'
 
    return 0
}

GetMdsSubtreeNum
exit 0
