|
|
@ -2,14 +2,22 @@ package cn.estsh.i3plus.core.apiservice.serviceimpl.base;
|
|
|
|
|
|
|
|
|
|
|
|
import cn.estsh.i3plus.core.api.iservice.base.ISysLogService;
|
|
|
|
import cn.estsh.i3plus.core.api.iservice.base.ISysLogService;
|
|
|
|
import cn.estsh.i3plus.core.apiservice.util.NoSqlPack;
|
|
|
|
import cn.estsh.i3plus.core.apiservice.util.NoSqlPack;
|
|
|
|
|
|
|
|
import cn.estsh.i3plus.platform.common.util.CommonConstWords;
|
|
|
|
|
|
|
|
import cn.estsh.i3plus.platform.plugin.elasticsearch.ElasticSearchPack;
|
|
|
|
import cn.estsh.i3plus.platform.plugin.elasticsearch.ElasticSearchTool;
|
|
|
|
import cn.estsh.i3plus.platform.plugin.elasticsearch.ElasticSearchTool;
|
|
|
|
import cn.estsh.i3plus.pojo.base.bean.ListPager;
|
|
|
|
import cn.estsh.i3plus.pojo.base.bean.ListPager;
|
|
|
|
import cn.estsh.i3plus.pojo.base.common.Pager;
|
|
|
|
import cn.estsh.i3plus.pojo.base.common.Pager;
|
|
|
|
|
|
|
|
import cn.estsh.i3plus.pojo.base.enumutil.ImppEnumUtil;
|
|
|
|
import cn.estsh.i3plus.pojo.platform.platbean.SysLogException;
|
|
|
|
import cn.estsh.i3plus.pojo.platform.platbean.SysLogException;
|
|
|
|
import cn.estsh.i3plus.pojo.platform.platbean.SysLogOperate;
|
|
|
|
import cn.estsh.i3plus.pojo.platform.platbean.SysLogOperate;
|
|
|
|
import cn.estsh.i3plus.pojo.platform.platbean.SysLogSystem;
|
|
|
|
import cn.estsh.i3plus.pojo.platform.platbean.SysLogSystem;
|
|
|
|
import cn.estsh.i3plus.pojo.platform.platbean.SysLogTaskTime;
|
|
|
|
import cn.estsh.i3plus.pojo.platform.platbean.SysLogTaskTime;
|
|
|
|
import cn.estsh.impp.framework.boot.util.ImppLog;
|
|
|
|
import cn.estsh.impp.framework.boot.util.ImppLog;
|
|
|
|
|
|
|
|
import org.elasticsearch.action.search.SearchResponse;
|
|
|
|
|
|
|
|
import org.elasticsearch.search.aggregations.Aggregation;
|
|
|
|
|
|
|
|
import org.elasticsearch.search.aggregations.bucket.terms.ParsedTerms;
|
|
|
|
|
|
|
|
import org.elasticsearch.search.aggregations.bucket.terms.Terms;
|
|
|
|
|
|
|
|
import org.elasticsearch.search.aggregations.metrics.ParsedAvg;
|
|
|
|
import org.slf4j.Logger;
|
|
|
|
import org.slf4j.Logger;
|
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
@ -18,6 +26,7 @@ import org.springframework.stereotype.Service;
|
|
|
|
import java.util.LinkedHashMap;
|
|
|
|
import java.util.LinkedHashMap;
|
|
|
|
import java.util.List;
|
|
|
|
import java.util.List;
|
|
|
|
import java.util.Map;
|
|
|
|
import java.util.Map;
|
|
|
|
|
|
|
|
import java.util.Objects;
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* @Description :
|
|
|
|
* @Description :
|
|
|
@ -144,12 +153,48 @@ public class SysLogElasticSearchService implements ISysLogService {
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public Map<String, Object> querySysLogSystemAvgExecuteTime(String startTime, String endTime) {
|
|
|
|
public Map<String, Object> querySysLogSystemAvgExecuteTime(String startTime, String endTime) {
|
|
|
|
Map resultData = new LinkedHashMap();
|
|
|
|
Map resultData = new LinkedHashMap();
|
|
|
|
|
|
|
|
ElasticSearchPack pack = ElasticSearchPack.imppBuild(SysLogSystem.class);
|
|
|
|
|
|
|
|
pack.pager(CommonConstWords.getDefaultPager());
|
|
|
|
|
|
|
|
pack.andStringDateTimeBetween("createDatetime",startTime,endTime);
|
|
|
|
|
|
|
|
pack.group("createDatetime").avg("executeTime").buildAggregation();
|
|
|
|
|
|
|
|
Map<String, Aggregation> aggregationMap = ElasticSearchTool.searchAggregationMap(pack);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ParsedTerms parsedTerms = (ParsedTerms)aggregationMap.get("group_createDatetime");
|
|
|
|
|
|
|
|
if(Objects.nonNull(parsedTerms)){
|
|
|
|
|
|
|
|
for (Terms.Bucket bucket : parsedTerms.getBuckets()) {
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
|
|
|
String key = bucket.getKeyAsString();
|
|
|
|
|
|
|
|
Double value = ((ParsedAvg) bucket.getAggregations().get("avg_executeTime")).getValue();
|
|
|
|
|
|
|
|
resultData.put(key,value.intValue());
|
|
|
|
|
|
|
|
}catch (Exception e){
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return resultData;
|
|
|
|
return resultData;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public Map<String, Object> querySysLogSystemByLevel(String startTime, String endTime) {
|
|
|
|
public Map<String, Object> querySysLogSystemByLevel(String startTime, String endTime) {
|
|
|
|
Map resultData = new LinkedHashMap();
|
|
|
|
Map resultData = new LinkedHashMap();
|
|
|
|
|
|
|
|
ElasticSearchPack pack = ElasticSearchPack.imppBuild(SysLogSystem.class);
|
|
|
|
|
|
|
|
pack.pager(CommonConstWords.getDefaultPager());
|
|
|
|
|
|
|
|
pack.andStringDateTimeBetween("createDatetime",startTime,endTime);
|
|
|
|
|
|
|
|
pack.group("logLevel").count("id").buildAggregation();
|
|
|
|
|
|
|
|
Map<String, Aggregation> aggregationMap = ElasticSearchTool.searchAggregationMap(pack);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ParsedTerms parsedTerms = (ParsedTerms)aggregationMap.get("group_logLevel");
|
|
|
|
|
|
|
|
if(Objects.nonNull(parsedTerms)){
|
|
|
|
|
|
|
|
for (Terms.Bucket bucket : parsedTerms.getBuckets()) {
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
|
|
|
String key = bucket.getKeyAsString();
|
|
|
|
|
|
|
|
resultData.put(ImppEnumUtil.LOG_LEVEL.valueOfName(Integer.parseInt(key)),bucket.getDocCount());
|
|
|
|
|
|
|
|
}catch (Exception e){
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return resultData;
|
|
|
|
return resultData;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|