You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-10-20 00:09:21 +03:00
76 lines
2.6 KiB
Bash
76 lines
2.6 KiB
Bash
#!/bin/sh
|
|
|
|
#/*******************************************************************************
|
|
#* Script Name: getsar.sh
|
|
#* Date Created: 2009.03.09
|
|
#* Author: Calpont Corp.
|
|
#* Purpose: Build a sar command based on user input and create the data file on all servers in the stack
|
|
#* Parameters: date - day of month in question (dd)
|
|
#* starttime - start of sar period (hh:mm)
|
|
#* endtime - end of sar period (hh:mm)
|
|
#* hostdir - directory name for this run
|
|
#******************************************************************************/
|
|
|
|
CTOOLS=/usr/local/mariadb/columnstore/tools
|
|
|
|
date=$1
|
|
starttime=$2
|
|
endtime=$3
|
|
hostdir=$4
|
|
localhost=$(hostname -s)
|
|
modulename=`cat /usr/local/mariadb/columnstore/local/module`
|
|
if [ -f /tmp/.prat/.hostlist2.txt ]; then
|
|
sc=`wc -l < /tmp/.prat/.hostlist2.txt`
|
|
else
|
|
sc=0
|
|
fi
|
|
rc=1
|
|
|
|
readserverlist ()
|
|
{ cat /tmp/hostlist.txt |
|
|
while read moduletype hostname hostdir; do
|
|
if [ $hostname = $localhost ]; then
|
|
echo Extracting sar data from local host $localhost
|
|
getsarlocal $date $starttime $endtime $hostdir
|
|
elif [ $rc -lt $sc ]; then
|
|
rc=$sc
|
|
cat /tmp/.prat/.hostlist2.txt |
|
|
while read servername srvpwd hostdir; do
|
|
if [ $servername != $localhost ]; then
|
|
echo Extracting sar data from remote host $servername
|
|
getsarremote $servername $srvpwd $date $starttime $endtime $hostdir
|
|
fi
|
|
done
|
|
fi
|
|
done
|
|
}
|
|
#
|
|
getsarremote ()
|
|
{ # Send the sar extraction statments to the remote module
|
|
/usr/local/mariadb/columnstore/bin/remote_command.sh $servername $srvpwd "$CTOOLS/getsar.sh $date $starttime $endtime $hostdir"
|
|
}
|
|
#
|
|
getsarlocal ()
|
|
{ mkdir -p $CTOOLS/data/$hostdir/sar
|
|
# Create sar statements and extract data to text files
|
|
echo "LC_ALL=C sar -P ALL -s $starttime:00 -e $endtime:00 -f /var/log/sa/sa$date > $CTOOLS/data/$hostdir/sar/cpu_$localhost.txt" >> /tmp/sarcpu.sh
|
|
chmod 755 /tmp/sarcpu.sh
|
|
/tmp/sarcpu.sh
|
|
echo "LC_ALL=C sar -r -s $starttime:00 -e $endtime:00 -f /var/log/sa/sa$date > $CTOOLS/data/$hostdir/sar/mem_$localhost.txt" >> /tmp/sarmem.sh
|
|
chmod 755 /tmp/sarmem.sh
|
|
/tmp/sarmem.sh
|
|
echo "LC_ALL=C sar -n DEV -s $starttime:00 -e $endtime:00 -f /var/log/sa/sa$date > $CTOOLS/data/$hostdir/sar/net_$localhost.txt" >> /tmp/sarnet.sh
|
|
chmod 755 /tmp/sarnet.sh
|
|
/tmp/sarnet.sh
|
|
rm -rf /tmp/sar*.sh
|
|
}
|
|
#
|
|
if [ $modulename = "dm1" ]; then
|
|
# Read through the host list and process each module in the stack
|
|
readserverlist
|
|
else
|
|
getsarlocal $date $starttime $endtime $hostdir
|
|
fi
|
|
#
|
|
exit 0
|