diff --git a/src/main/java/com/nis/domain/configuration/BaseCfg.java b/src/main/java/com/nis/domain/configuration/BaseCfg.java index adcbf37bc..14814c0c8 100644 --- a/src/main/java/com/nis/domain/configuration/BaseCfg.java +++ b/src/main/java/com/nis/domain/configuration/BaseCfg.java @@ -199,7 +199,7 @@ public class BaseCfg extends BaseEntity implements Cloneable{ /** * 来函 */ - @ExcelField(title="letter",sort=58) + @ExcelField(title="letter",sort=60) protected String requestName; /** * 是否区域gk @@ -209,7 +209,7 @@ public class BaseCfg extends BaseEntity implements Cloneable{ /** * 分类 */ - @ExcelField(title="classification",dictType="type",sort=60) + @ExcelField(title="classification",dictType="type",sort=62) protected String classify; /** * 性质 diff --git a/src/main/java/com/nis/domain/configuration/BaseIpCfg.java b/src/main/java/com/nis/domain/configuration/BaseIpCfg.java index 1f9c56baf..1d543f06b 100644 --- a/src/main/java/com/nis/domain/configuration/BaseIpCfg.java +++ b/src/main/java/com/nis/domain/configuration/BaseIpCfg.java @@ -43,24 +43,24 @@ public class BaseIpCfg extends BaseCfg { */ @Expose @SerializedName("ipType") - @ExcelField(title="ip_type",dictType="IP_TYPE",sort=44) + @ExcelField(title="ip_type",dictType="IP_TYPE",sort=50) protected Integer ipType; - @ExcelField(title="ip_pattern",dictType="IP_PATTERN",sort=45) + @ExcelField(title="ip_pattern",dictType="IP_PATTERN",sort=51) protected Integer ipPattern; - @ExcelField(title="client_ip",sort=47) + @ExcelField(title="client_ip",sort=53) protected String srcIpAddress; - @ExcelField(title="server_ip",sort=46) + @ExcelField(title="server_ip",sort=52) protected String destIpAddress; - @ExcelField(title="port_pattern",dictType="PORT_PATTERN",sort=48) + @ExcelField(title="port_pattern",dictType="PORT_PATTERN",sort=54) protected Integer portPattern; - @ExcelField(title="client_port",sort=49) + @ExcelField(title="client_port",sort=55) protected String srcPort; - @ExcelField(title="server_port",sort=50) + @ExcelField(title="server_port",sort=56) protected String destPort; protected Integer dnsStrategyId; - @ExcelField(title="ir_type",dictType="IR_TYPE",sort=51) + @ExcelField(title="ir_type",dictType="IR_TYPE",sort=57) protected Integer irType; - @ExcelField(title="group_name",sort=52) + @ExcelField(title="group_name",sort=58) protected String groupName; private List ntcSubscribeIdCfgList; @@ -75,7 +75,7 @@ public class BaseIpCfg extends BaseCfg { protected String organization; //仅用于copy属性使用 protected String country; //仅用于copy属性使用 protected String detail; //仅用于copy属性使用 - @ExcelField(title="log_total",sort=31) + @ExcelField(title="log_total",sort=42) private Long totalLogs; public String getOrganization() { @@ -177,14 +177,14 @@ public class BaseIpCfg extends BaseCfg { */ @Expose @SerializedName("direction") - @ExcelField(title="direction",dictType="DIRECTION",sort=53) + @ExcelField(title="direction",dictType="DIRECTION",sort=58) protected Integer direction ; /** * 协议 */ @Expose @SerializedName("protocol") - @ExcelField(title="protocol",dictType="PROTOCOL",sort=54) + @ExcelField(title="protocol",dictType="PROTOCOL",sort=59) protected Integer protocol ; /** * 协议ID diff --git a/src/main/java/com/nis/domain/configuration/DdosIpCfg.java b/src/main/java/com/nis/domain/configuration/DdosIpCfg.java index c06a292e5..d57e8d577 100644 --- a/src/main/java/com/nis/domain/configuration/DdosIpCfg.java +++ b/src/main/java/com/nis/domain/configuration/DdosIpCfg.java @@ -23,29 +23,13 @@ public class DdosIpCfg extends BaseIpCfg { */ private static final long serialVersionUID = -5446903784736960824L; private String indexTable="ddos_ip_cfg"; - @ExcelField(title="antiddos_protocol",sort=41) + @ExcelField(title="antiddos_protocol",sort=46) private String antiddosProtocol;//目前支持TCP_SYN, DNS, NTP, - @ExcelField(title="bps_threadshold",sort=42) + @ExcelField(title="bps_threadshold",sort=47) private Long bpsThreadshold;// 即DDoS攻击保护动作触发阈值,每秒Bit数和每秒包数 - @ExcelField(title="pps_threadshold",sort=43) + @ExcelField(title="pps_threadshold",sort=48) private Long ppsThreadshold; - @ExcelField(title="log_total",sort=32) - private Long totalLogs; - @ExcelField(title="is_audit",dictType="AUDIT_STATUS",sort=20) - private Integer isAudit; - - public Integer getIsAudit() { - return isAudit; - } - public void setIsAudit(Integer isAudit) { - this.isAudit = isAudit; - } - public Long getTotalLogs() { - return totalLogs; - } - public void setTotalLogs(Long totalLogs) { - this.totalLogs = totalLogs; - } + public String getAntiddosProtocol() { return antiddosProtocol; } diff --git a/src/main/java/com/nis/domain/dashboard/TrafficIpActiveStatistic.java b/src/main/java/com/nis/domain/dashboard/TrafficIpActiveStatistic.java index 70e5e593d..6e31c4bb4 100644 --- a/src/main/java/com/nis/domain/dashboard/TrafficIpActiveStatistic.java +++ b/src/main/java/com/nis/domain/dashboard/TrafficIpActiveStatistic.java @@ -24,6 +24,8 @@ public class TrafficIpActiveStatistic{ String statTime; private String _byte; private String _packet; + private String avgByte; + private String avgPacket; @ExcelField(title="Byte",sort=51,type=1) public String get_byte() { return BigInteger.valueOf(this.getC2sByteLen()).add(BigInteger.valueOf(this.getS2cByteLen())).toString(); @@ -95,5 +97,16 @@ public class TrafficIpActiveStatistic{ public void setS2cByteLen(Long s2cByteLen) { this.s2cByteLen = s2cByteLen; } - + public String getAvgByte() { + return avgByte; + } + public void setAvgByte(String avgByte) { + this.avgByte = avgByte; + } + public String getAvgPacket() { + return avgPacket; + } + public void setAvgPacket(String avgPacket) { + this.avgPacket = avgPacket; + } } \ No newline at end of file diff --git a/src/main/java/com/nis/util/DateUtils.java b/src/main/java/com/nis/util/DateUtils.java index 2869881e6..af8731e7f 100644 --- a/src/main/java/com/nis/util/DateUtils.java +++ b/src/main/java/com/nis/util/DateUtils.java @@ -188,6 +188,20 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils { long afterTime = after.getTime(); return (afterTime - beforeTime) / (1000 * 60 * 60 * 24); } + + /** + * 获取两个日期之间的秒数 + * + * @param before + * @param after + * @return + */ + public static double getSecondsOfTwoDate(Date before, Date after) { + long beforeTime = before.getTime(); + long afterTime = after.getTime(); + return (afterTime - beforeTime) / (1000); + } + /** * * diff --git a/src/main/java/com/nis/web/controller/dashboard/DashboardController.java b/src/main/java/com/nis/web/controller/dashboard/DashboardController.java index 62eab0f26..3a3e1226d 100644 --- a/src/main/java/com/nis/web/controller/dashboard/DashboardController.java +++ b/src/main/java/com/nis/web/controller/dashboard/DashboardController.java @@ -3,6 +3,7 @@ package com.nis.web.controller.dashboard; import java.lang.reflect.Type; import java.net.URISyntaxException; import java.net.URLEncoder; +import java.text.DecimalFormat; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Calendar; @@ -248,7 +249,7 @@ public class DashboardController extends BaseController{ @ResponseBody public List ajaxIpActiveList(String beginDate,String endDate,Integer entranceId){ Map fromJsonList = new HashMap(); - List list = new ArrayList(); + List list = new ArrayList(); try { String url=Constants.DASHBOARD_URL+Constants.TRAFFIC_IPACTIVE_ONEHOUR; url=urlAddDate(url, beginDate, endDate); @@ -260,6 +261,16 @@ public class DashboardController extends BaseController{ fromJsonList = gson.fromJson(string, new TypeToken>(){}.getType()); logger.debug("活跃IP1小时"+fromJsonList); list = gson.fromJson(fromJsonList.get("data").toString(), new TypeToken>() {}.getType()) ; + if(list.size()>0) { + DecimalFormat lf = new DecimalFormat("0"); + SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + //两个时间段之间的秒数 + double allSeconds = DateUtils.getSecondsOfTwoDate(sdf.parse(beginDate),sdf.parse(endDate)); + for(TrafficIpActiveStatistic data:list) { + data.setAvgByte(lf.format(Integer.parseInt(data.get_byte())*8/allSeconds)); + data.setAvgPacket(lf.format(Integer.parseInt(data.get_packet())/allSeconds)); + } + } Collections.sort(list, new Comparator() { @Override @@ -282,7 +293,7 @@ public class DashboardController extends BaseController{ } catch (Exception e) { e.printStackTrace(); logger.error("活跃IP数据获取错误"+e); - list.add(Maps.newHashMap("error","request_service_failed")); + //list.add(Maps.newHashMap("error","request_service_failed")); } return list; } diff --git a/src/main/java/com/nis/web/controller/dashboard/TrafficStatisticsInfoController.java b/src/main/java/com/nis/web/controller/dashboard/TrafficStatisticsInfoController.java index 8a1b1f156..a9e08f57d 100644 --- a/src/main/java/com/nis/web/controller/dashboard/TrafficStatisticsInfoController.java +++ b/src/main/java/com/nis/web/controller/dashboard/TrafficStatisticsInfoController.java @@ -44,6 +44,7 @@ import com.nis.domain.dashboard.TrafficIpActiveStatistic; import com.nis.util.CodeDicUtils; import com.nis.util.Constants; import com.nis.util.DateUtil; +import com.nis.util.DateUtils; import com.nis.util.DictUtils; import com.nis.util.StringUtil; import com.nis.util.httpclient.HttpClientUtil; @@ -301,6 +302,7 @@ public class TrafficStatisticsInfoController extends BaseController { @RequestMapping(value="protocolList") @ResponseBody public List protocolList(Model model,Integer entranceId,Integer[] protoType,@RequestParam(required=false)String beginDate,@RequestParam(required=false)String endDate){ + SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Map fromJsonList = new HashMap(); List list = new ArrayList(); String url = Constants.DASHBOARD_URL+Constants.TRAFFIC_PROTOCOL_LIST; @@ -327,6 +329,8 @@ public class TrafficStatisticsInfoController extends BaseController { DecimalFormat lf = new DecimalFormat("0"); DecimalFormat df = new DecimalFormat("0.0000000000"); List appCodeList = CodeDicUtils.getCodeList("appCode"); + //两个时间段之间的秒数 + double allSeconds = DateUtils.getSecondsOfTwoDate(sdf.parse(beginDate),sdf.parse(endDate)); if(!StringUtil.isEmpty(list)){ for (Object object : list) { Map m=(Map) object; @@ -336,6 +340,10 @@ public class TrafficStatisticsInfoController extends BaseController { m.put("GByte", df.format(m.get("GByte"))); m.put("packets", lf.format(m.get("packets"))); m.put("linkNum", lf.format(m.get("linkNum"))); + double avgPacket=Double.parseDouble(m.get("packets").toString())/allSeconds; + m.put("pps",lf.format(avgPacket)); + double avgByte=Double.parseDouble(m.get("GByte").toString())*1024*1024*1024*8/allSeconds; + m.put("bps",lf.format(avgByte)); totalLink+=Long.parseLong( m.get("linkNum").toString()); totalPackets+=Long.parseLong(m.get("packets").toString()); // 协议没匹配的匹配app码表 @@ -407,6 +415,9 @@ public class TrafficStatisticsInfoController extends BaseController { Double totalGByte=0d; DecimalFormat lf = new DecimalFormat("0"); DecimalFormat df = new DecimalFormat("0.0000000000"); + //两个时间段之间的秒数 + SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + double allSeconds = DateUtils.getSecondsOfTwoDate(sdf.parse(beginDate),sdf.parse(endDate)); if(!StringUtil.isEmpty(list)){ for (Object object : list) { Map m=(Map) object; @@ -417,6 +428,11 @@ public class TrafficStatisticsInfoController extends BaseController { m.put("linkNum", lf.format(m.get("linkNum"))); totalLink+=Long.parseLong( m.get("linkNum").toString()); totalPackets+=Long.parseLong(m.get("packets").toString()); + + double avgPacket=Double.parseDouble(m.get("packets").toString())/allSeconds; + m.put("pps",lf.format(avgPacket)); + double avgByte=Double.parseDouble(m.get("GByte").toString())*1024*1024*1024*8/allSeconds; + m.put("bps",lf.format(avgByte)); } for (Object object : list) { Map m=(Map) object; @@ -485,7 +501,7 @@ public class TrafficStatisticsInfoController extends BaseController { @ResponseBody public List ajaxAppTopList(String beginDate,String endDate,Integer appType,Integer entranceId,Integer searchQuota,Model model){ Map fromJsonList = new HashMap(); - List list = new ArrayList(); + List list = new ArrayList(); try { String url=Constants.DASHBOARD_URL+Constants.APPCONN_RECORD_TOP100; URIBuilder uriBuilder = new URIBuilder(url); @@ -508,7 +524,18 @@ public class TrafficStatisticsInfoController extends BaseController { fromJsonList = gson.fromJson(string, new TypeToken>(){}.getType()); logger.debug("app列表Top100"+fromJsonList); list = (ArrayList) fromJsonList.get("data"); - + if(list.size()>0) { + //两个时间段之间的秒数 + DecimalFormat dl = new DecimalFormat("0"); + SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + double allSeconds = DateUtils.getSecondsOfTwoDate(sdf.parse(beginDate),sdf.parse(endDate)); + for(Map m:list) { + double avgPacket=Double.parseDouble(m.get("pktNum").toString())/allSeconds; + m.put("pps",dl.format(avgPacket)); + double avgByte=Double.parseDouble(m.get("byteNum").toString())*8/allSeconds; + m.put("bps",dl.format(avgByte)); + } + } } catch (Exception e) { e.printStackTrace(); logger.error("app列表Top100"+e); @@ -610,6 +637,9 @@ public class TrafficStatisticsInfoController extends BaseController { // Double totalLink=0d; Double totalGbyte=0d; Double totalPackets=0d; + //两个时间段之间的秒数 + SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + double allSeconds = DateUtils.getSecondsOfTwoDate(sdf.parse(beginDate),sdf.parse(endDate)); for (Object object : list) { Map m=(Map)object; Double count=(Double)m.get("byteCount"); @@ -618,6 +648,11 @@ public class TrafficStatisticsInfoController extends BaseController { totalPackets+=(Double)m.get("pktCount"); String format = df.format(count/1024/1024/1024); m.put("Gbyte", format); + + double avgPacket=Double.parseDouble(m.get("pktCount").toString())/allSeconds; + m.put("pps",dl.format(avgPacket)); + double avgByte=Double.parseDouble(m.get("byteCount").toString())*8/allSeconds; + m.put("bps",dl.format(avgByte)); } List codeList = appCfgService.getDomainDict(new WebsiteDomainTopic()); Map map = new HashMap(); @@ -687,12 +722,19 @@ public class TrafficStatisticsInfoController extends BaseController { Long totalPackets=0l; Double totalGByte=0d; DecimalFormat lf = new DecimalFormat("0"); + //两个时间段之间的秒数 + SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + double allSeconds = DateUtils.getSecondsOfTwoDate(sdf.parse(beginDate),sdf.parse(endDate)); if(!StringUtil.isEmpty(list)){ for (Object object : list) { Map m=(Map) object; totalLink+=Long.parseLong(lf.format(m.get("linkNum"))); totalPackets+=Long.parseLong(lf.format(m.get("packets"))); totalGByte+=Double.parseDouble(lf.format(m.get("count"))); + double avgPacket=Double.parseDouble(m.get("packets").toString())/allSeconds; + m.put("pps",lf.format(avgPacket)); + double avgByte=Double.parseDouble(m.get("count").toString())*8/allSeconds; + m.put("bps",lf.format(avgByte)); m.remove("domainData"); Double value1=0d; if(StringUtil.isBlank(m.get("topicId").toString())){ diff --git a/src/main/java/com/nis/web/controller/dashboard/TrafficStatisticsReportController.java b/src/main/java/com/nis/web/controller/dashboard/TrafficStatisticsReportController.java index 8593cc1be..a1f24ef78 100644 --- a/src/main/java/com/nis/web/controller/dashboard/TrafficStatisticsReportController.java +++ b/src/main/java/com/nis/web/controller/dashboard/TrafficStatisticsReportController.java @@ -87,11 +87,11 @@ public class TrafficStatisticsReportController extends BaseController { // statTime=DateUtils.getDate()+" 00:00:00"; // 默认今天 // endTime=DateUtils.getDateTime(); - Calendar cal = Calendar.getInstance(); - cal.setTime(new Date()); - endTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(cal.getTime());// 获取到完整的时间 - cal.set(Calendar.HOUR_OF_DAY, cal.get(Calendar.HOUR_OF_DAY) - 1); - statTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(cal.getTime()); + Calendar time = Calendar.getInstance(); + endTime = DateUtils.formatDateTimeByParm(time.getTime(),"yyyy-MM-dd HH")+":00:00"; + time.add(Calendar.HOUR_OF_DAY, -1); + statTime = DateUtils.formatDateTimeByParm(time.getTime(),"yyyy-MM-dd HH")+":00:00";; + bean.setSearchFoundStartTime(statTime); bean.setSearchFoundEndTime(endTime); statTime = URLEncoder.encode(statTime, "UTF-8"); diff --git a/src/main/resources/messages/message_en.properties b/src/main/resources/messages/message_en.properties index 58f6bb21a..f8d59f674 100644 --- a/src/main/resources/messages/message_en.properties +++ b/src/main/resources/messages/message_en.properties @@ -1361,7 +1361,7 @@ nas_ip=NAS IP Address framed_ip=Framed IP Address 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. -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. conn_record=Connection Records bps=Gbps @@ -1474,4 +1474,5 @@ framework_log=Meta Log block_drop=Block(Drop) mail_record=Mail Records ssl_record=SSL Records -http_record=HTTP Records \ No newline at end of file +http_record=HTTP Records +second_bps=bps \ No newline at end of file diff --git a/src/main/resources/messages/message_ru.properties b/src/main/resources/messages/message_ru.properties index 63a8e577e..0c0c00b84 100644 --- a/src/main/resources/messages/message_ru.properties +++ b/src/main/resources/messages/message_ru.properties @@ -44,6 +44,7 @@ domain_control=\u0411\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u043d\u043 dns_control=DNS basic_configuration=\u0411\u0430\u0437\u043e\u0432\u0430\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f Request_from=\u041f\u0438\u0441\u044c\u043c\u0435\u043d\u043d\u044b\u0439 \u043e\u0444\u0438\u0441 +second_bps=bps classification_manage=\u041a\u043b\u0430\u0441\u0441\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f area_manage=\u0420\u0435\u0433\u0438\u043e\u043d feature_scope_manage=\u041e\u0431\u043b\u0430\u0441\u0442\u044c \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u043e\u0432 @@ -342,10 +343,10 @@ expression_type=\u0422\u0438\u043f \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0 null_expression=\u041d\u0435\u0442 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f and_expression=& match_method=\u041c\u0435\u0442\u043e\u0434\u044b \u0441\u043e\u0433\u043b\u0430\u0441\u043e\u0432\u0430\u043d\u0438\u0435 -substring_match=\u0421\u043E\u0433\u043B\u0430\u0441\u043E\u0432\u0430\u043D\u0438\u0435 \u041F\u043E\u0434\u0441\u0442\u0440\u043E\u043A\u043E\u0439 -right_match= \u0421\u0443\u0444\u0444\u0438\u043A\u0441 \u0421\u043E\u0433\u043B\u0430\u0441\u043E\u0432\u0430\u043D\u0438\u0435 -left_match=\u041F\u0440\u0435\u0444\u0438\u043A\u0441 \u0421\u043E\u0433\u043B\u0430\u0441\u043E\u0432\u0430\u043D\u0438\u0435 -exactly_match=\u0422\u043E\u0447\u043D\u043E\u0441\u0442\u044C\u044E \u0421\u043E\u0433\u043B\u0430\u0441\u043E\u0432\u0430\u043D\u0438\u0435 +substring_match=\u0421\u043e\u0433\u043b\u0430\u0441\u043e\u0432\u0430\u043d\u0438\u0435 \u041f\u043e\u0434\u0441\u0442\u0440\u043e\u043a\u043e\u0439 +right_match= \u0421\u0443\u0444\u0444\u0438\u043a\u0441 \u0421\u043e\u0433\u043b\u0430\u0441\u043e\u0432\u0430\u043d\u0438\u0435 +left_match=\u041f\u0440\u0435\u0444\u0438\u043a\u0441 \u0421\u043e\u0433\u043b\u0430\u0441\u043e\u0432\u0430\u043d\u0438\u0435 +exactly_match=\u0422\u043e\u0447\u043d\u043e\u0441\u0442\u044c\u044e \u0421\u043e\u0433\u043b\u0430\u0441\u043e\u0432\u0430\u043d\u0438\u0435 whether_hexbinary=\u041d\u0435\u0447\u0443\u0432\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043a \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0443 \u0438\u043b\u0438 \u0447\u0443\u0432\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c, \u0438\u043b\u0438 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 HEX hex_binary=HEX \u0444\u043e\u0440\u043c\u0430\u0442 case_insensitive_nohex=\u041d\u0435\u0447\u0443\u0432\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u0435\u043d \u043a \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0443, \u0438 \u043d\u0435 HEX @@ -1018,7 +1019,7 @@ domain_intercepter_ratelimit=\u041f\u0435\u0440\u0435\u0445\u0432\u0430\u0442 \u app_built_in_features_config=\u0412\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0435 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f PXY_INTERCEPT_PKT_BIN=\u041f\u043e\u043b\u0435\u0437\u043d\u0430\u044f \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043f\u0430\u043a\u0435\u0442\u043e\u0432 certificate=\u0421\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442 -do_log=\u041D\u0430\u0434\u043E \u043B\u0438 \u0437\u0430\u043F\u0438\u0441\u0430\u0442\u044C \u0436\u0443\u0440\u043D\u0430\u043B +do_log=\u041d\u0430\u0434\u043e \u043b\u0438 \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0436\u0443\u0440\u043d\u0430\u043b file_strategy=\u041f\u043e\u043b\u0438\u0442\u0438\u043a\u0430 \u0444\u0430\u0439\u043b\u043e\u0432 file_desc=\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u043e\u0432 content_type=\u0422\u0438\u043f \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u044f @@ -1045,7 +1046,7 @@ keyring_name=\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u043f\u0430\u0440 keyring_type=\u0422\u0438\u043f \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430 private_key_file=\u0424\u0430\u0439\u043b \u0441 \u0437\u0430\u043a\u0440\u044b\u0442\u043e\u043c \u043a\u043b\u044e\u0447\u043e\u043c public_key_file=\u0424\u0430\u0439\u043b \u0441 \u043e\u0442\u043a\u0440\u044b\u0442\u043e\u043c \u043a\u043b\u044e\u0447\u043e\u043c -expire_after=\u0418\u0441\u0442\u0435\u043a\u0430\u0435\u0442 \u043f\u043e\u0441\u043b\u0435(\u0414\u043D\u0438) +expire_after=\u0418\u0441\u0442\u0435\u043a\u0430\u0435\u0442 \u043f\u043e\u0441\u043b\u0435(\u0414\u043d\u0438) issuer=\u042d\u043c\u0438\u0442\u0435\u043d\u0442 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430 certificate_subject=\u041f\u0440\u0435\u0434\u043c\u0435\u0442 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430 not_before_time=\u0412\u0440\u0435\u043c\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430 @@ -1406,11 +1407,11 @@ APP_TCP_SESSION_BYTE=\u0421\u0435\u0430\u043d\u0441 ip_count=Uniq-IP counnection_count=\u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0439 asn=ASN -Unique_num=\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u041A\u043B\u0438\u0435\u043D\u0442\u0430 IP +Unique_num=\u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u041a\u043b\u0438\u0435\u043d\u0442\u0430 IP ip=IP country=\u0421\u0442\u0440\u0430\u043d\u0430 desc=Desc -unique_num=\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u041A\u043B\u0438\u0435\u043D\u0442\u0430 IP +unique_num=\u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u041a\u043b\u0438\u0435\u043d\u0442\u0430 IP import_limit_is=The maximum import size is upload_limit_is=The limitation of file uplaod is count=Count @@ -1472,10 +1473,10 @@ not_exist=not exist real_time=Real Time history=History all_columns_hidden=All columns are hidden! -no_log=\u041D\u0435\u0442 \u0416\u0443\u0440\u043D\u0430\u043B\u043E\u0432 -all_log=\u0421\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u0439 \u0416\u0443\u0440\u043D\u0430\u043B \u0438 \u0416\u0443\u0440\u043D\u0430\u043B-\u0444\u0430\u0439\u043B -framework_log=\u0421\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u0439 \u0416\u0443\u0440\u043D\u0430\u043B +no_log=\u041d\u0435\u0442 \u0416\u0443\u0440\u043d\u0430\u043b\u043e\u0432 +all_log=\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0416\u0443\u0440\u043d\u0430\u043b \u0438 \u0416\u0443\u0440\u043d\u0430\u043b-\u0444\u0430\u0439\u043b +framework_log=\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0416\u0443\u0440\u043d\u0430\u043b block_drop=\u0411\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435(\u041f\u0430\u0434\u0435\u043d\u0438\u0435) -mail_record=\u0417\u0430\u043F\u0438\u0441\u0438 \u041F\u043E\u0447\u0442\u044B -ssl_record=SSL \u0417\u0430\u043F\u0438\u0441\u0438 -http_record=HTTP \u0417\u0430\u043F\u0438\u0441\u0438 \ No newline at end of file +mail_record=\u0417\u0430\u043f\u0438\u0441\u0438 \u041f\u043e\u0447\u0442\u044b +ssl_record=SSL \u0417\u0430\u043f\u0438\u0441\u0438 +http_record=HTTP \u0417\u0430\u043f\u0438\u0441\u0438 \ No newline at end of file diff --git a/src/main/resources/messages/message_zh_CN.properties b/src/main/resources/messages/message_zh_CN.properties index fd0b9b7d8..188458816 100644 --- a/src/main/resources/messages/message_zh_CN.properties +++ b/src/main/resources/messages/message_zh_CN.properties @@ -1017,7 +1017,7 @@ domain_intercepter_ratelimit=\u57df\u540d\u62e6\u622a\u9650\u901f app_built_in_features_config=APP\u5185\u7f6e\u7279\u5f81\u7ef4\u62a4 PXY_INTERCEPT_PKT_BIN=\u5305\u8f7d\u8377 certificate=\u8bc1\u4e66 -do_log=\u662F\u5426\u8BB0\u5F55\u65E5\u5FD7 +do_log=\u662f\u5426\u8bb0\u5f55\u65e5\u5fd7 file_strategy=\u6587\u4ef6\u7b56\u7565 file_desc=\u6587\u4ef6\u63cf\u8ff0\t content_type=\u5185\u5bb9\u7c7b\u578b @@ -1468,10 +1468,11 @@ not_exist=\u4e0d\u5b58\u5728 real_time=\u5b9e\u65f6 history=\u5386\u53f2 all_columns_hidden=\u6240\u6709\u7684\u5217\u90fd\u9690\u85cf\u4e86\uff01 -no_log=\u4E0D\u8BB0\u5F55 -all_log=\u8BB0\u5F55\u6240\u6709\u65E5\u5FD7 -framework_log=\u53EA\u8BB0\u5F55\u7ED3\u6784\u5316\u65E5\u5FD7 -block_drop=\u5C01\u5835(\u4E22\u5F03) -mail_record=\u90AE\u4EF6\u6CDB\u6536 -ssl_record=SSL\u6CDB\u6536 -http_record=HTTP\u6CDB\u6536 \ No newline at end of file +no_log=\u4e0d\u8bb0\u5f55 +all_log=\u8bb0\u5f55\u6240\u6709\u65e5\u5fd7 +framework_log=\u53ea\u8bb0\u5f55\u7ed3\u6784\u5316\u65e5\u5fd7 +block_drop=\u5c01\u5835(\u4e22\u5f03) +mail_record=\u90ae\u4ef6\u6cdb\u6536 +ssl_record=SSL\u6cdb\u6536 +http_record=HTTP\u6cdb\u6536 +second_bps=bps \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/basics/asnIpCfgList.jsp b/src/main/webapp/WEB-INF/views/basics/asnIpCfgList.jsp index 35addb20b..04e2fe0fe 100644 --- a/src/main/webapp/WEB-INF/views/basics/asnIpCfgList.jsp +++ b/src/main/webapp/WEB-INF/views/basics/asnIpCfgList.jsp @@ -282,10 +282,10 @@ <%-- - --%> - + --%> <%-- --%> + @@ -388,12 +388,7 @@ ${fns:abbr(lableInfo,20)} --%> - <%-- ${cfg.areaEffectiveIds } --%> - - - - - + <%-- ${cfg.areaEffectiveIds } --%> @@ -412,6 +407,11 @@ --%> <%--
--%> + + + + + ${cfg.creatorName } ${cfg.editorName } diff --git a/src/main/webapp/WEB-INF/views/cfg/maintenance/ipMultiplexPool/snatlist2.jsp b/src/main/webapp/WEB-INF/views/cfg/maintenance/ipMultiplexPool/snatlist2.jsp index e21c08cc8..383896ddf 100644 --- a/src/main/webapp/WEB-INF/views/cfg/maintenance/ipMultiplexPool/snatlist2.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/maintenance/ipMultiplexPool/snatlist2.jsp @@ -401,8 +401,7 @@ - <%-- --%> - + <%-- --%> <%-- --%> @@ -410,6 +409,7 @@ + @@ -438,12 +438,7 @@ - --%> - - - - - + --%> @@ -524,6 +519,11 @@ ${fns:abbr(lableInfo,20)} + + + + + ${cfg.creatorName } ${cfg.editorName } diff --git a/src/main/webapp/WEB-INF/views/cfg/manipulation/ipmulitiplex/dnatPolicyList2.jsp b/src/main/webapp/WEB-INF/views/cfg/manipulation/ipmulitiplex/dnatPolicyList2.jsp index f15562e2f..41a00dace 100644 --- a/src/main/webapp/WEB-INF/views/cfg/manipulation/ipmulitiplex/dnatPolicyList2.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/manipulation/ipmulitiplex/dnatPolicyList2.jsp @@ -353,18 +353,17 @@ - - - - + <%-- --%> + + <%-- --%> <%-- --%> - <%-- --%> + @@ -417,16 +416,14 @@ - -
- + <%-- - --%> + --%> <%-- @@ -434,12 +431,7 @@ - --%> - - - - - + --%> @@ -448,6 +440,8 @@ +
+ <%--
--%> ${indexCfg.requestName } @@ -507,7 +501,11 @@ ${fns:abbr(lableInfo,20)} - <%--
--%> + + + + + ${indexCfg.creatorName } ${indexCfg.editorName } diff --git a/src/main/webapp/WEB-INF/views/cfg/manipulation/ipmulitiplex/snatPolicyList2.jsp b/src/main/webapp/WEB-INF/views/cfg/manipulation/ipmulitiplex/snatPolicyList2.jsp index 7bf7565c2..7e920966d 100644 --- a/src/main/webapp/WEB-INF/views/cfg/manipulation/ipmulitiplex/snatPolicyList2.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/manipulation/ipmulitiplex/snatPolicyList2.jsp @@ -331,8 +331,7 @@ <%-- --%> - <%-- --%> - + <%-- --%> <%-- --%> <%-- --%> @@ -340,6 +339,7 @@ + @@ -390,12 +390,7 @@ - --%> - - - - - + --%> @@ -478,6 +473,11 @@ ${fns:abbr(lableInfo,20)} + + + + + ${indexCfg.creatorName } ${indexCfg.editorName } diff --git a/src/main/webapp/WEB-INF/views/dashboard/dashBoardIndex.jsp b/src/main/webapp/WEB-INF/views/dashboard/dashBoardIndex.jsp index ffde806c0..ae7183090 100644 --- a/src/main/webapp/WEB-INF/views/dashboard/dashBoardIndex.jsp +++ b/src/main/webapp/WEB-INF/views/dashboard/dashBoardIndex.jsp @@ -79,7 +79,7 @@ body {

-

c2s 0 | s2c 0

+

in 0 | out 0

0 bps
diff --git a/src/main/webapp/WEB-INF/views/dashboard/trafficAppTrendList.jsp b/src/main/webapp/WEB-INF/views/dashboard/trafficAppTrendList.jsp index 1618849f2..b6f81469e 100644 --- a/src/main/webapp/WEB-INF/views/dashboard/trafficAppTrendList.jsp +++ b/src/main/webapp/WEB-INF/views/dashboard/trafficAppTrendList.jsp @@ -162,6 +162,8 @@ () () + + @@ -317,6 +319,8 @@ html += "" + data.pktPercent + " %"; html += "" + Math.round(data.byteNum*100)/100 + ""; html += "" + data.bytePercent + " %"; + html += "" + data.pps + ""; + html += "" + data.bps + ""; html += "" if(index==fileDataS.length-1){ html+="" @@ -327,7 +331,9 @@ html+= ""+"--"+""; html+= ""+totalbyte+""; html+= ""+"--"+""; - html+="" + html+= ""+"--"+""; + html+= ""+"--"+""; + html+="" } } $("#tableData").append(html); diff --git a/src/main/webapp/WEB-INF/views/dashboard/trafficAppTypeList.jsp b/src/main/webapp/WEB-INF/views/dashboard/trafficAppTypeList.jsp index dd4b361ec..390483cc6 100644 --- a/src/main/webapp/WEB-INF/views/dashboard/trafficAppTypeList.jsp +++ b/src/main/webapp/WEB-INF/views/dashboard/trafficAppTypeList.jsp @@ -120,6 +120,8 @@ () () + + @@ -353,6 +355,8 @@ function htmlData(fileDataS){ html+= ""+packper+"%"+""; html+= ""+Math.round(data.GByte*100)/100+""; html+= ""+gbytper+"%"+""; + html+= ""+data.pps+""; + html+= ""+data.bps+""; html+="" if(index==fileDataS.length-1){ html+="" @@ -364,6 +368,8 @@ function htmlData(fileDataS){ html+= ""+"100%"+""; html+= ""+Math.round(totalGByte*100)/100+""; html+= ""+"100%"+""; + html+= ""+"--"+""; + html+= ""+"--"+""; html+="" } } diff --git a/src/main/webapp/WEB-INF/views/dashboard/trafficHttpStatisticList.jsp b/src/main/webapp/WEB-INF/views/dashboard/trafficHttpStatisticList.jsp index c2a569e15..cc8d9505f 100644 --- a/src/main/webapp/WEB-INF/views/dashboard/trafficHttpStatisticList.jsp +++ b/src/main/webapp/WEB-INF/views/dashboard/trafficHttpStatisticList.jsp @@ -82,6 +82,8 @@ () () + + @@ -298,6 +300,8 @@ function htmlData(fileDataS){ html+= ""+(data.packets/data.allPackets*100).toFixed(2)+"%"+""; html+= ""+(data.count/1073741824).toFixed(2)+""; html+= ""+(data.count/data.allGByte*100).toFixed(2)+"%"+""; + html+= ""+data.pps+""; + html+= ""+data.bps+""; html+="" if(index==fileDataS.length-1){ html+="" @@ -308,6 +312,8 @@ function htmlData(fileDataS){ html+= ""+"100%"+""; html+= ""+(data.allGByte/1073741824).toFixed(2)+""; html+= ""+"100%"+""; + html+= ""+"--"+""; + html+= ""+"--"+""; html+="" } } diff --git a/src/main/webapp/WEB-INF/views/dashboard/trafficIpActiveList.jsp b/src/main/webapp/WEB-INF/views/dashboard/trafficIpActiveList.jsp index fa791acf9..8e70efb56 100644 --- a/src/main/webapp/WEB-INF/views/dashboard/trafficIpActiveList.jsp +++ b/src/main/webapp/WEB-INF/views/dashboard/trafficIpActiveList.jsp @@ -100,6 +100,8 @@ + + @@ -422,6 +424,8 @@ function showIpActiveChart(xData,series){ html+= ""+rs.s2cPktNum+""; html+= ""+packetNum+""; html+= ""+rs.statTime+""; + html+= ""+rs.avgPacket+""; + html+= ""+rs.avgByte+""; html+="" if(i==data.length-1){ @@ -435,6 +439,8 @@ function showIpActiveChart(xData,series){ html+= ""+totalc2sPkt+""; html+= ""+totals2cPkt+""; html+= ""+totalpacket+""; + html+= ""+"--"+""; + html+= ""+"--"+""; html+= ""+"--"+""; html+="" } diff --git a/src/main/webapp/WEB-INF/views/dashboard/trafficProtocolTypeList.jsp b/src/main/webapp/WEB-INF/views/dashboard/trafficProtocolTypeList.jsp index 4311e068f..184c8e438 100644 --- a/src/main/webapp/WEB-INF/views/dashboard/trafficProtocolTypeList.jsp +++ b/src/main/webapp/WEB-INF/views/dashboard/trafficProtocolTypeList.jsp @@ -107,6 +107,8 @@ () () + + @@ -343,6 +345,8 @@ function htmlData(fileDataS){ html+= ""+packper+"%"+""; html+= ""+Math.round(data.GByte*100)/100+""; html+= ""+gbytper+"%"+""; + html+= ""+data.pps+""; + html+= ""+data.bps+""; html+="" if(index==fileDataS.length-1){ html+="" @@ -353,6 +357,8 @@ function htmlData(fileDataS){ html+= ""+"100%"+""; html+= ""+Math.round(totalGByte*100)/100+""; html+= ""+"100%"+""; + html+= ""+"——"+""; + html+= ""+"——"+""; html+="" } } diff --git a/src/main/webapp/WEB-INF/views/dashboard/trafficUserBehavior.jsp b/src/main/webapp/WEB-INF/views/dashboard/trafficUserBehavior.jsp index b207a3362..a2d38a1ae 100644 --- a/src/main/webapp/WEB-INF/views/dashboard/trafficUserBehavior.jsp +++ b/src/main/webapp/WEB-INF/views/dashboard/trafficUserBehavior.jsp @@ -130,7 +130,6 @@ } $("#pageNo").val(n); $("#pageSize").val(s); -// $("#searchForm").attr("action","${ctx}/traffic/userBehavior"); $("#searchForm").submit(); return false; } @@ -244,7 +243,7 @@ + value="${log.searchFoundStartTime}" onclick="WdatePicker({onpicked:function(){this.onchange()},dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,maxDate:'#F{\'new Date()\'}'});" onchange="setEndTimeByFormat('#searchFoundStartTime','#searchFoundEndTime',1,'d','yyyy-MM-dd hh:mm:ss',false,'yyyy-MM-dd hh')"/>
@@ -253,14 +252,14 @@
+ value="${log.searchFoundEndTime}" onclick="WdatePicker({onpicked:function(){this.onchange()},dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,maxDate:'#F{\'new Date()\'}'});" onchange="setEndTimeByFormat('#searchFoundStartTime','#searchFoundEndTime',1,'d','yyyy-MM-dd hh:mm:ss',false,'yyyy-MM-dd hh')"/>
- +
- +
diff --git a/src/main/webapp/WEB-INF/views/dashboard/trafficWebTypeList.jsp b/src/main/webapp/WEB-INF/views/dashboard/trafficWebTypeList.jsp index ffe66034f..be277e753 100644 --- a/src/main/webapp/WEB-INF/views/dashboard/trafficWebTypeList.jsp +++ b/src/main/webapp/WEB-INF/views/dashboard/trafficWebTypeList.jsp @@ -150,6 +150,8 @@ () () + + @@ -398,6 +400,8 @@ html += "" + packper + " %"; html += "" + Math.round(data.Gbyte*100)/100 + ""; html += "" + gbytper + " %"; + html += "" + data.pps + ""; + html += "" + data.bps + ""; html += "" if(index==fileDataS.length-1){ html+="" @@ -409,6 +413,8 @@ html+= ""+"100%"+""; html+= ""+parseInt(totalGbyte).toFixed(2)+""; html+= ""+"100%"+""; + html+= ""+"--"+""; + html+= ""+"--"+""; html+="" } }