2018-09-21 20:49:57 +08:00
|
|
|
package com.nis.web.controller.dashboard;
|
|
|
|
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
import java.util.HashMap;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
import java.util.Map;
|
|
|
|
|
import java.util.Random;
|
|
|
|
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
|
|
|
|
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
|
|
import org.springframework.stereotype.Controller;
|
|
|
|
|
import org.springframework.ui.Model;
|
|
|
|
|
import org.springframework.web.bind.annotation.ModelAttribute;
|
|
|
|
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
|
|
import org.springframework.web.bind.annotation.ResponseBody;
|
|
|
|
|
|
|
|
|
|
import com.google.gson.Gson;
|
|
|
|
|
import com.google.gson.GsonBuilder;
|
|
|
|
|
import com.google.gson.reflect.TypeToken;
|
|
|
|
|
import com.nis.domain.FunctionServiceDict;
|
2018-10-31 09:56:38 +08:00
|
|
|
import com.nis.domain.Page;
|
2018-09-21 20:49:57 +08:00
|
|
|
import com.nis.domain.PageLog;
|
2018-10-31 09:56:38 +08:00
|
|
|
import com.nis.domain.configuration.RequestInfo;
|
2018-09-21 20:49:57 +08:00
|
|
|
import com.nis.domain.log.NtcIpLog;
|
2018-10-31 09:56:38 +08:00
|
|
|
import com.nis.domain.log.SearchReport;
|
2018-09-21 20:49:57 +08:00
|
|
|
import com.nis.domain.maat.LogRecvData;
|
|
|
|
|
import com.nis.util.Constants;
|
|
|
|
|
import com.nis.util.DictUtils;
|
|
|
|
|
import com.nis.util.httpclient.HttpClientUtil;
|
|
|
|
|
import com.nis.web.controller.BaseController;
|
2018-10-31 09:56:38 +08:00
|
|
|
import com.nis.web.controller.report.TestBean;
|
2018-09-21 20:49:57 +08:00
|
|
|
|
|
|
|
|
@Controller
|
|
|
|
|
@RequestMapping("${adminPath}/dashboard/traffic")
|
|
|
|
|
public class TrafficStatisticsInfoController extends BaseController {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 协议类型详细列表
|
|
|
|
|
*/
|
|
|
|
|
@RequestMapping(value="protocolTypeList")
|
|
|
|
|
public String protocolTypeList(){
|
|
|
|
|
|
|
|
|
|
return "/dashboard/trafficProtocolTypeList";
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* rejectNum 封堵数量
|
|
|
|
|
* newUniConn 新建连接数
|
|
|
|
|
* liveConnNum 活跃链接数
|
|
|
|
|
* dropConnNum 丢弃链接数
|
|
|
|
|
*
|
|
|
|
|
*/
|
|
|
|
|
@RequestMapping(value="info")
|
|
|
|
|
@ResponseBody
|
|
|
|
|
public Map ipActive(){
|
|
|
|
|
Map<String, Object> fromJsonList = new HashMap<String, Object>();
|
|
|
|
|
HashMap<String, Object> m = new HashMap<String, Object>();
|
|
|
|
|
List list = new ArrayList();
|
|
|
|
|
try {
|
|
|
|
|
String string = HttpClientUtil.get(Constants.DASHBOARD_URL+Constants.NTC_TOTAL_REPORT);
|
|
|
|
|
Gson gson = new GsonBuilder().create();
|
|
|
|
|
fromJsonList = gson.fromJson(string, new TypeToken<Map>(){}.getType());
|
|
|
|
|
list = (ArrayList) fromJsonList.get("data");
|
|
|
|
|
Random r = new Random();
|
2018-09-26 16:27:17 +08:00
|
|
|
Double rejectNum=0d;
|
|
|
|
|
Double dropConnNum=0d;
|
|
|
|
|
Double monitorNum=0d;
|
|
|
|
|
Double loopConnNum=0d;
|
2018-10-12 18:12:24 +08:00
|
|
|
Double liveConnNum=0d;
|
|
|
|
|
Double newUniConnNum=0d;
|
2018-09-26 16:27:17 +08:00
|
|
|
Double inoctetsNum=0d;
|
|
|
|
|
Double outoctetsNum=0d;
|
|
|
|
|
Double bandwidth=0d;
|
2018-09-21 20:49:57 +08:00
|
|
|
if(list!=null&&list.size()>0){
|
|
|
|
|
Map map = (Map) list.get(0);
|
|
|
|
|
rejectNum = (Double) map.get("rejectNum") ;
|
|
|
|
|
monitorNum = (Double) map.get("monitorNum");
|
|
|
|
|
dropConnNum = (Double) map.get("dropConnNum");
|
|
|
|
|
loopConnNum = (Double) map.get("loopConnNum");
|
2018-10-12 18:12:24 +08:00
|
|
|
liveConnNum = (Double) map.get("liveConnNum");
|
|
|
|
|
newUniConnNum = (Double) map.get("newUniConnNum");
|
2018-09-26 16:27:17 +08:00
|
|
|
inoctetsNum = (Double) map.get("inoctets");
|
|
|
|
|
outoctetsNum = (Double) map.get("outoctets");
|
|
|
|
|
//单位换算 byte->bit/s
|
|
|
|
|
inoctetsNum=(inoctetsNum*8)/(5*60*60);
|
|
|
|
|
outoctetsNum=(outoctetsNum*8)/(5*60*60);
|
|
|
|
|
|
2018-09-21 20:49:57 +08:00
|
|
|
}
|
2018-09-26 16:27:17 +08:00
|
|
|
bandwidth=inoctetsNum+outoctetsNum;
|
2018-09-21 20:49:57 +08:00
|
|
|
m.put("rejectNum", rejectNum);
|
|
|
|
|
m.put("monitorNum", monitorNum);
|
|
|
|
|
m.put("loopConnNum", loopConnNum);
|
|
|
|
|
m.put("dropConnNum", dropConnNum);
|
2018-10-12 18:12:24 +08:00
|
|
|
m.put("liveConnNum", liveConnNum);
|
|
|
|
|
m.put("newUniConnNum", newUniConnNum);
|
2018-09-26 16:27:17 +08:00
|
|
|
|
2018-09-21 20:49:57 +08:00
|
|
|
m.put("bandwidth", bandwidth);
|
2018-09-26 16:27:17 +08:00
|
|
|
m.put("inoctetsNum", inoctetsNum);
|
|
|
|
|
m.put("outoctetsNum", outoctetsNum);
|
2018-09-21 20:49:57 +08:00
|
|
|
|
2018-09-26 16:27:17 +08:00
|
|
|
logger.info("统计流量信息数据"+fromJsonList);
|
2018-09-21 20:49:57 +08:00
|
|
|
return m;
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
e.printStackTrace();
|
2018-09-26 16:27:17 +08:00
|
|
|
logger.error("统计流量信息数据错误"+e);
|
2018-09-21 20:49:57 +08:00
|
|
|
}
|
|
|
|
|
return m;
|
|
|
|
|
}
|
2018-10-31 09:56:38 +08:00
|
|
|
@RequestMapping("userBehavior")
|
|
|
|
|
public String list(@ModelAttribute("bean") SearchReport bean,Model model, HttpServletRequest request, HttpServletResponse response) {
|
|
|
|
|
|
|
|
|
|
List<RequestInfo> requestInfos = requestInfoService.getAllRequestInfo();
|
|
|
|
|
model.addAttribute("requestInfos", requestInfos);
|
|
|
|
|
Page<TestBean> page=new Page<TestBean>(request, response);
|
|
|
|
|
List<TestBean> list=new ArrayList<>();
|
|
|
|
|
list.add(new TestBean());
|
|
|
|
|
page.setList(list);
|
|
|
|
|
model.addAttribute("page", page);
|
|
|
|
|
model.addAttribute("bean", bean);
|
|
|
|
|
return "/dashboard/trafficUserBehavior";
|
|
|
|
|
}
|
2018-09-21 20:49:57 +08:00
|
|
|
}
|