一、服务存活监控脚本
建立服务存活监控脚本/usr/local/presto/mointer-presto-restart.sh
,chomd +x ./mointer-presto-restart.sh
,脚本每20s循环检测PrestoServer进程,若进程挂掉,自动拉起并在/usr/local/presto/log.txt
中打点记录本次重启时间。
#!/bin/bash
interval=20 #设置采集间隔20s
condition=true
while $condition
do
pid=$(ps -ef |grep PrestoServer |grep -v "grep"| awk '{print $2}') #获取进程pid
if [[ `expr match "$pid" "[0-9][0-9]*$"` == 0 ]];
then
echo $(date +"%y-%m-%d %H:%M:%S") >> log.txt ## 记录内存超阈值异常至log文件
echo "服务挂掉,重启" >> log.txt
/usr/local/presto/presto-server-0.212/bin/launcher start ## 重启服务
fi
sleep $interval
done
二、脚本启动方式
nohup ./mointer-presto-restart.sh > /dev/null 2> /dev/null &
三、脚本停止方式
方式1
ps -ef |grep mointer-presto-restart.sh |grep -v "grep"
kill -9 pid
方式2
ps auxf|grep ' mointer-presto-restart.sh'|grep -v grep|awk '{print $2}'|xargs kill -9