1.修改app,协议,行为日志得查询条件,可检索;

2.修改通联关系日志,前台检索条件为webId,后台webId需转为domainId,数据列表展示为网站下域名信息(由于日志的域名id字段名称定义为了webId的问题,但实际数据为域名信息,需要界面前后台处理转换);
3.百分比查询增加地域条件。
This commit is contained in:
zhangwei
2019-01-08 13:59:15 +06:00
parent 94dc852118
commit 78dc94f96c
6 changed files with 76 additions and 39 deletions

View File

@@ -19,7 +19,7 @@ public class NtcConnRecordLog extends BaseLogEntity<NtcConnRecordLog> {
protected String s2cByteNum;
@ExcelField(title = "APP", sort = 8)
protected String appId;
@ExcelField(title = "Web", sort = 10)
@ExcelField(title = "domain_name", sort = 10)
protected String webId;
@ExcelField(title = "application_layer_protocol", sort = 9)
protected String protoId;

View File

@@ -50,6 +50,13 @@ public class NtcConnRecordLogController extends BaseController {
params.put("pageSize", page.getPageSize());
params.put("pageNo", page.getPageNo());
initLogSearchValue(log, params);
List<FunctionServiceDict> serviceList = DictUtils.getFunctionServiceDictList(log.getFunctionId());
model.addAttribute("serviceList", serviceList);
List<CodeResult> appList = CodeDicUtils.getCodeList("appCode");
List<CodeResult> protocolList = CodeDicUtils.getCodeList("protocolCode");
List<CodeResult> webList = CodeDicUtils.getCodeList("webCode");
//查询domainId
List<WebsiteDomainTopic> domainList = appCfgService.getDomainDict(new WebsiteDomainTopic());
if (StringUtils.isNotBlank(log.getAppId())) {
params.put("searchAppId", log.getAppId());
}
@@ -57,7 +64,20 @@ public class NtcConnRecordLogController extends BaseController {
params.put("searchProtoId", log.getProtoId());
}
if (StringUtils.isNotBlank(log.getWebId())) {
params.put("searchWebId", log.getWebId());
String[] webIds = log.getWebId().split(",");
String domainIds = "";
for(String webId:webIds){
for (int i = 0; i < domainList.size(); i++) {
WebsiteDomainTopic domain = domainList.get(i);
if(webId.equals(domain.getWebsiteServiceId().toString())){
domainIds += domain.getId()+",";
}
}
}
if(StringUtils.isNotBlank(domainIds)){
domainIds = domainIds.substring(0,domainIds.length()-1);
params.put("searchWebId", domainIds);
}
}
if (StringUtils.isNotBlank(log.getsAsn())) {
params.put("searchSAsn", log.getsAsn());
@@ -79,12 +99,6 @@ public class NtcConnRecordLogController extends BaseController {
params.put("searchDSubscribeId", log.getdSubscribeId());
}
List<FunctionServiceDict> serviceList = DictUtils.getFunctionServiceDictList(log.getFunctionId());
model.addAttribute("serviceList", serviceList);
List<CodeResult> appList = CodeDicUtils.getCodeList("appCode");
List<CodeResult> protocolList = CodeDicUtils.getCodeList("protocolCode");
//查询domainId
List<WebsiteDomainTopic> webList = appCfgService.getDomainDict(new WebsiteDomainTopic());
model.addAttribute("appList", appList);
model.addAttribute("protocolList", protocolList);
@@ -92,6 +106,7 @@ public class NtcConnRecordLogController extends BaseController {
model.addAttribute("appList", appList);
model.addAttribute("protocolList", protocolList);
model.addAttribute("webList", webList);
model.addAttribute("domainList", domainList);
String url = Constants.LOG_BASE_URL + Constants.NTC_CONN_RECORD_LOG;
String recv = HttpClientUtil.getMsg(url, params, request);
@@ -125,7 +140,7 @@ public class NtcConnRecordLogController extends BaseController {
@RequestMapping("/ajaxConnRecordPercent")
@ResponseBody
public JSONObject ajaxConnRecordPercent(String searchFoundStartTime, String searchFoundEndTime,
public JSONObject ajaxConnRecordPercent(String searchFoundStartTime, String searchFoundEndTime,Long entranceId,
String searchStreamDir, HttpServletRequest request, HttpServletResponse response) {
Properties msgProp = getMsgProp();
JSONObject resultAllJson = new JSONObject();
@@ -134,6 +149,9 @@ public class NtcConnRecordLogController extends BaseController {
try {
params.put("searchFoundStartTime", searchFoundStartTime);
params.put("searchFoundEndTime", searchFoundEndTime);
if (entranceId!= null) {
params.put("searchEntranceId", entranceId);
}
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)) {
@@ -178,8 +196,31 @@ public class NtcConnRecordLogController extends BaseController {
if (StringUtils.isNotBlank(log.getProtoId())) {
params.put("searchProtoId", log.getProtoId());
}
List<FunctionServiceDict> serviceList = DictUtils.getFunctionServiceDictList(log.getFunctionId());
model.addAttribute("serviceList", serviceList);
List<CodeResult> appList = CodeDicUtils.getCodeList("appCode");
List<CodeResult> protocolList = CodeDicUtils.getCodeList("protocolCode");
List<CodeResult> webList = CodeDicUtils.getCodeList("webCode");
//查询domainId
List<WebsiteDomainTopic> domainList = appCfgService.getDomainDict(new WebsiteDomainTopic());
if (StringUtils.isNotBlank(log.getWebId())) {
params.put("searchWebId", log.getWebId());
// params.put("searchWebId", log.getWebId());
if (StringUtils.isNotBlank(log.getWebId())) {
String[] webIds = log.getWebId().split(",");
String domainIds = "";
for(String webId:webIds){
for (int i = 0; i < domainList.size(); i++) {
WebsiteDomainTopic domain = domainList.get(i);
if(webId.equals(domain.getWebsiteServiceId().toString())){
domainIds += domain.getId()+",";
}
}
}
if(StringUtils.isNotBlank(domainIds)){
domainIds = domainIds.substring(0,domainIds.length()-1);
params.put("searchWebId", domainIds);
}
}
}
if (StringUtils.isNotBlank(log.getsAsn())) {
params.put("searchSAsn", log.getsAsn());
@@ -200,17 +241,12 @@ public class NtcConnRecordLogController extends BaseController {
params.put("searchDSubscribeId", log.getdSubscribeId());
}
List<FunctionServiceDict> serviceList = DictUtils.getFunctionServiceDictList(log.getFunctionId());
model.addAttribute("serviceList", serviceList);
List<CodeResult> appList = CodeDicUtils.getCodeList("appCode");
List<CodeResult> protocolList = CodeDicUtils.getCodeList("protocolCode");
//List<CodeResult> webList = CodeDicUtils.getCodeList("webCode");
//查询domainId
List<WebsiteDomainTopic> webList = appCfgService.getDomainDict(new WebsiteDomainTopic());
model.addAttribute("appList", appList);
model.addAttribute("protocolList", protocolList);
model.addAttribute("webList", webList);
model.addAttribute("domainList", domainList);
Properties msgProp = getMsgProp();
String url = Constants.LOG_BASE_URL + Constants.NTC_CONN_RECORD_LOG;
String recv = HttpClientUtil.getMsg(url, params, request);
@@ -233,7 +269,7 @@ public class NtcConnRecordLogController extends BaseController {
l.setProtoId(getName(l.getProtoId(),protocolList,msgProp));
}
if (StringUtils.isNotBlank(l.getWebId())) {
l.setWebId(getWebName(l.getWebId(),webList,msgProp));
l.setWebId(getWebName(l.getWebId(),domainList,msgProp));
}
if (StringUtils.isNotBlank(l.getC2sPktNum()) && StringUtils.isNotBlank(l.getS2cPktNum()) ) {
l.setTotalPkt(String.valueOf(Integer.valueOf(l.getC2sPktNum())+Integer.valueOf(l.getS2cPktNum())));
@@ -283,8 +319,8 @@ public class NtcConnRecordLogController extends BaseController {
public String getWebName(String id,List<WebsiteDomainTopic> list,Properties msgProp){
String name=String.valueOf(id);
for (int i = 0; i < list.size(); i++) {
if(String.valueOf(id).equals(list.get(i).getId())){
name=msgProp.getProperty(list.get(i).getDomain(),list.get(i).getDomain());
if(Long.valueOf(id).equals(list.get(i).getId())){
name=list.get(i).getDomain();
break;
}
}

View File

@@ -618,10 +618,10 @@ host_cookie=Host Cookie
mac=Message Authentication Code
ex_protocol=Exchange Protocol
isakmp_mode=ISAKMP Mode
req_hdr_file=Request Header Dump File
req_body_file=Request Body Dump File
res_hdr_file=Response Header Dump File
res_body_file=Response Body Dump File
req_hdr_file=Req-Hdr File
req_body_file=Req-Body File
res_hdr_file=Res-Hdr File
res_body_file=Res-Body File
qr=Request/Response
rd=Recursion Desired
ra=Recursion Available
@@ -1457,8 +1457,8 @@ country_code=Country Code
asn_name=ASN Name
details=Details
NTC_ASN_NUMBER=ASN
application_layer_protocol=Protocol
traffic_statistics=Traffic Statistics
application_layer_protocol=L7 Protocol
traffic_statistics=Traffic Throughput
active_ip_statistics=Active IP Statistics
protocol_statistics=Protocol Statistics
app_statistics=App Statistics

View File

@@ -719,7 +719,7 @@ app_features_config=\u041f\u0440\u0438\u0437\u043d\u0430\u043a\u0438 \u043f\u044
cfg_type=\u0422\u0438\u043f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438
encrypted_tunnel_behavior=\u0418\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044f
behaviour_type=\u0422\u0438\u043f \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044f
basic_protocol=\u0418\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u043e\u0432
basic_protocol=L7 \u041F\u0440\u043E\u0442\u043E\u043A\u043E\u043B
ip_Reuse_pool_config=\u041f\u0443\u043b \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f IP-\u0430\u0434\u0440\u0435\u0441\u043e\u0432
dns_res_strategy=\u041f\u043e\u043b\u0438\u0442\u0438\u043a\u0430 \u043e\u0442\u0432\u0435\u0442\u043e\u0432 DNS
policy_number=\u2116 \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0438
@@ -1461,7 +1461,7 @@ country_code=Country Code
asn_name=ASN Name
details=Details
NTC_ASN_NUMBER=ASN
application_layer_protocol=\u041f\u0440\u043e\u0442\u043e\u043a\u043e\u043b
application_layer_protocol=L7 \u041F\u0440\u043E\u0442\u043E\u043A\u043E\u043B
traffic_statistics=\u041F\u0440\u043E\u043F\u0443\u0441\u043A\u043D\u0430\u044F \u0421\u043F\u043E\u0441\u043E\u0431\u043D\u043E\u0441\u0442\u044C \u0422\u0440\u0430\u0444\u0438\u043A\u0430
active_ip_statistics= \u0421\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043A\u0430 \u0410\u043A\u0442\u0438\u0432\u043D\u044B\u0445 IP-\u0430\u0434\u0440\u0435\u0441\u043E\u0432
protocol_statistics=\u0421\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043A\u0430 \u041F\u0440\u043E\u0442\u043E\u043A\u043E\u043B\u043E\u0432

View File

@@ -210,19 +210,19 @@ $(document).ready(function(){
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="social_app"/></label>
<form:select path="labelAppId" class="selectpicker select2 form-control">
<form:option value=""><spring:message code="select"/></form:option>
<c:forEach items="${appList}" var="dict">
<form:option value="${dict.code}"><spring:message code="${dict.item}"/></form:option>
</c:forEach>
</form:select>
<form:select path="labelAppId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search">
<form:option value=""><spring:message code="select"/></form:option>
<c:forEach items="${appList}" var="dict" >
<form:option value="${dict.code}"><spring:message code="${dict.item}"></spring:message></form:option>
</c:forEach>
</form:select>
</div>
</div>
<c:if test="${log.functionId eq 63 or log.functionId eq 408}">
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="basic_protocol"/></label>
<form:select path="labelProtoId" class="selectpicker select2 form-control">
<form:select path="labelProtoId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search">
<form:option value=""><spring:message code="select"/></form:option>
<c:forEach items="${protocolList}" var="dict">
<form:option value="${dict.code}"><spring:message code="${dict.item}"/></form:option>

View File

@@ -68,7 +68,8 @@
data:{
"searchFoundStartTime":$("input[name=searchFoundStartTime]").val(),
"searchFoundEndTime":$("input[name=searchFoundEndTime]").val(),
"searchStreamDir":1
"searchStreamDir":1,
"entranceId":$("#entranceId").val()
},
async:true,
success:function(data,textStatus){//处理返回结果
@@ -288,7 +289,7 @@
<label class="control-label"><spring:message code='Web'/></label>
<select id="webSelect" name="webId" title="<spring:message code="select"/>" class="selectpicker form-control" data-max-options="10" data-selected-text-format="count > 3" multiple data-live-search="true" data-live-search-placeholder="<spring:message code="search"/>">
<c:forEach items="${webList}" var="web" >
<option value="${web.id}"><spring:message code="${web.domain}"></spring:message></option>
<option value="${web.code}"><spring:message code="${web.item}"></spring:message></option>
</c:forEach>
</select>
</div>
@@ -345,7 +346,7 @@
<th class="sort-column app_id" column="APP">APP</th>
<th class="sort-column proto_id" column="application_layer_protocol"><spring:message code="application_layer_protocol"/></th>
<th class="sort-column web_id" column="Web">Web</th>
<th class="sort-column web_id" column="Web"><spring:message code="domain_name"/></th>
<th class="sort-column cap_ip" column="clj_ip"><spring:message code="clj_ip"/></th>
<th class="sort-column trans_proto" column="transport_layer_protocol" isVisible="false"><spring:message code="transport_layer_protocol"/></th>
@@ -423,7 +424,7 @@
<td>
<c:set var="webIds">${log.webId }</c:set>
<c:forEach items="${webList}" var="dict">
<c:forEach items="${domainList}" var="dict">
<c:if test="${dict.id eq log.webId}">
<c:set var="webIds">${dict.domain}</c:set>
</c:if>