RabbitMQ监控(4)——URL监控
java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaEE, JavaME, JavaSE)的总称。本站提供基于Java框架struts,spring,hibernate等的桌面应用、web交互及移动终端的开发技巧与资料
保持永久学习的心态,将成就一个优秀的你,来 继续搞起java知识。
在监控的过程中,我们除了监控一些服务性能情况,还有一些服务的存活也需要监控,这时候,我们就可以用到java自带的url操作类,完成,整体思路是通过一个请求的状态码判断某请求,是否存在,达到监控的目的,为了更可靠,我们重复请求五次,都失败再警告,现在我们一起来实现它。
1,HTTP状态码:
1开头(临时响应) 表示临时响应并需要请求者继续执行操作的状态代码。
2开头(成功)
3开头(重定向)
4开头(请求错误)
5开头(服务器错误)
百度百科
网络资料
2,工具类:
package com.el.<a href="http://www.cfei.net/archives/tag/rabbitmq" title="浏览关于“rabbitmq”的文章" target="_blank" class="tag_link">rabbitmq</a>.supervise.common.rabbitmq;
import java.net.Http<a href="http://www.cfei.net/archives/tag/url" title="浏览关于“URL”的文章" target="_blank" class="tag_link">URL</a>Connection;
import java.net.URL;
/**
* Created by Administrator on 2016/3/22.
*/
public class URLUtils {
/**
* 功能:检测当前URL是否可连接或是否有效,
* 描述:最多连接网络 5 次, 如果 5 次都不成功,视为该地址不可用
* @param urlStr 指定URL网络地址
* @return URL
*/
public static Boolean isConnect(String urlStr) {
if(urlStr==null||urlStr.isEmpty()){
return false;
}
Boolean isConnected = false;
int counts = 0;
URL url=null;
while (counts < 5) {
try {
url = new URL(urlStr);
HttpURLConnection con = (HttpURLConnection) url.openConnection();
int state = con.getResponseCode();
if (state == 200) {
isConnected=true;
}
break;
}catch (Exception ex) {
counts++;
isConnected=false;
continue;
}
}
return isConnected;
}
}
这样,就和上篇博客的服务检测方法能够合上了:
@Override
public Boolean checkOneService(ControlService controlService) throws Exception {
if(controlService == null ){
return false;
}
boolean isFinish=false;
if(URLUtils.isConnect(controlService.getServiceUrl())){
isFinish=true;
}else{
isFinish = sendWarningOneservice(controlService);
isFinish=false;
}
return isFinish;
}
总结
简单的方法,简单的方式,有时候能够起到不容忽视的作用,我们有时候,复杂的问题,高大上的问题不能解决,没有头绪,恰恰是这种简单,我们还不够,或者说原始积累还不足,我们不但要高屋建瓴,也要深入进去,深入到最简单,最底层,再来看你的问题,是不是觉得,解决方法不止一个了!这就是人们常说的经验!
RabbitMQ大数据用户体验urljava
因为水平有限,难免有疏忽或者不准确的地方,希望大家能够直接指出来,我会及时改正。一切为了知识的分享。
后续会有更多的精彩的内容分享给大家。
支付宝扫一扫
微信扫一扫
