通过80端口访问的池的节点的里的java容器的健康检测。
本地的java容器提供了8019和7777两个端口的服务。(这里就要求需要检测80,8019,7777三个端口的服务都是好的)
apache下的rewrite有如下的定义:
RewriteRule /(\S+)\.jsp$ ajp://127.0.0.1:8019/$1\.jsp [P]
所以就可以添加8019端口的服务下的jsp内容如下(如果7777端口下的jsp返回ok则这个jsp也返回ok。):
<
%@page import="java.io.InputStream"%>
<
%@page import="java.io.DataInputStream"%>
boolean heartbeat=false;
Log log = LogFactory.getLogger(this.getClass());
String path = "
http://xxxxxxxxxx:7777/xxxxxxxxx.jsp";
URL url = new URL(path);
try {
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
InputStream in = conn.getInputStream();
DataInputStream dis = new DataInputStream(in);
int i = 0;
byte[] bye =new byte[10];
String msg = "";
while((i = dis.read(bye)) > 0){
msg = new String(bye);
}
if("ok".equals(msg.trim())){
heartbeat=true;
}
log.info("==I am ok!==");
} catch (Exception e){
} finally {
}
if (!heartbeat) {
%>
error
} else {
%>
ok
}
%>
在f5的local traffic下的monitor里面创建。在seng string里面定义
GET /TomcatServerMonitor.jsp
在
Receive String里面定义
ok
然后在池的health monitor里面加上这个检测。