42 lines
1.2 KiB
Go
42 lines
1.2 KiB
Go
package v1
|
|
|
|
import (
|
|
"git.inspur.com/sbg-jszt/cfn/cfn-schedule/internal/controller"
|
|
devc "git.inspur.com/sbg-jszt/cfn/cfn-schedule/internal/model/device"
|
|
"git.inspur.com/sbg-jszt/cfn/cfn-schedule/internal/model/message"
|
|
"git.inspur.com/sbg-jszt/cfn/cfn-schedule/internal/pkg/errors"
|
|
"git.inspur.com/sbg-jszt/cfn/cfn-schedule/internal/service"
|
|
"github.com/gin-gonic/gin"
|
|
"github.com/golang/glog"
|
|
)
|
|
|
|
// 获取设备运行日志
|
|
func GetDeviceLogs(c *gin.Context) {
|
|
device := &devc.AssetDeviceInfo{}
|
|
serialNo := c.Param("serialNo")
|
|
comType := c.Param("comType")
|
|
fields := map[string]interface{}{}
|
|
fields["serial_no"] = serialNo
|
|
_, err := device.Get(fields)
|
|
if err != nil {
|
|
glog.Error(err)
|
|
controller.FailCode(c, errors.InvalidParameter, err, "请检查参数!")
|
|
return
|
|
}
|
|
loglines := []string{}
|
|
switch comType {
|
|
case "agent":
|
|
loglines, err = service.GetDeviceLogs(message.FUNC_AGENTLOG, serialNo, 100)
|
|
break
|
|
case "syslog":
|
|
break
|
|
case "telegraf":
|
|
loglines, err = service.GetDeviceLogs(message.FUNC_TELEGRAFLOG, serialNo, 100)
|
|
break
|
|
}
|
|
if err != nil {
|
|
controller.FailCode(c, errors.ServerError, err, "内部错误!")
|
|
}
|
|
controller.Success(c, loglines)
|
|
}
|