//TODO 查询数据库数据
List list = queryUser();
log.info("=================hart==============心跳请求!");
if(list.size()>0){
return "OK";
return "OK";
2.入口shell脚本(check_web_health.sh)
curl发起请求检查上面接口能否正常返回,总共三次请求,若有一次返回接口正常,则停止脚本执行;若三次都请求失败,则调用重启tomcat脚本(restartup_tomcat.sh)
#!/bin/bash
#Description: check web server
source /etc/profile
LOG="/home/junfeng_shell/log"
DATE=`date +%y%m%d-%H:%M`
mkdir -p /home/junfeng_shell/log
while [ $a -lt 3 ]
RESULT=$(curl --connect-timeout 15 -m 20 http://127.0.0.1:8080/system/live.action?method=getResult)
echo -----------------$RESULT
if [ $RESULT ] && [[ $RESULT -eq "OK" ]]
echo ****************success****************$RESULT
break
a=`expr $a + 1`
# sleep 10
if [ $a -eq 3 ]
# start_tomcat restart
/home/junfeng_shell/restartup_tomcat.sh
echo **[$DATE]****************error[$a]*****restart***********>>$LOG/$DATE.down
3.重启tomcat脚本(restartup_tomcat.sh)
这里直接通过杀进程方式停止tomcat,然后在重启tomcat
#!/bin/bash
#执行命令,重启tomcat
source /etc/profile
tomcat_home=/usr/local/apache-tomcat-xxxx
JAVA_HOME=/usr/local/java/jdk1.8.0_45
export JAVA_HOME
#停止tomcat变
SHUTDOWN=$tomcat_home/bin/shutdown.sh
#启动tomcat变量
STARTTOMCAT=$tomcat_home/bin/startup.sh
#ps -ef |grep test | grep -v grep |awk '{print $2}'|xargs kill -9 -p
PID=`ps -ef |grep usr/local/apache-tomcat-workflow-new/conf |grep -v grep | awk '{print $2}'`
echo $PID
if [ ! "$PID" ];then # 这里判断TOMCAT进程是否存在
echo "进程不存在"
echo "进程存在 杀死进程PID$PID"
kill -9 $PID
$STARTTOMCAT
echo "success"
#!/bin/sh#自动监控tomcat脚本并且执行重启操作#获取tomcat_IDTomcatID=`ps -ef|grep tomcat|grep -v "grep"|grep -v "monitor_tomcat"|awk '{print $2}'`Tomcatbag=`ls /usr/local/apache-tomcat-7.0.42/webapps -t |head -1`#tomca...
执行过程中需执行dos2unix checktom.sh 否则会报错,因为sh文件是在dos下编写的,需转成unix才可以执行。
#vi /usr/local/sbin/checktom.sh
#!/bin/sh
PATH=/data/jdk1.6.0_20/bin:/usr/k...
(1)不要关闭刚刚启动的Tomcat,打开浏览器在地址栏输入“localhost:8080”回车,出现Apache Tomcat主页说明Tomcat已经成功启动。(2)不要关闭刚刚启动的Tomcat,打开浏览器在地址栏输入“127.0.0.1:8080”回车,出现Apache Tomcat主页说明Tomcat已经成功启动。对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!让你陷入忐忑,让实际上本不糟糕的事情,变得糟糕。
健康监测是负载均衡不可缺少的一个重要环节,所有负载均衡流量分配的不同方式实现都是基于稳定可靠的健康监测基础之上的;针对一个无法提供应用的端口,负载均衡设备应该较快发现并将其从可用应用端口中剔除,在该端口恢复后再重新加入。
A10网络的AX系列产品,本身已经提供了丰富的健康检测方式,如下图,包含了多个不同协议,甚至可以使用多个不同健康监测的联动(例如或,与的关系)。基本上可以...
tomcat容器运行命令:
docker run -itd --name tomcat -p 8888:8080 -v /root/tomcat/conf:/usr/local/tomcat/conf -v /root/tomcat/logs:/usr/local/tomcat/logs -v /root/tomcat/webapps:/usr/local/tomcat/webapps -v /root/tomcat/heapdump:/usr/local/tomcat/heapdump -v /root/
Docker CI: 解决 Tomcat 服务宕机方案 - 健康检查一、概述架构图如下:二、Docker 平台(Centos7):基于 Dockerfile 构建 Tomcat 新镜像dockerfile三、查看并运行 Tomcat 镜像四、Shell 监测 tomcat 服务五、调试六、contab 定时执行任务
基于 Docker 集成 CI 环境。涉及技术:Linux(Ubunt...
在示例脚本中,首先使用适当的命令(例如hdfs haadmin -getServiceState)获取Namenode的状态并将它们保存到变量中。根据你的集群环境,可能需要修改命令和变量名。接下来,你可以使用其他适当的命令或工具来检查集群的其他健康状态。根据你的需求,在脚本中加入适当的检查命令,并根据检查的结果进行适当的条件判断。的值将为0,表示集群的健康状态正常。否则,值不为0,表示集群的健康状态异常。你可以根据实际情况对示例脚本进行调整和扩展,以适应你的集群环境和需求。如果所有命令都执行成功,那么。
for ((i=0;i<echo ${#RIP[*]};i++))
code=curl -I -m 10 -o /dev/null -s -w %{http_code} http://${RIP[$i]}
if ...
for ((i=0;i<`echo ${#RIP[*]}`;i++))
code=`curl -I -m 10 -o /dev/null -s -w %{http_code} http://${RIP[$i]}`
if [ $code -ne 200 -a $(ipvsadm -Ln|grep