Show the last cluster start, stop and fail-over date and time
Show the last cluster start, stop and fail-over date and time.
#!/usr/bin/ksh
#
# When was the last cluster fail-over, start-up and shutdown?
# Written by Stephen Diwell - capacityreports.net
[[ -n ${DEBUG} ]] && set -x
LOCAL_NODE=$( /usr/es/sbin/cluster/utilities/get_local_nodename )
PRIMARY_NODE=$( /usr/es/sbin/cluster/utilities/clshowres | awk '/Participating Node Name/ { print $4 }' )
OTHER_NODES=$( /usr/es/sbin/cluster/utilities/clnodename | egrep -v ${PRIMARY_NODE} )
LOG_DIR=$( /usr/es/sbin/cluster/utilities/cllog -g cluster.mmddyyyy | awk -F: '/cluster/ { print $4 }' )
LOG_FILES=cluster.????????
get_dates() {
[[ -n ${DEBUG} ]] && set -x
FOUND_CLUSTER_START_DATE=FALSE
FOUND_APPLICATION_START_DATE=FALSE
FOUND_APPLICATION_STOP_DATE=FALSE
FILE_LIST=$( cd ${LOG_DIR} ; ls -1t ${LOG_FILES} )
for FILE in $( print ${FILE_LIST} )
do
[[ ${FOUND_CLUSTER_START_DATE} = "FALSE" ]] && {
if grep -q "EVENT START: site_up_local" ${LOG_DIR}/${FILE}
then
# Found node cluster start.
CLUSTER_START_TIME=$( grep "EVENT START: site_up_local" ${LOG_DIR}/${FILE} | tail -1 | awk '{ print $3 }' )
CLUSTER_START_DATE=$( print ${FILE} | awk -F\. '{ print $2 }' )
CLUSTER_START_DD=$( print ${CLUSTER_START_DATE} | cut -c3-4 )
CLUSTER_START_MM=$( print ${CLUSTER_START_DATE} | cut -c1-2 )
CLUSTER_START_YY=$( print ${CLUSTER_START_DATE} | cut -c5-8 )
FOUND_CLUSTER_START_DATE=TRUE
fi
}
[[ ${FOUND_APPLICATION_START_DATE} = "FALSE" ]] && {
if grep -q "EVENT START: start_server" ${LOG_DIR}/${FILE}
then
# Found start server event
APP_START_TIME=$( grep "EVENT START: start_server" ${LOG_DIR}/${FILE} | tail -1 | awk '{ print $3 }' )
APP_START_DATE=$( print ${FILE} | awk -F\. '{ print $2 }' )
APP_START_DD=$( print ${APP_START_DATE} | cut -c3-4 )
APP_START_MM=$( print ${APP_START_DATE} | cut -c1-2 )
APP_START_YY=$( print ${APP_START_DATE} | cut -c5-8 )
FOUND_APPLICATION_START_DATE=TRUE
fi
}
[[ ${FOUND_APPLICATION_STOP_DATE} = "FALSE" ]] && {
if grep -q "EVENT START: stop_server" ${LOG_DIR}/${FILE}
then
# Found stop server event
APP_STOP_TIME=$( grep "EVENT START: stop_server" ${LOG_DIR}/${FILE} | tail -1 | awk '{ print $3 }' )
APP_STOP_DATE=$( print ${FILE} | awk -F\. '{ print $2 }' )
APP_STOP_DD=$( print ${APP_STOP_DATE} | cut -c3-4 )
APP_STOP_MM=$( print ${APP_STOP_DATE} | cut -c1-2 )
APP_STOP_YY=$( print ${APP_STOP_DATE} | cut -c5-8 )
FOUND_APPLICATION_STOP_DATE=TRUE
fi
}
done
}
ROLE="Secondary node ${LOCAL_NODE} :"
[[ ${LOCAL_NODE} = ${PRIMARY_NODE} ]] && ROLE="Primary node ${LOCAL_NODE} :"
get_dates
print "${ROLE} Cluster Services started: ${CLUSTER_START_DD}-${CLUSTER_START_MM}-${CLUSTER_START_YY} at ${CLUSTER_START_TIME}"
print "${ROLE} Application last stopped: ${APP_STOP_DD}-${APP_STOP_MM}-${APP_STOP_YY} at ${APP_STOP_TIME}"
print "${ROLE} Application last started: ${APP_START_DD}-${APP_START_MM}-${APP_START_YY} at ${APP_START_TIME}
"
exit 0