通联关系增加右上角bps pps的占比

This commit is contained in:
段冬梅
2018-12-15 21:45:36 +08:00
parent 1017092616
commit d8cf08011e
7 changed files with 118 additions and 6 deletions

View File

@@ -768,4 +768,5 @@ public final class Constants {
public static final String DNS_SPOOFING_IP_IP = Configurations.getStringProperty("dns_spoofing_ip_ip",""); public static final String DNS_SPOOFING_IP_IP = Configurations.getStringProperty("dns_spoofing_ip_ip","");
public static final String NTC_COLLECT_RADIUS_LOG =Configurations.getStringProperty("ntcCollectRadiusLog",""); public static final String NTC_COLLECT_RADIUS_LOG =Configurations.getStringProperty("ntcCollectRadiusLog","");
public static final String NTC_CONN_RECORD_LOG =Configurations.getStringProperty("ntcConnRecordLog",""); public static final String NTC_CONN_RECORD_LOG =Configurations.getStringProperty("ntcConnRecordLog","");
public static final String NTC_CONN_RECORD_PERCENT =Configurations.getStringProperty("ntcConnRecordPercent","");
} }

View File

@@ -1,20 +1,27 @@
package com.nis.web.controller.log.ntc; package com.nis.web.controller.log.ntc;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Map.Entry;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.eclipse.jetty.util.ajax.JSON;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.ui.Model; import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.google.gson.GsonBuilder; import com.google.gson.GsonBuilder;
import com.google.gson.JsonObject;
import com.google.gson.reflect.TypeToken; import com.google.gson.reflect.TypeToken;
import com.nis.domain.FunctionServiceDict; import com.nis.domain.FunctionServiceDict;
import com.nis.domain.Page; import com.nis.domain.Page;
@@ -23,14 +30,21 @@ import com.nis.domain.log.IrDnatLog;
import com.nis.domain.log.IrSnatLog; import com.nis.domain.log.IrSnatLog;
import com.nis.domain.log.NtcCollectRadiusLog; import com.nis.domain.log.NtcCollectRadiusLog;
import com.nis.domain.log.NtcConnRecordLog; import com.nis.domain.log.NtcConnRecordLog;
import com.nis.domain.log.SearchReport;
import com.nis.domain.maat.LogRecvData; import com.nis.domain.maat.LogRecvData;
import com.nis.domain.report.NtcServiceReport;
import com.nis.exceptions.MaatConvertException;
import com.nis.util.CodeDicUtils; import com.nis.util.CodeDicUtils;
import com.nis.util.ConfigServiceUtil;
import com.nis.util.Constants; import com.nis.util.Constants;
import com.nis.util.DictUtils; import com.nis.util.DictUtils;
import com.nis.util.StringUtil;
import com.nis.util.httpclient.HttpClientUtil; import com.nis.util.httpclient.HttpClientUtil;
import com.nis.web.controller.BaseController; import com.nis.web.controller.BaseController;
import com.nis.web.dao.dashboard.codedic.CodeResult; import com.nis.web.dao.dashboard.codedic.CodeResult;
import net.sf.json.JSONObject;
@Controller @Controller
@RequestMapping("${adminPath}/log/ntc/connRecordLogs") @RequestMapping("${adminPath}/log/ntc/connRecordLogs")
public class NtcConnRecordLogController extends BaseController { public class NtcConnRecordLogController extends BaseController {
@@ -76,4 +90,37 @@ public class NtcConnRecordLogController extends BaseController {
return "/log/ntc/connRecordLogList"; return "/log/ntc/connRecordLogList";
} }
@RequestMapping("/ajaxConnRecordPercent")
@ResponseBody
public JSONObject ajaxConnRecordPercent(String searchFoundStartTime,
String searchFoundEndTime,
String searchStreamDir,
HttpServletRequest request,
HttpServletResponse response) {
JSONObject resultAllJson=new JSONObject();
JSONObject result=new JSONObject();
Map<String, Object> params=new HashMap<>();
try {
params.put("searchFoundStartTime", searchFoundStartTime);
params.put("searchFoundEndTime", searchFoundEndTime);
StringBuffer url=new StringBuffer(Constants.LOG_BASE_URL+Constants.NTC_CONN_RECORD_PERCENT);
String json=HttpClientUtil.getMsg(url.toString(), params,request);
if(!StringUtil.isEmpty(json)) {
resultAllJson=JSONObject.fromObject(json);
if(!StringUtil.isEmpty(resultAllJson)) {
result=(JSONObject) resultAllJson.get("data");
}
}
result.put("success","success");
} catch (MaatConvertException e) {
logger.error("ajaxConnRecordPercent检索失败",e);
result.put("error",getMsgProp().get("request_service_failed"));
}catch (Exception e) {
logger.error("ajaxConnRecordPercent检索失败",e);
result.put("error",getMsgProp().get("search_error"));
}
return result;
}
} }

