Merge branch 'develop' of http://192.168.10.125/k18_web/NFS.git into develop
This commit is contained in:
@@ -34,6 +34,8 @@ public class SysLog extends BaseEntity<SysLog>{
|
||||
|
||||
private Long consumerTime;//消费时间
|
||||
|
||||
private Integer functionId;//功能菜单id
|
||||
|
||||
public Long getConsumerTime() {
|
||||
return consumerTime;
|
||||
}
|
||||
@@ -155,7 +157,15 @@ public class SysLog extends BaseEntity<SysLog>{
|
||||
this.createBy = createBy;
|
||||
}
|
||||
|
||||
/**
|
||||
public Integer getFunctionId() {
|
||||
return functionId;
|
||||
}
|
||||
|
||||
public void setFunctionId(Integer functionId) {
|
||||
this.functionId = functionId;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置请求参数
|
||||
* @param paramMap
|
||||
*/
|
||||
|
||||
@@ -416,6 +416,7 @@ public final class Constants {
|
||||
public static final String NTC_MMSAMPLE_VOIP_LOG = Configurations.getStringProperty("mmSampleVoipLog", "");
|
||||
public static final String NTC_MMAVIP_LOG = Configurations.getStringProperty("mmAvIpLog", "");
|
||||
public static final String NTC_MMFILEDIGEST_LOG = Configurations.getStringProperty("mmFileDigestLog", "");
|
||||
public static final String NTC_STREAMMEDIA_LOG = Configurations.getStringProperty("ntcStreamMediaLog", "");
|
||||
public static final String NTC_MMPORNAUDIOSAMPLE_LOG = Configurations.getStringProperty("mmPornAudioLevelLog", "");
|
||||
public static final String NTC_MMPORNVIDEOSAMPLE_LOG = Configurations.getStringProperty("mmPornVideoLevelLog", "");
|
||||
public static final String NTC_MMAVURL_LOG = Configurations.getStringProperty("mmAvUrlLog", "");
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
package com.nis.util.httpclient;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.net.ConnectException;
|
||||
import java.net.SocketTimeoutException;
|
||||
import java.net.URI;
|
||||
import java.util.ArrayList;
|
||||
@@ -67,7 +68,7 @@ public class HttpClientUtil {
|
||||
* @throws IOException
|
||||
* @throws ClientProtocolException
|
||||
*/
|
||||
public static String get(String url) throws ClientProtocolException, IOException{
|
||||
public static String get(String url) throws Exception{
|
||||
//实例化httpclient
|
||||
CloseableHttpClient httpclient = HttpClients.createDefault();
|
||||
//实例化get方法
|
||||
@@ -75,19 +76,16 @@ public class HttpClientUtil {
|
||||
//请求结果
|
||||
CloseableHttpResponse response = null;
|
||||
String content ="";
|
||||
try {
|
||||
logger.info("流量统计数据请求路径:"+url);
|
||||
//执行get方法
|
||||
response = httpclient.execute(httpget);
|
||||
if(response.getStatusLine().getStatusCode()==HttpStatus.SC_OK){
|
||||
content = EntityUtils.toString(response.getEntity(),"utf-8");
|
||||
logger.debug("获取消息成功,相应内容如下: " + content);
|
||||
}
|
||||
} catch (ClientProtocolException e) {
|
||||
e.printStackTrace();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
logger.info("dashboard图表数据请求路径:"+url);
|
||||
logger.info("获取流量统计数据成功,相应内容如下: " + content);
|
||||
}else {
|
||||
logger.error("获取消息失败,相应内容如下: " + content);
|
||||
throw new ConnectException("流量统计服务接口连接错误"+content);
|
||||
}
|
||||
return content;
|
||||
}
|
||||
|
||||
@@ -322,13 +320,13 @@ public class HttpClientUtil {
|
||||
|
||||
}
|
||||
|
||||
public static void main(String[] args) throws ClientProtocolException, IOException {
|
||||
HttpClientUtil hd = new HttpClientUtil();
|
||||
hd.get("http://10.0.6.115:9200/_sql?sql=select * from dfipportlog-2016-09-07-15 limit 1 10");
|
||||
Map<String,String> map = new HashMap();
|
||||
map.put("id","1");
|
||||
hd.post("http://localhost:8080/springMVC/menu/getChildren.do",map);
|
||||
|
||||
}
|
||||
// public static void main(String[] args) throws ClientProtocolException, IOException {
|
||||
// HttpClientUtil hd = new HttpClientUtil();
|
||||
//// hd.get("http://10.0.6.115:9200/_sql?sql=select * from dfipportlog-2016-09-07-15 limit 1 10");
|
||||
// Map<String,String> map = new HashMap();
|
||||
// map.put("id","1");
|
||||
// hd.post("http://localhost:8080/springMVC/menu/getChildren.do",map);
|
||||
//
|
||||
// }
|
||||
|
||||
}
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
package com.nis.web.controller.dashboard;
|
||||
|
||||
import java.lang.reflect.Type;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
@@ -14,12 +16,17 @@ import org.springframework.web.bind.annotation.ModelAttribute;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
|
||||
|
||||
import com.google.common.collect.Maps;
|
||||
import com.beust.jcommander.internal.Maps;
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.GsonBuilder;
|
||||
import com.google.gson.JsonDeserializationContext;
|
||||
import com.google.gson.JsonDeserializer;
|
||||
import com.google.gson.JsonElement;
|
||||
import com.google.gson.JsonObject;
|
||||
import com.google.gson.JsonParseException;
|
||||
import com.google.gson.reflect.TypeToken;
|
||||
import com.nis.domain.Page;
|
||||
import com.nis.domain.PageLog;
|
||||
import com.nis.domain.SysDataDictionaryItem;
|
||||
import com.nis.domain.configuration.WebsiteDomainTopic;
|
||||
@@ -64,6 +71,7 @@ public class DashboardController extends BaseController{
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
logger.error("活跃端口数据错误"+e);
|
||||
list.add(Maps.newHashMap("error","request_service_failed"));
|
||||
}
|
||||
return list;
|
||||
}
|
||||
@@ -85,9 +93,88 @@ public class DashboardController extends BaseController{
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
logger.error("活跃IP错误"+e);
|
||||
list.add(Maps.newHashMap("error","request_service_failed"));
|
||||
}
|
||||
return list;
|
||||
}
|
||||
/**
|
||||
* 活跃IP TOP10 一小时 间隔5分钟数据
|
||||
*/
|
||||
@RequestMapping(value="ipActiveMinuteList")
|
||||
@ResponseBody
|
||||
public List ipActiveMinuteList(){
|
||||
Map<String, Object> fromJsonList = new HashMap<String, Object>();
|
||||
List list = new ArrayList();
|
||||
try {
|
||||
String string = HttpClientUtil.get("http://127.0.0.1:8082/galaxy/service/log/v1/trafficIpActiveFiveMinute");
|
||||
// String string = HttpClientUtil.get(Constants.DASHBOARD_URL+Constants.TRAFFIC_IPACTIVE);
|
||||
Gson gson = new GsonBuilder().create();
|
||||
fromJsonList = gson.fromJson(string, new TypeToken<Map>(){}.getType());
|
||||
logger.info("活跃IP1小时,间隔5分钟数据"+fromJsonList);
|
||||
list = (ArrayList) fromJsonList.get("data");
|
||||
return list;
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
logger.error("活跃IP数据获取错误"+e);
|
||||
list.add(Maps.newHashMap("error","request_service_failed"));
|
||||
}
|
||||
return list;
|
||||
}
|
||||
/**
|
||||
* 活跃IP详情
|
||||
* @param request
|
||||
* @param response
|
||||
* @param model
|
||||
* @return
|
||||
*/
|
||||
|
||||
public static Gson getIntGson() {
|
||||
Gson gson = new GsonBuilder()
|
||||
.registerTypeAdapter(
|
||||
new TypeToken<Map<String, Object>>() {
|
||||
}.getType(),
|
||||
new JsonDeserializer<Map<String, Object>>() {
|
||||
@Override
|
||||
public Map<String, Object> deserialize(
|
||||
JsonElement json, Type typeOfT,
|
||||
JsonDeserializationContext context) throws JsonParseException {
|
||||
|
||||
Map<String, Object> treeMap = new HashMap<String, Object>();
|
||||
JsonObject jsonObject = json.getAsJsonObject();
|
||||
Set<Map.Entry<String, JsonElement>> entrySet = jsonObject.entrySet();
|
||||
for (Map.Entry<String, JsonElement> entry : entrySet) {
|
||||
treeMap.put(entry.getKey(), entry.getValue());
|
||||
}
|
||||
return treeMap;
|
||||
}
|
||||
}).create();
|
||||
return gson;
|
||||
}
|
||||
@RequestMapping(value="ipActiveList")
|
||||
public String ipActiveList( HttpServletRequest request, HttpServletResponse response, Model model, RedirectAttributes redirectAttributes){
|
||||
Map<String, Object> fromJsonList = new HashMap<String, Object>();
|
||||
List<TrafficIpActiveStatistic> ipActiveList = new ArrayList<TrafficIpActiveStatistic>();
|
||||
String string;
|
||||
try {
|
||||
string = HttpClientUtil.get("http://127.0.0.1:8082/galaxy/service/log/v1/trafficIpActiveOneHour");
|
||||
// String string = HttpClientUtil.get(Constants.DASHBOARD_URL+Constants.TRAFFIC_IPACTIVE);
|
||||
|
||||
Gson gson = getIntGson();
|
||||
fromJsonList = gson.fromJson(string, new TypeToken<Map<String, Object>>(){}.getType());
|
||||
logger.info("活跃IP1小时"+fromJsonList);
|
||||
ipActiveList = gson.fromJson(fromJsonList.get("data").toString(), new TypeToken<List<TrafficIpActiveStatistic>>() {}.getType()) ;
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
logger.error("活跃IP统计错误"+e);
|
||||
addMessage(redirectAttributes,"request_service_failed");
|
||||
}
|
||||
|
||||
|
||||
model.addAttribute("ipActiveList", ipActiveList);
|
||||
return "/dashboard/trafficIpActiveList";
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 协议统计
|
||||
*/
|
||||
@@ -123,6 +210,7 @@ public class DashboardController extends BaseController{
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
logger.error("协议统计错误"+e);
|
||||
resultList.add(Maps.newHashMap("error","request_service_failed"));
|
||||
}
|
||||
return resultList;
|
||||
}
|
||||
@@ -161,6 +249,7 @@ public class DashboardController extends BaseController{
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
logger.error("app流量分析错误"+e);
|
||||
resultList.add(Maps.newHashMap("error","request_service_failed"));
|
||||
}
|
||||
return resultList;
|
||||
}
|
||||
@@ -199,6 +288,7 @@ public class DashboardController extends BaseController{
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
logger.error("终端用户-获取操作系统列表错误"+e);
|
||||
resultList.add(Maps.newHashMap("error","request_service_failed"));
|
||||
}
|
||||
return resultList;
|
||||
}
|
||||
@@ -250,6 +340,7 @@ public class DashboardController extends BaseController{
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
logger.error("终端用户-获取操作系统下浏览器类型错误"+e);
|
||||
resultList.add(Maps.newHashMap("error","request_service_failed"));
|
||||
}
|
||||
return resultList;
|
||||
}
|
||||
@@ -288,6 +379,7 @@ public class DashboardController extends BaseController{
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
logger.error("终端用户-获取浏览器列表错误"+e);
|
||||
resultList.add(Maps.newHashMap("error","request_service_failed"));
|
||||
}
|
||||
return resultList;
|
||||
}
|
||||
@@ -339,6 +431,7 @@ public class DashboardController extends BaseController{
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
logger.error("终端用户-获取浏览器下操作系统类型错误"+e);
|
||||
resultList.add(Maps.newHashMap("error","request_service_failed"));
|
||||
}
|
||||
return resultList;
|
||||
}
|
||||
@@ -383,6 +476,7 @@ public class DashboardController extends BaseController{
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
logger.error("http网站流量分析数据错误:"+e);
|
||||
resultList.add(Maps.newHashMap("error","request_service_failed"));
|
||||
}
|
||||
return resultList;
|
||||
}
|
||||
@@ -432,6 +526,7 @@ public class DashboardController extends BaseController{
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
logger.error("http某个网站子域名流量统计错误"+e);
|
||||
resultList.add(Maps.newHashMap("error","request_service_failed"));
|
||||
}
|
||||
return resultList;
|
||||
}
|
||||
@@ -498,13 +593,14 @@ public class DashboardController extends BaseController{
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
logger.error("http网站主题流量分析数据错误:"+e);
|
||||
resultList.add(Maps.newHashMap("error","request_service_failed"));
|
||||
}
|
||||
return resultList;
|
||||
}
|
||||
|
||||
|
||||
@RequestMapping(value="webTypeList")
|
||||
public String ipActiveList( HttpServletRequest request, HttpServletResponse response, Model model){
|
||||
public String webTypeList( HttpServletRequest request, HttpServletResponse response, Model model){
|
||||
PageLog<TrafficIpActiveStatistic> page = new PageLog<TrafficIpActiveStatistic>(request, response);
|
||||
List list = new ArrayList();
|
||||
for (int i = 1; i < 10; i++) {
|
||||
@@ -516,7 +612,7 @@ public class DashboardController extends BaseController{
|
||||
list.add(ip);
|
||||
}
|
||||
page.setList(list);
|
||||
model.addAttribute("page", page);
|
||||
model.addAttribute("page", page);
|
||||
return "/dashboard/trafficWebTypeList";
|
||||
}
|
||||
@RequestMapping(value="bandwidthList")
|
||||
@@ -637,4 +733,41 @@ public class DashboardController extends BaseController{
|
||||
|
||||
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
Map<String, Object> map = new HashMap<String, Object>();
|
||||
map.put("a", 10);
|
||||
map.put("b", "10");
|
||||
map.put("c", 10L);
|
||||
map.put("d", "fsaf");
|
||||
//Gson gson = new Gson();
|
||||
Gson gson = new GsonBuilder()
|
||||
/* .registerTypeAdapter(
|
||||
new TypeToken<Map<String, Object>>() {
|
||||
}.getType(),
|
||||
new JsonDeserializer<Map<String, Object>>() {
|
||||
@Override
|
||||
public Map<String, Object> deserialize(
|
||||
JsonElement json, Type typeOfT,
|
||||
JsonDeserializationContext context) throws JsonParseException {
|
||||
|
||||
Map<String, Object> treeMap = new HashMap<String, Object>();
|
||||
JsonObject jsonObject = json.getAsJsonObject();
|
||||
Set<Map.Entry<String, JsonElement>> entrySet = jsonObject.entrySet();
|
||||
for (Map.Entry<String, JsonElement> entry : entrySet) {
|
||||
treeMap.put(entry.getKey(), entry.getValue());
|
||||
}
|
||||
return treeMap;
|
||||
}
|
||||
})*/.create();
|
||||
|
||||
String json = gson.toJson(map);
|
||||
System.out.println(json);
|
||||
|
||||
Map map1 = gson.fromJson(json, Map.class);
|
||||
Map map2 = gson.fromJson(json, new TypeToken<Map<String, Object>>() {
|
||||
}.getType());
|
||||
|
||||
System.out.println(map2.get("c"));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -67,6 +67,8 @@ public class TrafficStatisticsInfoController extends BaseController {
|
||||
Double dropConnNum=0d;
|
||||
Double monitorNum=0d;
|
||||
Double loopConnNum=0d;
|
||||
Double liveConnNum=0d;
|
||||
Double newUniConnNum=0d;
|
||||
Double inoctetsNum=0d;
|
||||
Double outoctetsNum=0d;
|
||||
Double bandwidth=0d;
|
||||
@@ -76,6 +78,8 @@ public class TrafficStatisticsInfoController extends BaseController {
|
||||
monitorNum = (Double) map.get("monitorNum");
|
||||
dropConnNum = (Double) map.get("dropConnNum");
|
||||
loopConnNum = (Double) map.get("loopConnNum");
|
||||
liveConnNum = (Double) map.get("liveConnNum");
|
||||
newUniConnNum = (Double) map.get("newUniConnNum");
|
||||
inoctetsNum = (Double) map.get("inoctets");
|
||||
outoctetsNum = (Double) map.get("outoctets");
|
||||
//单位换算 byte->bit/s
|
||||
@@ -88,6 +92,8 @@ public class TrafficStatisticsInfoController extends BaseController {
|
||||
m.put("monitorNum", monitorNum);
|
||||
m.put("loopConnNum", loopConnNum);
|
||||
m.put("dropConnNum", dropConnNum);
|
||||
m.put("liveConnNum", liveConnNum);
|
||||
m.put("newUniConnNum", newUniConnNum);
|
||||
|
||||
m.put("bandwidth", bandwidth);
|
||||
m.put("inoctetsNum", inoctetsNum);
|
||||
|
||||
@@ -57,7 +57,7 @@ public class MmAvUrlLogController extends BaseController{
|
||||
model.addAttribute("serviceList", serviceList);
|
||||
|
||||
String url = "";
|
||||
url = Constants.LOG_BASE_URL+Constants.NTC_MMAVURL_LOG;
|
||||
url = Constants.LOG_BASE_URL+Constants.NTC_STREAMMEDIA_LOG;
|
||||
String jsonString = HttpClientUtil.getMsg(url,params,request);
|
||||
|
||||
Gson gson = new GsonBuilder().create();
|
||||
|
||||
@@ -1216,3 +1216,15 @@ MM_FILE_DIGEST=File Digest Configuration
|
||||
NTC_ASN_IP=ASN
|
||||
NTC_STREAMING_MEDIA_URL=Streaming Media URL
|
||||
NTC_VOIP_ACCOUNT=VoIP Account
|
||||
user_manage=Client Account Manage
|
||||
ip_reuse_policy_object=IP Reuse Policy Object
|
||||
area_group_manage=Group Area Manage
|
||||
stream_media_protocol=Stream Media Protocol
|
||||
new_link=New Link
|
||||
active_link=Active Link
|
||||
traffic_ipactive_hour_trend=Active IPTOP10 Trend In Nearly One Hour
|
||||
traffic_ipactive_hour_max=Active IPTOP10 Maximum In Nearly One Hour
|
||||
ip_addr=IP
|
||||
area_id=Area
|
||||
link_num=Link Number
|
||||
stat_time=Statistical Time
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1210,3 +1210,15 @@ MM_FILE_DIGEST=\u6587\u4EF6\u6458\u8981\u914D\u7F6E
|
||||
NTC_ASN_IP=ASN
|
||||
NTC_STREAMING_MEDIA_URL=Streaming Media URL
|
||||
NTC_VOIP_ACCOUNT=VoIP Account
|
||||
user_manage=\u5BA2\u6237\u7AEF\u8D26\u53F7\u7BA1\u7406
|
||||
ip_reuse_policy_object=IP\u590D\u7528\u7B56\u7565\u5BF9\u8C61
|
||||
area_group_manage=\u5206\u7EC4\u5730\u7406\u4FE1\u606F\u7BA1\u7406
|
||||
stream_media_protocol=\u6D41\u5A92\u4F53\u534F\u8BAE
|
||||
new_link=\u65B0\u5EFA
|
||||
active_link=\u6D3B\u8DC3
|
||||
traffic_ipactive_hour_trend=\u6D3B\u8DC3IPTOP10\u8FD1\u4E00\u5C0F\u65F6\u5185\u8D8B\u52BF
|
||||
traffic_ipactive_hour_max=\u6D3B\u8DC3IPTOP10\u8FD1\u4E00\u5C0F\u65F6\u5185\u6700\u5927\u503C
|
||||
ip_addr=IP\u5730\u5740
|
||||
area_id=\u5730\u57DF
|
||||
link_num=\u8FDE\u63A5\u6B21\u6570
|
||||
stat_time=\u7EDF\u8BA1\u65F6\u95F4
|
||||
@@ -219,14 +219,14 @@ clusterBStartTime=1503504000725
|
||||
isCommit=true
|
||||
############################################################################################################################################
|
||||
############################################################################################################################################
|
||||
httpUrl=http://192.168.10.204:7777/galaxy/service/cfg/v1/
|
||||
httpUrl=http://192.168.10.204:7777/galaxy-service/service/cfg/v1/
|
||||
maatCfg=configSources
|
||||
fileUploadCfg=fileUploadSources
|
||||
callbackCfg=commonSources
|
||||
fileDigestCfg=fileDigestSources
|
||||
configIdSources=configPzIdSources
|
||||
#logBaseUrl=http://10.0.6.242:8080/galaxy/service/log/v1/
|
||||
logBaseUrl=http://192.168.10.204:7777/galaxy/service/log/v1/
|
||||
#logBaseUrl=http://10.0.6.242:8080/galaxy-service/service/log/v1/
|
||||
logBaseUrl=http://192.168.10.204:7777/galaxy-service/service/log/v1/
|
||||
ntcPzReport=ntcPzReport
|
||||
ntcServiceReport=ntcServiceReport
|
||||
ntcTagReport=ntcTagReport
|
||||
@@ -270,7 +270,7 @@ mmLogoDetectionLog=mmLogoDetectionLogs
|
||||
mmFaceRecognizationLog=mmFaceRecognizationLogs
|
||||
########################################
|
||||
#\u5927\u5C4F\u56FE\u8868\u5C55\u793A\u670D\u52A1\u63A5\u53E3
|
||||
dashboardUrl=http://192.168.10.204:7777/galaxy/service/log/v1/
|
||||
dashboardUrl=http://192.168.10.204:7777/galaxy-service/service/log/v1/
|
||||
trafficIpActive=trafficIpActive
|
||||
trafficProtocol=trafficProtocol
|
||||
trafficApp=trafficApp
|
||||
@@ -524,4 +524,5 @@ log_time_start=2018-08-01 00:00:00
|
||||
log_time_end=2018-10-01 00:00:00
|
||||
area_tag=location
|
||||
isp_tag=isp
|
||||
mmFileDigestLog=mmFileDigestLogs
|
||||
mmFileDigestLog=mmFileDigestLogs
|
||||
ntcStreamMediaLog=ntcStreamMediaLogs
|
||||
@@ -79,7 +79,7 @@
|
||||
<p class="numberRun2">0</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="fr_fc">
|
||||
<div class="fr_fc">
|
||||
<div class="fl_visual">
|
||||
<i class="fa fa-trash"> </i>
|
||||
</div>
|
||||
@@ -104,6 +104,34 @@
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="fr_fc">
|
||||
<div class="fl_visual">
|
||||
<i class="fa fa-link"> </i>
|
||||
</div>
|
||||
<div class="fl_fc">
|
||||
<!-- <a href="javacript:;"> -->
|
||||
<p data-original-title="<spring:message code="new_link"/>"
|
||||
class="tooltips" data-flag="false" data-html="true" data-placement="top">
|
||||
<!-- 新建链接数 --><spring:message code="new_link"/></p>
|
||||
<p class="numberRun5">0</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="fr_fc">
|
||||
<div class="fl_visual">
|
||||
<i class="fa fa-heartbeat"> </i>
|
||||
</div>
|
||||
<div class="fl_fc">
|
||||
<!-- <a href="javacript:;"> -->
|
||||
<p data-original-title="<spring:message code="active_link"/>"
|
||||
class="tooltips" data-flag="false" data-html="true" data-placement="top">
|
||||
<!-- 活跃链接数 --><spring:message code="active_link"/></p>
|
||||
<p class="numberRun6">0</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -114,7 +142,7 @@
|
||||
<div class="main_left fl">
|
||||
<div class="left_1">
|
||||
<div class="main_title">
|
||||
<spring:message code="traffic_ipactive_chart"/> <a href="javascipt:void(0)" onclick="ipActiveList();return false;"><i class="fa fa-refresh"></i></a>
|
||||
<spring:message code="traffic_ipactive_chart"/> <a href="${ctx}/dashboard/ipActiveList"><i class="fa fa-line-chart"></i></a> <a href="javascipt:void(0)" onclick="ipActiveList();return false;"><i class="fa fa-refresh"></i></a>
|
||||
</div>
|
||||
<!-- 活跃IP图 --> <div id="chart_main" style="width:100%;height:400px;"></div>
|
||||
</div>
|
||||
@@ -341,10 +369,10 @@
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function(){
|
||||
//动态显示数据
|
||||
ajaxinfo();
|
||||
setInterval(function(){
|
||||
ajaxinfo();
|
||||
},20000);
|
||||
// ajaxinfo();
|
||||
// setInterval(function(){
|
||||
// ajaxinfo();
|
||||
// },20000);
|
||||
|
||||
protocolList();//协议统计
|
||||
ipActiveList();//活跃IP
|
||||
@@ -377,6 +405,8 @@ function ajaxinfo(){
|
||||
dataScroll(".numberRun1",Math.floor(data.rejectNum));
|
||||
dataScroll(".numberRun2",Math.floor(data.monitorNum));
|
||||
dataScroll(".numberRun3",Math.floor(data.dropConnNum));
|
||||
dataScroll(".numberRun5",Math.floor(data.newUniConnNum));
|
||||
dataScroll(".numberRun6",Math.floor(data.liveConnNum));
|
||||
var bandwidth=data.bandwidth;
|
||||
var bandwidthK=bandwidth/1024;
|
||||
var bandwidthM=bandwidthK/1024;
|
||||
@@ -430,10 +460,6 @@ function ajaxinfo(){
|
||||
}
|
||||
} */
|
||||
},
|
||||
error: function(data, textStatus, errorThrown){
|
||||
// warning_prompt("获取实时列表数据失败!",1500);
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
//动态显示数据
|
||||
@@ -456,18 +482,19 @@ function uaSelectChange(){
|
||||
|
||||
//协议类型统计
|
||||
function protocolList(){
|
||||
|
||||
$.ajax({
|
||||
url: '${ctx}/dashboard/protocol',
|
||||
type : "get" ,
|
||||
dataType:"json",
|
||||
cache:false,async:true,
|
||||
success:function (rs) {
|
||||
echart_1(rs);
|
||||
if(rs[0].error!=null){
|
||||
top.$.jBox.tip("<spring:message code='request_service_failed'/>", "<spring:message code='info'/>");
|
||||
return;
|
||||
}else{
|
||||
echart_1(rs);
|
||||
}
|
||||
},
|
||||
error: function(data, textStatus, errorThrown){
|
||||
// warning_prompt("获取实时列表数据失败!",1500);
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
@@ -480,11 +507,13 @@ function ipActiveList(){
|
||||
dataType:"json",
|
||||
cache:false,async:true,
|
||||
success:function (rs) {
|
||||
echart_main(rs);
|
||||
if(rs[0].error!=null){
|
||||
top.$.jBox.tip("<spring:message code='request_service_failed'/>", "<spring:message code='info'/>");
|
||||
return;
|
||||
}else{
|
||||
echart_main(rs);
|
||||
}
|
||||
},
|
||||
error: function(data, textStatus, errorThrown){
|
||||
// warning_prompt("获取实时列表数据失败!",1500);
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
@@ -511,28 +540,29 @@ function portActiveList(){
|
||||
|
||||
$("#tbodyDataPort").prepend(tr);
|
||||
},
|
||||
success:function (rs) {
|
||||
success:function (rs) {
|
||||
$("#tbodyDataPort").html("");
|
||||
var n=rs.length;
|
||||
var total=0;
|
||||
if(n>0){
|
||||
$(rs).each(function(i, itemObj) {
|
||||
total+=itemObj.sum;
|
||||
});
|
||||
$(rs).each(function(i, itemObj) {
|
||||
var tr = "<tr class='frist rowData' >";
|
||||
tr += "<td class='list_c1'>"+itemObj.port+"</td>";
|
||||
tr += "<td class='list_c2'>"+itemObj.sum+"</td>";
|
||||
tr += "<td class='list_c3'>"+((itemObj.sum/total)*100).toFixed(1)+" %</td></tr>";
|
||||
$("#tbodyDataPort").prepend(tr);
|
||||
})
|
||||
if(rs[0].error!=null){
|
||||
$("#tbodyDataPort").prepend("<tr class='frist rowData'><td></td><td style='color:#fff'><spring:message code='request_service_failed'/></td><td></td></tr>");
|
||||
}else{
|
||||
$("#tbodyDataPort").prepend("<tr class='frist rowData'><td></td><td style='color:#fff'>No Data</td><td></td></tr>");
|
||||
if(n>0){
|
||||
$(rs).each(function(i, itemObj) {
|
||||
total+=itemObj.sum;
|
||||
});
|
||||
$(rs).each(function(i, itemObj) {
|
||||
var tr = "<tr class='frist rowData' >";
|
||||
tr += "<td class='list_c1'>"+itemObj.port+"</td>";
|
||||
tr += "<td class='list_c2'>"+itemObj.sum+"</td>";
|
||||
tr += "<td class='list_c3'>"+((itemObj.sum/total)*100).toFixed(1)+" %</td></tr>";
|
||||
$("#tbodyDataPort").prepend(tr);
|
||||
})
|
||||
}else{
|
||||
$("#tbodyDataPort").prepend("<tr class='frist rowData'><td></td><td style='color:#fff'>No Data</td><td></td></tr>");
|
||||
}
|
||||
}
|
||||
},
|
||||
error: function(data, textStatus, errorThrown){
|
||||
// warning_prompt("获取实时列表数据失败!",1500);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -545,11 +575,13 @@ function appTypeList(){
|
||||
dataType:"json",
|
||||
cache:false,async:true,
|
||||
success:function (rs) {
|
||||
echart_3(rs);
|
||||
if(rs[0].error!=null){
|
||||
top.$.jBox.tip("<spring:message code='request_service_failed'/>", "<spring:message code='info'/>");
|
||||
return;
|
||||
}else{
|
||||
echart_3(rs);
|
||||
}
|
||||
},
|
||||
error: function(data, textStatus, errorThrown){
|
||||
// warning_prompt("获取实时列表数据失败!",1500);
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
@@ -580,33 +612,34 @@ function systemList(){
|
||||
$("#tbodyData1").html("");
|
||||
rs.reverse();
|
||||
var n=rs.length;
|
||||
if(n>0){
|
||||
|
||||
$(rs).each(function(i, itemObj) {
|
||||
var count= itemObj.count;
|
||||
var preCount = itemObj.preCount;
|
||||
var tr = "<tr class='frist rowData select-row-tr' onclick='javascript:osClick(\""+itemObj.osType+"\",this);return false;'>";
|
||||
tr += "<td class='list_c1' style='color:#fff'>"+n+"</td>";
|
||||
tr += "<td class='list_c2' style='color:#fff' title='"+itemObj.osType+"'>"+itemObj.osType+"</td>";
|
||||
if(preCount<count){
|
||||
tr += "<td class='list_c3'>"+"<i class='fa fa-arrow-up' style='color:green'/>"+"</td></tr>";
|
||||
}else if(preCount>count){
|
||||
tr += "<td class='list_c3'>"+"<i class='fa fa-arrow-down' style='color:red'/>"+"</td></tr>";
|
||||
}else{
|
||||
tr += "<td class='list_c3'>"+""+"</td></tr>";
|
||||
}
|
||||
n=n-1;
|
||||
$("#tbodyData1").prepend(tr);
|
||||
})
|
||||
if(rs[0].error!=null){
|
||||
$("#tbodyData1").prepend("<tr class='frist rowData'><td></td><td style='color:#fff'><spring:message code='request_service_failed'/></td><td></td></tr>");
|
||||
}else{
|
||||
$("#tbodyData1").prepend("<tr class='frist rowData'><td></td><td style='color:#fff'>No Data</td><td></td></tr>");
|
||||
}
|
||||
if(n>0){
|
||||
|
||||
$(rs).each(function(i, itemObj) {
|
||||
var count= itemObj.count;
|
||||
var preCount = itemObj.preCount;
|
||||
var tr = "<tr class='frist rowData select-row-tr' onclick='javascript:osClick(\""+itemObj.osType+"\",this);return false;'>";
|
||||
tr += "<td class='list_c1' style='color:#fff'>"+n+"</td>";
|
||||
tr += "<td class='list_c2' style='color:#fff' title='"+itemObj.osType+"'>"+itemObj.osType+"</td>";
|
||||
if(preCount<count){
|
||||
tr += "<td class='list_c3'>"+"<i class='fa fa-arrow-up' style='color:green'/>"+"</td></tr>";
|
||||
}else if(preCount>count){
|
||||
tr += "<td class='list_c3'>"+"<i class='fa fa-arrow-down' style='color:red'/>"+"</td></tr>";
|
||||
}else{
|
||||
tr += "<td class='list_c3'>"+""+"</td></tr>";
|
||||
}
|
||||
n=n-1;
|
||||
$("#tbodyData1").prepend(tr);
|
||||
})
|
||||
}else{
|
||||
$("#tbodyData1").prepend("<tr class='frist rowData'><td></td><td style='color:#fff'>No Data</td><td></td></tr>");
|
||||
}
|
||||
//终端图-操作系统
|
||||
echart_2(rs);
|
||||
}
|
||||
},
|
||||
error: function(data, textStatus, errorThrown){
|
||||
// warning_prompt("获取实时列表数据失败!",1500);
|
||||
}
|
||||
});
|
||||
}
|
||||
// 点击操作系统列表右侧显示 浏览器图
|
||||
@@ -624,9 +657,6 @@ function osClick(osType,obj){
|
||||
success:function (rs) {
|
||||
echart_5(rs);
|
||||
},
|
||||
error: function(data, textStatus, errorThrown){
|
||||
// warning_prompt("获取实时列表数据失败!",1500);
|
||||
}
|
||||
});
|
||||
}
|
||||
//点击浏览器列表右侧显示 操作系统图
|
||||
@@ -642,9 +672,6 @@ function bsClick(bsType,obj){
|
||||
success:function (rs) {
|
||||
echart_2(rs);
|
||||
},
|
||||
error: function(data, textStatus, errorThrown){
|
||||
// warning_prompt("获取实时列表数据失败!",1500);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -677,33 +704,33 @@ function browserList() {
|
||||
$("#tbodyData1").html("");
|
||||
rs.reverse();
|
||||
var n=rs.length;
|
||||
if(n>0){
|
||||
|
||||
$(rs).each(function(i, itemObj) {
|
||||
var count= itemObj.count;
|
||||
var preCount = itemObj.preCount;
|
||||
var tr = "<tr class='frist rowData select-row-tr' onclick='javascript:bsClick(\""+itemObj.bsType+"\",this);return false;'>";
|
||||
tr += "<td class='list_c1' style='color:#fff'>"+n+"</td>";
|
||||
tr += "<td class='list_c2' style='color:#fff' title='"+itemObj.bsType+"'>"+itemObj.bsType.substring(0,18)+"</td>";
|
||||
if(preCount<count){
|
||||
tr += "<td class='list_c3'>"+"<i class='fa fa-arrow-up' style='color:green'/>"+"</td></tr>";
|
||||
}else if(preCount>count){
|
||||
tr += "<td class='list_c3'>"+"<i class='fa fa-arrow-down' style='color:red'/>"+"</td></tr>";
|
||||
}else{
|
||||
tr += "<td class='list_c3'>"+""+"</td></tr>";
|
||||
}
|
||||
$("#tbodyData1").prepend(tr);
|
||||
n=n-1;
|
||||
})
|
||||
}else{
|
||||
$("#tbodyData1").prepend("<tr class='frist rowData'><td></td><td style='color:#fff'>No Data</td><td></td></tr>");
|
||||
}
|
||||
//终端图-浏览器
|
||||
echart_5(rs);
|
||||
if(rs[0].error!=null){
|
||||
$("#tbodyData1").prepend("<tr class='frist rowData'><td></td><td style='color:#fff'><spring:message code='request_service_failed'/></td><td></td></tr>");
|
||||
}else{
|
||||
if(n>0){
|
||||
$(rs).each(function(i, itemObj) {
|
||||
var count= itemObj.count;
|
||||
var preCount = itemObj.preCount;
|
||||
var tr = "<tr class='frist rowData select-row-tr' onclick='javascript:bsClick(\""+itemObj.bsType+"\",this);return false;'>";
|
||||
tr += "<td class='list_c1' style='color:#fff'>"+n+"</td>";
|
||||
tr += "<td class='list_c2' style='color:#fff' title='"+itemObj.bsType+"'>"+itemObj.bsType.substring(0,18)+"</td>";
|
||||
if(preCount<count){
|
||||
tr += "<td class='list_c3'>"+"<i class='fa fa-arrow-up' style='color:green'/>"+"</td></tr>";
|
||||
}else if(preCount>count){
|
||||
tr += "<td class='list_c3'>"+"<i class='fa fa-arrow-down' style='color:red'/>"+"</td></tr>";
|
||||
}else{
|
||||
tr += "<td class='list_c3'>"+""+"</td></tr>";
|
||||
}
|
||||
$("#tbodyData1").prepend(tr);
|
||||
n=n-1;
|
||||
})
|
||||
}else{
|
||||
$("#tbodyData1").prepend("<tr class='frist rowData'><td></td><td style='color:#fff'>No Data</td><td></td></tr>");
|
||||
}
|
||||
//终端图-浏览器
|
||||
echart_5(rs);
|
||||
}
|
||||
},
|
||||
error: function(data, textStatus, errorThrown){
|
||||
// warning_prompt("获取实时列表数据失败!",1500);
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
@@ -732,31 +759,32 @@ function websiteList() {
|
||||
success:function (rs) {
|
||||
$("#tbodyData2").html("");
|
||||
var n=rs.length;
|
||||
if(n>0){
|
||||
$(rs).each(function(i, itemObj) {
|
||||
var tr = "<tr class='frist rowData select-row-tr' onclick='javascript:webClick(\""+itemObj.websiteServiceId+"\",this);return false;'>";
|
||||
tr += "<td class='list_c1' style='color:#fff'>"+n+"</td>";
|
||||
tr += "<td class='list_c2' style='color:#fff' title="+itemObj.websiteService+">"+itemObj.websiteService.substring(0,18)+"</td>";
|
||||
if(itemObj.preCount<itemObj.count){
|
||||
tr += "<td class='list_c3'>"+"<i class='fa fa-arrow-up' style='color:green'/>"+"</td></tr>";
|
||||
}else if(itemObj.preCount>itemObj.count){
|
||||
tr += "<td class='list_c3'>"+"<i class='fa fa-arrow-down' style='color:red'/>"+"</td></tr>";
|
||||
}else{
|
||||
tr += "<td class='list_c3'>"+""+"</td></tr>";
|
||||
}
|
||||
|
||||
$("#tbodyData2").prepend(tr);
|
||||
n=n-1;
|
||||
})
|
||||
}else{
|
||||
$("#tbodyData2").prepend("<tr class='frist rowData'><td></td><td style='color:#fff'>No Data</td><td></td></tr>");
|
||||
}
|
||||
//网站统计图
|
||||
if(rs[0].error!=null){
|
||||
$("#tbodyData2").prepend("<tr class='frist rowData'><td></td><td style='color:#fff'><spring:message code='request_service_failed'/></td><td></td></tr>");
|
||||
}else{
|
||||
if(n>0){
|
||||
$(rs).each(function(i, itemObj) {
|
||||
var tr = "<tr class='frist rowData select-row-tr' onclick='javascript:webClick(\""+itemObj.websiteServiceId+"\",this);return false;'>";
|
||||
tr += "<td class='list_c1' style='color:#fff'>"+n+"</td>";
|
||||
tr += "<td class='list_c2' style='color:#fff' title="+itemObj.websiteService+">"+itemObj.websiteService.substring(0,18)+"</td>";
|
||||
if(itemObj.preCount<itemObj.count){
|
||||
tr += "<td class='list_c3'>"+"<i class='fa fa-arrow-up' style='color:green'/>"+"</td></tr>";
|
||||
}else if(itemObj.preCount>itemObj.count){
|
||||
tr += "<td class='list_c3'>"+"<i class='fa fa-arrow-down' style='color:red'/>"+"</td></tr>";
|
||||
}else{
|
||||
tr += "<td class='list_c3'>"+""+"</td></tr>";
|
||||
}
|
||||
|
||||
$("#tbodyData2").prepend(tr);
|
||||
n=n-1;
|
||||
})
|
||||
}else{
|
||||
$("#tbodyData2").prepend("<tr class='frist rowData'><td></td><td style='color:#fff'>No Data</td><td></td></tr>");
|
||||
}
|
||||
//网站统计图
|
||||
echart_4(rs);
|
||||
}
|
||||
},
|
||||
error: function(data, textStatus, errorThrown){
|
||||
// warning_prompt("获取实时列表数据失败!",1500);
|
||||
}
|
||||
});
|
||||
}
|
||||
//点击http网站列表-显示域名图
|
||||
@@ -774,9 +802,6 @@ function webClick(websiteServiceId,obj){
|
||||
success:function (rs) {
|
||||
echart_6(rs);
|
||||
},
|
||||
error: function(data, textStatus, errorThrown){
|
||||
// warning_prompt("获取实时列表数据失败!",1500);
|
||||
}
|
||||
});
|
||||
}
|
||||
//点击http网站列表-显示域名图
|
||||
@@ -790,9 +815,6 @@ function topicAndDomainList(){
|
||||
//主题域名流量统计图
|
||||
echart_topic_domain(rs);
|
||||
},
|
||||
error: function(data, textStatus, errorThrown){
|
||||
// warning_prompt("获取实时列表数据失败!",1500);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -11,14 +11,14 @@
|
||||
|
||||
<div class="page-content">
|
||||
<div class="theme-panel hidden-xs hidden-sm">
|
||||
<button type="button" class="btn btn-default" onClick="javascript:window.location='${ctx}/dashboard/ipActiveList'"><spring:message code="refresh"/></button>
|
||||
<button type="button" class="btn btn-default" onClick="javascript:window.location='${ctx}/dashboard/logChart'"><spring:message code="back"/></button>
|
||||
</div>
|
||||
<h3 class="page-title">
|
||||
<spring:message code="活跃IP实时统计TOP100"></spring:message>
|
||||
<spring:message code="traffic_ipactive_hour_trend"></spring:message>
|
||||
</h3>
|
||||
<h5 class="page-header"></h5>
|
||||
|
||||
<div id="chart" style="width:100%;height:400px;"></div>
|
||||
<div id="chart" style="width:95%;height:350px;"></div>
|
||||
|
||||
<div class="col-md-12">
|
||||
<div class="portlet">
|
||||
@@ -30,25 +30,26 @@
|
||||
</form:form>
|
||||
</div>
|
||||
<sys:message content="${message}"/>
|
||||
<div class="table-responsive">
|
||||
<table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap">
|
||||
<h3 class="page-title">
|
||||
<spring:message code="traffic_ipactive_hour_max"></spring:message>
|
||||
</h3>
|
||||
<div class="" align="center">
|
||||
<table id="contentTable"class="table table-striped table-bordered table-condensed text-nowrap">
|
||||
<thead>
|
||||
<tr>
|
||||
<th><spring:message code="chart"/></th>
|
||||
<th><spring:message code="ip_addr"/></th>
|
||||
<th><spring:message code="area_id"/></th>
|
||||
<th><spring:message code="link_num"/></th>
|
||||
<th><spring:message code="c2s_pkt_num"/></th>
|
||||
<th><spring:message code="s2c_pkt_num"/></th>
|
||||
<th><spring:message code="c2s_byte_len"/></th>
|
||||
<th><spring:message code="s2c_byte_len"/></th>
|
||||
<th><spring:message code="c2s_byte_num"/></th>
|
||||
<th><spring:message code="s2c_byte_num"/></th>
|
||||
<th><spring:message code="stat_time"/></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:forEach var="entry" items="${page.list }" varStatus="status">
|
||||
<c:forEach var="entry" items="${ipActiveList }" varStatus="status">
|
||||
<tr>
|
||||
<td><a href="#" onclick="openChart();return false"><i class="fa fa-bar-chart"></i></a></td>
|
||||
<td>${entry.ipAddr }</td>
|
||||
<td>${entry.areaId }</td>
|
||||
<td>${entry.linkNum }</td>
|
||||
@@ -56,7 +57,8 @@
|
||||
<td>${entry.s2cPktNum }</td>
|
||||
<td>${entry.c2sByteLen }</td>
|
||||
<td>${entry.s2cByteLen }</td>
|
||||
<td><fmt:formatDate value="${entry.statTime }" pattern="yyyy-MM-dd HH:mm:ss"/></td>
|
||||
<td>${entry.statTime }</td>
|
||||
<%-- <td><fmt:formatDate value="${entry.statTime }" pattern="yyyy-MM-dd HH:mm:ss"/></td> --%>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</tbody>
|
||||
@@ -68,48 +70,61 @@
|
||||
</div>
|
||||
</div>
|
||||
<script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/js/highcharts.js"></script>
|
||||
<%-- <script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/themes/grid.js"></script> --%>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function(){
|
||||
ipActiveMinuteList()
|
||||
|
||||
});
|
||||
|
||||
function showIpActiveChart(rs){
|
||||
console.log(rs)
|
||||
var data=new Array();
|
||||
var xData=new Array();
|
||||
xData=rs[0].statTime;
|
||||
var series=new Array();
|
||||
$(rs).each(function(i, d) {
|
||||
series.push({
|
||||
name: d.ipAddr,
|
||||
data: d.linkNum
|
||||
});
|
||||
})
|
||||
var chart = Highcharts.chart('chart', {
|
||||
title: {
|
||||
text: 'Traffic IP Active Total'
|
||||
text: null
|
||||
},
|
||||
xAxis: {
|
||||
type:'category',
|
||||
categories: xData,
|
||||
title: {
|
||||
text: 'time',
|
||||
align:'high',
|
||||
},
|
||||
// labels:{
|
||||
// formatter:function(){
|
||||
// if(this.value.length>15){
|
||||
// return '<span>'+this.value.substring(10,20)+"..."+'</span>'
|
||||
// }else{
|
||||
// return this.value
|
||||
// }
|
||||
// },
|
||||
// }
|
||||
|
||||
},
|
||||
yAxis: {
|
||||
title: {
|
||||
text: 'IP'
|
||||
text: 'linkNumber'
|
||||
}
|
||||
},
|
||||
credits:{//是否有highcharts水印
|
||||
enabled:false
|
||||
},
|
||||
legend: {
|
||||
layout: 'vertical',
|
||||
align: 'right',
|
||||
verticalAlign: 'middle'
|
||||
},
|
||||
|
||||
plotOptions: {
|
||||
series: {
|
||||
label: {
|
||||
connectorAllowed: false
|
||||
},
|
||||
pointStart: 2010
|
||||
}
|
||||
},
|
||||
|
||||
series: [{
|
||||
name: 'Installation',
|
||||
data: [43934, 52503, 57177, 69658, 97031, 119931, 137133, 154175]
|
||||
}, {
|
||||
name: 'Manufacturing',
|
||||
data: [24916, 24064, 29742, 29851, 32490, 30282, 38121, 40434]
|
||||
}, {
|
||||
name: 'Sales & Distribution',
|
||||
data: [11744, 17722, 16005, 19771, 20185, 24377, 32147, 39387]
|
||||
}, {
|
||||
name: 'Project Development',
|
||||
data: [null, null, 7988, 12169, 15112, 22452, 34400, 34227]
|
||||
}, {
|
||||
name: 'Other',
|
||||
data: [12908, 5948, 8105, 11248, 8989, 11816, 18274, 18111]
|
||||
}],
|
||||
series: series,
|
||||
|
||||
responsive: {
|
||||
rules: [{
|
||||
@@ -127,22 +142,24 @@ $(document).ready(function(){
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
function showIpActiveChart(){
|
||||
|
||||
}
|
||||
|
||||
function openChart(){
|
||||
var url = "${ctx}/traffic/showChart";
|
||||
windowOpen(url, "", 900, 600);
|
||||
// lay.open({
|
||||
// type:1,
|
||||
// area:['420px','240px'],
|
||||
// content:''
|
||||
// })
|
||||
}
|
||||
//活跃IP一小时间隔五分钟统计
|
||||
function ipActiveMinuteList(){
|
||||
|
||||
$.ajax({
|
||||
url: '${ctx}/dashboard/ipActiveMinuteList',
|
||||
type : "get" ,
|
||||
dataType:"json",
|
||||
cache:false,async:true,
|
||||
success:function (rs) {
|
||||
showIpActiveChart(rs);
|
||||
},
|
||||
error: function(data, textStatus, errorThrown){
|
||||
// warning_prompt("获取实时列表数据失败!",1500);
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -48,13 +48,13 @@
|
||||
<!-- 搜索内容与操作按钮栏 -->
|
||||
<div class="col-md-12">
|
||||
<div class="pull-left">
|
||||
<form:select path="action" class="selectpicker select2 input-small">
|
||||
<form:select path="service" class="selectpicker select2 input-small">
|
||||
<form:option value=""><spring:message code="action"/></form:option>
|
||||
<c:forEach items="${serviceList}" var="service"
|
||||
varStatus="satus">
|
||||
<%-- <c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict"> --%>
|
||||
<c:if test="${(service.action ne 128) && (service.action ne 32) && (service.action ne 96)}">
|
||||
<form:option value="${service.action}"><spring:message code="${service.serviceName}"/></form:option>
|
||||
<form:option value="${service.serviceId}"><spring:message code="${service.serviceName}"/></form:option>
|
||||
</c:if>
|
||||
<%-- </c:forEach> --%>
|
||||
</c:forEach>
|
||||
|
||||
@@ -172,7 +172,7 @@ $(document).ready(function(){
|
||||
<th><spring:message code='found_time'/></th>
|
||||
<th><spring:message code='entrance'/></th>
|
||||
<th><spring:message code='access_url'/></th>
|
||||
<th><spring:message code='protocol'/></th>
|
||||
<th><spring:message code='stream_media_protocol'/></th>
|
||||
|
||||
<th><spring:message code='clj_ip'/></th>
|
||||
<th><spring:message code='transport_layer_protocol'/></th>
|
||||
|
||||
@@ -62,7 +62,7 @@
|
||||
<%-- <li class="active"><a href="${ctx}/sys/office/list?id=${sysOffice.id}&parentIds=${sysOffice.parentIds}">机构列表</a></li> --%>
|
||||
<%-- <shiro:hasPermission name="sys:office:edit"><li><a href="${ctx}/sys/office/form?parent.id=${sysOffice.id}">机构添加</a></li></shiro:hasPermission> --%>
|
||||
<!-- </ul> -->
|
||||
<div class="table-responsive">
|
||||
<div class="">
|
||||
<sys:message content="${message}"/>
|
||||
<table id="treeTable" class="table table-striped table-bordered table-condensed">
|
||||
<thead><tr><th><spring:message code="org_name"/></th><th><spring:message code="belong_area"/></th><th><spring:message code="org_coding"/></th><th><spring:message code="level"/></th><th><spring:message code="org_type"/></th><th><spring:message code="org_duty_type"/></th><th><spring:message code="remarks"/></th><shiro:hasPermission name="sys:office:edit"><th><spring:message code="operation"/></th></shiro:hasPermission></tr></thead>
|
||||
|
||||
@@ -21,12 +21,12 @@ p{
|
||||
display: inline-block;
|
||||
}
|
||||
.data_content .data_info .info_2{
|
||||
width: 60%;
|
||||
width: 70%;
|
||||
height: 110px;
|
||||
}
|
||||
|
||||
.data_content .data_info .fr_fc{
|
||||
width: 155%;
|
||||
width: 100%;
|
||||
height: 110px;
|
||||
border: 1px solid #303030;
|
||||
border-width: 0 1px;
|
||||
@@ -55,7 +55,7 @@ p{
|
||||
}
|
||||
|
||||
.data_content .data_info .info_1{
|
||||
width: 40%;
|
||||
width: 30%;
|
||||
height: 110px;
|
||||
}
|
||||
.data_content .data_info .info_2 .fr_fc:first-child{
|
||||
@@ -82,7 +82,7 @@ p{
|
||||
} */
|
||||
|
||||
.data_content .data_info>div.info_2>.text_2>div{
|
||||
width: 33.333%;
|
||||
width: 20%;
|
||||
position: relative;
|
||||
}
|
||||
.data_content .data_info>div.info_1>div>div,
|
||||
@@ -134,6 +134,18 @@ p{
|
||||
color:#288dce;
|
||||
margin-top: 2.1em;
|
||||
}
|
||||
.data_content .data_info .info_2 .fr_fc .numberRun5{
|
||||
font-weight: 600;
|
||||
font-size: 16px;
|
||||
color:#288dce;
|
||||
margin-top: 2.1em;
|
||||
}
|
||||
.data_content .data_info .info_2 .fr_fc .numberRun6{
|
||||
font-weight: 600;
|
||||
font-size: 16px;
|
||||
color:#288dce;
|
||||
margin-top: 2.1em;
|
||||
}
|
||||
.data_content .data_info .info_2 .fr_fc .numberRun{
|
||||
font-weight: 600;
|
||||
font-size: 16px;
|
||||
@@ -153,9 +165,11 @@ p{
|
||||
margin-top: 0.6px;
|
||||
}
|
||||
.data_content .data_info>div.info_1 .fl_fc .csNum{
|
||||
font-size: 12px;
|
||||
font-size: 11px;
|
||||
color:#337ab7 !important;
|
||||
margin-top: 1px;
|
||||
margin-top: -6px;
|
||||
text-align: center;
|
||||
margin-left: 1.3px;
|
||||
}
|
||||
/* .data_info{
|
||||
float: right;
|
||||
|
||||
Reference in New Issue
Block a user