Jelajahi Sumber

Merge branch 'dev' of chenweida/jkzl-starter into dev

chenweida 6 tahun lalu
induk
melakukan
5d32d563e0

+ 2 - 2
admin/admin-server-starter/src/main/java/com/yihu/admin/server/config/AdminServerAutoConfig.java

@ -58,7 +58,7 @@ public class AdminServerAutoConfig {
        Client client = elastricSearchHelper.getElasticsearchUtil().getElasticFactory();
        try {
            //判断index是否存在
            Boolean flag = client.prepareExists(adminServerProperties.getDefaultIndexName()).get().exists();
            Boolean flag = client.prepareExists(adminServerProperties.getRealDefaultIndexName()).get().exists();
            if (!flag) {
                createIndex(client);
            }
@ -72,7 +72,7 @@ public class AdminServerAutoConfig {
    private void createIndex(Client client) {
        try {
            CreateIndexRequestBuilder cib = client.admin()
                    .indices().prepareCreate(adminServerProperties.getDefaultIndexName());
                    .indices().prepareCreate(adminServerProperties.getRealDefaultIndexName());
            XContentBuilder mapping = XContentFactory.jsonBuilder()
                    .startObject()
                    .startObject("properties") //设置之定义字段

+ 4 - 4
admin/admin-server-starter/src/main/java/com/yihu/admin/server/log/LogEndPoint.java

@ -34,7 +34,7 @@ public class LogEndPoint {
    ) {
        List<LogModel> logs = new ArrayList<>();
        StringBuffer sql = new StringBuffer("SELECT traceid, max(eventendtime) eventendtime ,min(eventstarttime) eventstarttime, max(excutetime) excutetime FROM " + adminServerProperties.getDefaultIndexName() + " where eventname='system_http_tracer'  ");
        StringBuffer sql = new StringBuffer("SELECT traceid, max(eventendtime) eventendtime ,min(eventstarttime) eventstarttime, max(excutetime) excutetime FROM " + adminServerProperties.getRealDefaultIndexName() + " where eventname='system_http_tracer'  ");
        StringBuffer whereSQL = new StringBuffer();
        if (!StringUtils.isEmpty(traceId)) {
            whereSQL.append(" and traceid='" + traceId + "'");
@ -77,7 +77,7 @@ public class LogEndPoint {
            spanname = spanname.toLowerCase();
        }
        List<LogModel> logs = new ArrayList<>();
        StringBuffer sql = new StringBuffer("SELECT * FROM " + adminServerProperties.getDefaultIndexName());
        StringBuffer sql = new StringBuffer("SELECT * FROM " + adminServerProperties.getRealDefaultIndexName());
        StringBuffer whereSQL = initWhere(traceId, spanname, eventname, time, uri, method);
        StringBuffer groupBY = new StringBuffer("order by eventstarttime "+sort);
@ -183,7 +183,7 @@ public class LogEndPoint {
            @RequestParam(value = "spanname", required = true) String spanname) {
        spanname = spanname.toLowerCase();
        List<QuotaModel> logs = new ArrayList<>();
        StringBuffer sql = new StringBuffer("SELECT uri,sum(success) success,sum(fail) fail,avg(excutetime) avgtime ,max(excutetime) maxtime ,count(*) allcount FROM  " + adminServerProperties.getDefaultIndexName() + " " +
        StringBuffer sql = new StringBuffer("SELECT uri,sum(success) success,sum(fail) fail,avg(excutetime) avgtime ,max(excutetime) maxtime ,count(*) allcount FROM  " + adminServerProperties.getRealDefaultIndexName() + " " +
                " where spanname ='" + spanname + "' and eventname='system_http_tracer'  " +
                " group by  uri ");
        List<Map<String, Object>> traceidList = elastricSearchHelper.excuceSQL(sql.toString());
@ -211,7 +211,7 @@ public class LogEndPoint {
            @RequestParam(value = "spanname", required = true) String spanname) {
        spanname = spanname.toLowerCase();
        List<QuotaSQLModel> logs = new ArrayList<>();
        StringBuffer sql = new StringBuffer("SELECT sql,excutetime,eventstarttime FROM  " + adminServerProperties.getDefaultIndexName() + " " +
        StringBuffer sql = new StringBuffer("SELECT sql,excutetime,eventstarttime FROM  " + adminServerProperties.getRealDefaultIndexName() + " " +
                " where spanname ='" + spanname + "' and eventname='system_sql_springJDBC_tracer' and eventtime>1500 ");
        List<Map<String, Object>> traceidList = elastricSearchHelper.excuceSQL(sql.toString());
        if (traceidList.size() > 0) {

+ 13 - 6
admin/admin-server-starter/src/main/java/com/yihu/admin/server/properties/AdminServerProperties.java

@ -2,6 +2,7 @@ package com.yihu.admin.server.properties;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import com.yihu.admin.server.util.RollingUtil;
/**
 * Created by chenweida on 2018/5/15 0015.1
@ -12,8 +13,8 @@ public class AdminServerProperties {
    private String defaultIndexName;//默认是index
    @Value("${yihu.admin.server.defaultTypeName:admin_log}")
    private String defaultTypeName;//默认是type
    @Value("${yihu.admin.server.partitionWithEventName:false}")
    private Boolean partitionWithEventName;//默认是index
    @Value("${yihu.admin.server.partition:month}")
    private String partition;//默认是 day week month year
    public String getDefaultIndexName() {
@ -32,11 +33,17 @@ public class AdminServerProperties {
        this.defaultTypeName = defaultTypeName;
    }
    public Boolean getPartitionWithEventName() {
        return partitionWithEventName;
    public String getPartition() {
        return partition;
    }
    public void setPartitionWithEventName(Boolean partitionWithEventName) {
        this.partitionWithEventName = partitionWithEventName;
    public void setPartition(String partition) {
        this.partition = partition;
    }
    public String getRealDefaultIndexName() {
        return RollingUtil.getRollingAppendLast(getRealDefaultIndexName(), getPartition());
    }
}

+ 72 - 0
admin/admin-server-starter/src/main/java/com/yihu/admin/server/util/RollingUtil.java

@ -0,0 +1,72 @@
package com.yihu.admin.server.util;
import org.apache.commons.lang3.StringUtils;
import java.io.File;
import java.time.DayOfWeek;
import java.time.LocalDate;
import java.time.temporal.TemporalAdjusters;
/**
 * Created by chenweida on 2018/2/26.
 */
public class RollingUtil {
    /**
     * 在文件名最后追加日期  log_2017_01_01
     *
     * @param name
     * @param rolling
     * @return
     */
    public static String getRollingAppendLast(String name, String rolling) {
        if (StringUtils.isNoneEmpty(rolling)) {
            if ("day".equals(rolling)) {
                return new StringBuffer(name + "_" + LocalDate.now().toString()).toString();
            } else if ("week".equals(rolling)) {
                return new StringBuffer(name + "_" + LocalDate.now().minusWeeks(0).with(DayOfWeek.MONDAY)).toString();
            } else if ("month".equals(rolling)) {
                return new StringBuffer(name + "_" + LocalDate.now().with(TemporalAdjusters.firstDayOfMonth())).toString();
            } else if ("year".equals(rolling)) {
                return new StringBuffer(name + "_" + LocalDate.now().with(TemporalAdjusters.firstDayOfYear())).toString();
            }
        }
        return name;
    }
    /**
     * 在文件名前面追加日期 2017_01_01_log
     *
     * @param name
     * @param rolling
     * @return
     */
    public static String getRollingAppendFirst(String name, String rolling) {
        return getRollingAppendFirst(name, rolling, "");
    }
    /**
     * 在文件名前面追加日期 2017_01_01_log
     *
     * @param name
     * @param rolling
     * @return
     */
    public static String getRollingAppendFirst(String name, String rolling, String suffix) {
        if (StringUtils.isNoneEmpty(suffix)) {
            suffix = File.pathSeparator + suffix; //多加一个 .
        }
        if (StringUtils.isNoneEmpty(rolling)) {
            if ("day".equals(rolling)) {
                return new StringBuffer(LocalDate.now().toString() + "_" + name + suffix).toString();
            } else if ("week".equals(rolling)) {
                return new StringBuffer(LocalDate.now().minusWeeks(0).with(DayOfWeek.MONDAY) + "_" + name + suffix).toString();
            } else if ("month".equals(rolling)) {
                return new StringBuffer(LocalDate.now().with(TemporalAdjusters.firstDayOfMonth()) + "_" + name + suffix).toString();
            } else if ("year".equals(rolling)) {
                return new StringBuffer(LocalDate.now().with(TemporalAdjusters.firstDayOfYear()) + "_" + name + suffix).toString();
            }
        }
        return name + suffix;
    }
}

+ 1 - 8
admin/admin-server-starter/src/main/java/com/yihu/admin/server/websocket/store/EsEventBuffer.java

@ -51,14 +51,7 @@ public class EsEventBuffer {
            //获取队列中的全部数据
            queue.drainTo(eventObjectList);
            if (eventObjectList.size() > 0) {
                if (adminServerProperties.getPartitionWithEventName()) {
                    String index = adminServerProperties.getDefaultIndexName();
                    String type = adminServerProperties.getDefaultTypeName();
                    elastricSearchHelper.save(index, type, eventObjectList);
                } else {
                    elastricSearchHelper.save(adminServerProperties.getDefaultIndexName(), adminServerProperties.getDefaultTypeName(), eventObjectList);
                }
                elastricSearchHelper.save(adminServerProperties.getRealDefaultIndexName(), adminServerProperties.getDefaultTypeName(), eventObjectList);
            }
        } catch (Exception e) {
            e.printStackTrace();

+ 3 - 3
admin/admin-server-starter/src/main/resources/application.yml

@ -52,6 +52,6 @@ logging:
yihu:
  admin:
    server:
      defaultIndexName: adminlog
      defaultTypeName: adminlog
      partitionWithEventName: true
      defaultIndexName: admin_log  ##默认admin_log
      defaultTypeName: admin_log ##默认admin_log
      partition: month ##默认是 day week month year

TEMPAT SAMPAH
admin/admin监控使用手册.docx