View File

@@ -1367,4 +1367,8 @@ log_user_name=User Name
av_tips=The system does not support the index information of audio and video coding in the tail of the audio and video files. The system does not support video with resolution greater than 1080P. av_tips=The system does not support the index information of audio and video coding in the tail of the audio and video files. The system does not support video with resolution greater than 1080P.
asn_ip_group_delete=\uFF08IP configuration under this ASN group will also be deleted.) asn_ip_group_delete=\uFF08IP configuration under this ASN group will also be deleted.)
keyword_log_tips=Deduplicate http body keywords log,for the control status of http body keywords is not ideal, configure the http url of the hit keyword as URL control configuration. keyword_log_tips=Deduplicate http body keywords log,for the control status of http body keywords is not ideal, configure the http url of the hit keyword as URL control configuration.
conn_record=Connection Records conn_record=Connection Records
bps=Bps
bps_percent=Bps Percent
pps=pps
pps_percent=pps Percent

View File

@@ -1371,4 +1371,8 @@ log_user_name=User Name
av_tips=\u041A\u043E\u0433\u0434\u0430 \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u044F \u0438\u043D\u0434\u0435\u043A\u0441\u0430 \u043A\u043E\u0434\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F \u0430\u0443\u0434\u0438\u043E \u0438 \u0432\u0438\u0434\u0435\u043E \u043D\u0430\u0445\u043E\u0434\u0438\u0442\u0441\u044F \u0432 \u043A\u043E\u043D\u0446\u0435 \u0444\u0430\u0439\u043B\u0430 \u0438\u043B\u0438 \u0432\u0438\u0434\u0435\u043E \u0441 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043D\u0438\u0435\u043C \u0431\u043E\u043B\u0435\u0435 1080p., \u0441\u0438\u0441\u0442\u0435\u043C\u0430 \u043D\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044F. av_tips=\u041A\u043E\u0433\u0434\u0430 \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u044F \u0438\u043D\u0434\u0435\u043A\u0441\u0430 \u043A\u043E\u0434\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F \u0430\u0443\u0434\u0438\u043E \u0438 \u0432\u0438\u0434\u0435\u043E \u043D\u0430\u0445\u043E\u0434\u0438\u0442\u0441\u044F \u0432 \u043A\u043E\u043D\u0446\u0435 \u0444\u0430\u0439\u043B\u0430 \u0438\u043B\u0438 \u0432\u0438\u0434\u0435\u043E \u0441 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043D\u0438\u0435\u043C \u0431\u043E\u043B\u0435\u0435 1080p., \u0441\u0438\u0441\u0442\u0435\u043C\u0430 \u043D\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044F.
asn_ip_group_delete=\uFF08IP configuration under this ASN group will also be deleted.) asn_ip_group_delete=\uFF08IP configuration under this ASN group will also be deleted.)
keyword_log_tips=\u041A\u043E\u0433\u0434\u0430 \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442 \u0443\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u044F \u043A\u043B\u044E\u0447\u0435\u0432\u044B\u043C\u0438 \u0441\u043B\u043E\u0432\u0430\u043C\u0438 \u0432\u0435\u0431-\u0441\u0442\u0440\u0430\u043D\u0438\u0446\u044B \u043F\u043B\u043E\u0445\u0438\u043C, \u0441 \u043F\u043E\u043C\u043E\u0449\u044C\u044E \u0434\u0435\u0434\u0443\u043F\u043B\u0438\u043A\u0430\u0446\u0438\u043E\u043D\u043D\u043E\u0433\u043E \u0436\u0443\u0440\u043D\u0430\u043B\u0430 \u0434\u0430\u043D\u043D\u043E\u0439 \u043A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0432\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u0434\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044E <20>\u0423\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435 URL<52> \u0434\u043B\u044F \u043F\u043E\u0434\u0430\u0432\u0448\u0435\u0433\u043E \u0432\u0435\u0431-\u0441\u0430\u0439\u0442\u0430. keyword_log_tips=\u041A\u043E\u0433\u0434\u0430 \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442 \u0443\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u044F \u043A\u043B\u044E\u0447\u0435\u0432\u044B\u043C\u0438 \u0441\u043B\u043E\u0432\u0430\u043C\u0438 \u0432\u0435\u0431-\u0441\u0442\u0440\u0430\u043D\u0438\u0446\u044B \u043F\u043B\u043E\u0445\u0438\u043C, \u0441 \u043F\u043E\u043C\u043E\u0449\u044C\u044E \u0434\u0435\u0434\u0443\u043F\u043B\u0438\u043A\u0430\u0446\u0438\u043E\u043D\u043D\u043E\u0433\u043E \u0436\u0443\u0440\u043D\u0430\u043B\u0430 \u0434\u0430\u043D\u043D\u043E\u0439 \u043A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0432\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u0434\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044E <20>\u0423\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435 URL<52> \u0434\u043B\u044F \u043F\u043E\u0434\u0430\u0432\u0448\u0435\u0433\u043E \u0432\u0435\u0431-\u0441\u0430\u0439\u0442\u0430.
conn_record=Connection Records conn_record=Connection Records
bps=Bps
bps_percent=Bps Percent
pps=pps
pps_percent=pps Percent

