diff --git a/server/global/timeProcess.go b/server/global/timeProcess.go index 2c4c7dd84abd18b771f62487c0e99ffaf7a1e533..fb64cd0dd1088a4afd17e0f3c0a2ffd917e7e25a 100644 --- a/server/global/timeProcess.go +++ b/server/global/timeProcess.go @@ -8,16 +8,22 @@ import ( ) // 2024-06-24T18:57:00.000+08:00 => 18:57:00 -func GetTime_HourMinSec(timestr string) (string, error) { +func GetTime_DateTime2HourMinSec(date_time string) (string, error) { loc, err := time.LoadLocation("Asia/Shanghai") if err != nil { - err = errors.Errorf("fail to get hour-min-sec: %s, %s **errstack**0", timestr, err.Error()) + err = errors.Errorf("fail to get hour-min-sec: %s, %s **errstack**0", date_time, err.Error()) return "", err } - time_obj, err := time.ParseInLocation(time.RFC3339, timestr, loc) + time_obj, err := time.ParseInLocation(time.RFC3339, date_time, loc) if err != nil { - err = errors.Errorf("fail to get hour-min-sec: %s, %s **errstack**0", timestr, err.Error()) + err = errors.Errorf("fail to get hour-min-sec: %s, %s **errstack**0", date_time, err.Error()) return "", err } return fmt.Sprintf("%02d:%02d:%02d", time_obj.Hour(), time_obj.Minute(), time_obj.Second()), nil } + +func GetTime_Timestamp2DateTime(timestamp int64) string { + t := time.Unix(timestamp/1000, 0) + date_time := t.UTC().Format(time.RFC3339) + return date_time +} \ No newline at end of file diff --git a/server/handler/searchHandle.go b/server/handler/searchHandle.go index 49024f12bc7c61465f9a58c8f4eea50618fa6161..68a1d6df829ed013595529eae6285aea28224254 100644 --- a/server/handler/searchHandle.go +++ b/server/handler/searchHandle.go @@ -3,11 +3,13 @@ package handler import ( "encoding/json" "io" + "strings" "github.com/pkg/errors" "gitee.com/openeuler/PilotGo-plugin-elk/server/elasticClient" "gitee.com/openeuler/PilotGo-plugin-elk/server/errormanager" + "gitee.com/openeuler/PilotGo-plugin-elk/server/global" "gitee.com/openeuler/PilotGo-plugin-elk/server/pluginclient" "gitee.com/openeuler/PilotGo-plugin-elk/server/service/cluster" "gitee.com/openeuler/PilotGo/sdk/response" @@ -30,6 +32,7 @@ func Search_LogTimeAxisDataHandle(ctx *gin.Context) { return } req_body := struct { + Id string `json:"id"` Params map[string]interface{} `json:"params"` }{} err = json.Unmarshal(req_body_bytes, &req_body) @@ -37,14 +40,21 @@ func Search_LogTimeAxisDataHandle(ctx *gin.Context) { newError(ctx, err) return } - + params := map[string]interface{}{} + for k, v := range req_body.Params { + if strings.Contains(k, "query_range") { + params[k] = global.GetTime_Timestamp2DateTime(int64(v.(float64))) + continue + } + params[k] = v + } + // TODO: 判断索引和模板id index := "logs-*" - template_id := "log_timeaxis" query_body := map[string]interface{}{ - "id": template_id, - "params": req_body.Params, + "id": req_body.Id, + "params": params, } data, err := cluster.ProcessLogTimeAixsData(index, query_body) if err != nil {