File: //proc/thread-self/root/proc/self/root/usr/local/qcloud/monitor/barad/admin/trystart.sh
#!/bin/sh
export PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'
export LD_LIBRARY_PATH=../lib
cd $(dirname $0)
readonly agent_name='barad_agent'
readonly py='../../python26/bin/python'
chmod +x $py
replace_so_files()
{
local curr_arch=`uname -m`
#use x86 files
if [ "$curr_arch" = "x86_64" ];then
cp -f ../lib/x86files/_psutil_linux.so ../lib/psutil/
cp -f ../lib/x86files/_psutil_posix.so ../lib/psutil/
cp -f ../lib/x86files/setproctitle.so ../lib/
cp -f ../lib/x86files/_sqlite3.so ../lib/
cp -f ../lib/x86files/libffi.so.6 ../lib/
cp -f ../lib/x86files/libpython2.6.so.1.0 ../lib/
#x86_32
elif [ "$curr_arch" = "i686" ];then
cp -f ../lib/x86files/_sqlite3.so ../lib/
cp -f ../lib/x86files/libffi.so.6 ../lib/
cp -f ../lib/x86files/libpython2.6.so.1.0 ../lib/
#use arm files
else
cp -f ../lib/armfiles/_psutil_linux.so ../lib/psutil/
cp -f ../lib/armfiles/_psutil_posix.so ../lib/psutil/
cp -f ../lib/armfiles/setproctitle.so ../lib/
cp -f ../lib/armfiles/_sqlite3.so ../lib/
cp -f ../lib/armfiles/libffi.so.6 ../lib/
cp -f ../lib/armfiles/libpython2.7.so.1.0 ../lib/
fi
return 1
}
check_barad_memory()
{
local sum=0;
for x in `ps axo rss,comm | grep $agent_name |awk '{print $1}'`
do
sum=$(($sum+$x))
done
#moa rss memory is normal when $rss < 1G
if [ $sum -lt 1048576 ];then
echo "memory normal:$sum KB"
return 0
else
echo "memory exceed:$sum KB"
return 1
fi
}
check_alive()
{
status=`ps ax | grep "$agent_name" | grep -v "grep" |wc -l`
if [ $status -gt 0 ]; then
# process exist
echo "barad_agent already exist, need check RSS memory"
check_barad_memory
#restart barad when rss memory > 1G
[ $? -eq 1 ] && bash stop.sh || exit 1
else
bash stop.sh
fi
}
check_alive
#only replace files when barad need start
replace_so_files
mkdir -p ../log
eval '$py ../bin/agent.py -d'
status=`ps -axo stat,cmd | grep $agent_name | grep -v grep | awk '{if ( $1 != "Z" ) print $2}' | wc -l`
if [ $status -gt 0 ]; then
echo "barad_agent run succ"
exit 0
else
echo "barad_agent run fail"
exit 111
fi