View File

@@ -1367,4 +1367,8 @@ log_user_name=User Name
av_tips=\u5BF9\u4E8E\u97F3\u89C6\u9891\u7F16\u7801\u7684\u7D22\u5F15\u4FE1\u606F\u5728\u97F3\u89C6\u9891\u6587\u4EF6\u5C3E\u90E8\u7684\u60C5\u51B5\uFF0C\u672C\u7CFB\u7EDF\u4E0D\u4E88\u652F\u6301\uFF0C\u5BF9\u4E8E\u5206\u8FA8\u7387\u5927\u4E8E4\u5146\u7684\u89C6\u9891\uFF0C\u672C\u7CFB\u7EDF\u4E0D\u4E88\u652F\u6301 av_tips=\u5BF9\u4E8E\u97F3\u89C6\u9891\u7F16\u7801\u7684\u7D22\u5F15\u4FE1\u606F\u5728\u97F3\u89C6\u9891\u6587\u4EF6\u5C3E\u90E8\u7684\u60C5\u51B5\uFF0C\u672C\u7CFB\u7EDF\u4E0D\u4E88\u652F\u6301\uFF0C\u5BF9\u4E8E\u5206\u8FA8\u7387\u5927\u4E8E4\u5146\u7684\u89C6\u9891\uFF0C\u672C\u7CFB\u7EDF\u4E0D\u4E88\u652F\u6301
asn_ip_group_delete=(\u8BE5ASN\u7EC4\u4E0B\u7684IP\u914D\u7F6E\u4E5F\u4F1A\u88AB\u5220\u9664) asn_ip_group_delete=(\u8BE5ASN\u7EC4\u4E0B\u7684IP\u914D\u7F6E\u4E5F\u4F1A\u88AB\u5220\u9664)
keyword_log_tips=\u6E05\u6D17\u540E\u7F51\u9875\u5173\u952E\u5B57\u65E5\u5FD7\uFF0C\u7F51\u9875\u5173\u952E\u5B57\u7BA1\u63A7\u72B6\u51B5\u4E0D\u7406\u60F3\u65F6\uFF0C\u53EF\u5C06\u6E05\u6D17\u540E\u5EFA\u8BAE\u7ED9\u51FA\u7684\u547D\u4E2D\u5173\u952E\u5B57\u7F51\u9875\u914D\u7F6E\u4E3AURL\u7BA1\u63A7 keyword_log_tips=\u6E05\u6D17\u540E\u7F51\u9875\u5173\u952E\u5B57\u65E5\u5FD7\uFF0C\u7F51\u9875\u5173\u952E\u5B57\u7BA1\u63A7\u72B6\u51B5\u4E0D\u7406\u60F3\u65F6\uFF0C\u53EF\u5C06\u6E05\u6D17\u540E\u5EFA\u8BAE\u7ED9\u51FA\u7684\u547D\u4E2D\u5173\u952E\u5B57\u7F51\u9875\u914D\u7F6E\u4E3AURL\u7BA1\u63A7
conn_record=\u901A\u8054\u5173\u7CFB conn_record=\u901A\u8054\u5173\u7CFB
bps=Bps
bps_percent=Bps Percent
pps=pps
pps_percent=pps Percent

View File

@@ -584,4 +584,5 @@ dns_spoofing_ip_desc=Default Spoofing IP
dns_spoofing_ip_ip=1.1.1.1 dns_spoofing_ip_ip=1.1.1.1
trafficBandwidthTransTwo=trafficBandwidthTransTwo trafficBandwidthTransTwo=trafficBandwidthTransTwo
ntcCollectRadiusLog=ntcCollectRadiusLogs ntcCollectRadiusLog=ntcCollectRadiusLogs
ntcConnRecordLog=ntcConnRecordLogs ntcConnRecordLog=ntcConnRecordLogs
ntcConnRecordPercent=ntcConnRecordPercent

View File

@@ -7,6 +7,7 @@
</title> </title>
<script> <script>
$(document).ready(function() { $(document).ready(function() {
//reset //reset
$("#resetBtn").on("click",function(){ $("#resetBtn").on("click",function(){
$("select.selectpicker").each(function(){ $("select.selectpicker").each(function(){
@@ -31,14 +32,60 @@
$("#"+openId).show(); $("#"+openId).show();
$("#"+closeId).parent().parent().next("tr").hide(); $("#"+closeId).parent().parent().next("tr").hide();
}); });
ajaxConnPercent();
}); });
var ajaxConnPercent=function(){
$.ajax({
type:'get',
url:'${ctx}/log/ntc/connRecordLogs/ajaxConnRecordPercent',
data:{
"searchFoundStartTime":$("input[name=searchFoundStartTime]").val(),
"searchFoundEndTime":$("input[name=searchFoundEndTime]").val(),
"searchStreamDir":1
},
async:true,
success:function(data,textStatus){//处理返回结果
if(textStatus=="success"){
if(data != ""){
if(data.success == 'success'){
$(".bps").html(data.bps);
$(".bpsp").html(data.bpsPercent);
$(".pps").html(data.pps);
$(".ppsp").html(data.ppsPercent);
}else{
console.log(data.error);
}
}
}
},
complete:function(XMLHttpRequest,status){//超时设置
}
});
};
</script> </script>
</head> </head>
<body> <body>
<div class="page-content"> <div class="page-content">
<div class="theme-panel hidden-xs hidden-sm"> <div class="theme-panel hidden-xs hidden-sm">
</div> <div data-service="bps" class="service btn blue" >
<span><spring:message code="bps"/></span>
(<span class="bps">0</span>)
</div>
<div data-service="bpsp" class="service btn blue">
<span><spring:message code="bps_percent"/></span>
(<span class="bpsp">0</span>)
</div>
<div data-service="pps" class="service btn blue">
<span><spring:message code="pps_percent"/></span>
(<span class="pps">0</span>)
</div>
<div data-service="ppsp" class="service btn blue">
<span><spring:message code="pps_percent"/></span>
(<span class="ppsp">0</span>)
</div>
</div>
<h3 class="page-title"> <h3 class="page-title">
<spring:message code="conn_record"/> <spring:message code="conn_record"/>
</h3> </h3>
@@ -190,8 +237,10 @@
<th class="sort-column app_label"><spring:message code='social_app'/></th> <th class="sort-column app_label"><spring:message code='social_app'/></th>
<th class="sort-column c2s_pkt_num"><spring:message code="c2s_pkt_num"/></th> <th class="sort-column c2s_pkt_num"><spring:message code="c2s_pkt_num"/></th>
<th class="sort-column s2c_pkt_num"><spring:message code='s2c_pkt_num'/></th> <th class="sort-column s2c_pkt_num"><spring:message code='s2c_pkt_num'/></th>
<th class="total_pkt_num">Total Pkt</th>
<th class="sort-column c2s_byte_num"><spring:message code="c2s_byte_num"/></th> <th class="sort-column c2s_byte_num"><spring:message code="c2s_byte_num"/></th>
<th class="sort-column s2c_byte_num"><spring:message code="s2c_byte_num"/></th> <th class="sort-column s2c_byte_num"><spring:message code="s2c_byte_num"/></th>
<th class="Total_byte_num">Total Byte</th>
<th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th> <th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th>
<th class="sort-column trans_proto"><spring:message code="transport_layer_protocol"/></th> <th class="sort-column trans_proto"><spring:message code="transport_layer_protocol"/></th>
<th class="sort-column addr_type"><spring:message code='addr_type'/></th> <th class="sort-column addr_type"><spring:message code='addr_type'/></th>
@@ -258,8 +307,10 @@
</td> </td>
<td>${log.c2sPktNum }</td> <td>${log.c2sPktNum }</td>
<td>${log.s2cPktNum }</td> <td>${log.s2cPktNum }</td>
<td>${log.s2cPktNum+log.c2sPktNum }</td>
<td>${log.c2sByteNum }</td> <td>${log.c2sByteNum }</td>
<td>${log.s2cByteNum }</td> <td>${log.s2cByteNum }</td>
<td>${log.s2cByteNum+log.c2sByteNum }</td>
<td title="${log.capIp }">${fns:abbr(log.capIp, 42)}</td> <td title="${log.capIp }">${fns:abbr(log.capIp, 42)}</td>
<td> <td>