148 lines
4.0 KiB
Go
148 lines
4.0 KiB
Go
package trace
|
|
|
|
import (
|
|
"be.ems/src/framework/logger"
|
|
"be.ems/src/framework/middleware"
|
|
"be.ems/src/framework/middleware/collectlogs"
|
|
"be.ems/src/modules/trace/controller"
|
|
"be.ems/src/modules/trace/service"
|
|
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
// 模块路由注册
|
|
func Setup(router *gin.Engine) {
|
|
logger.Infof("开始加载 ====> trace 模块路由")
|
|
|
|
// 启动时需要的初始参数
|
|
InitLoad()
|
|
|
|
// 信令抓包
|
|
tcpdumpGroup := router.Group("/trace/tcpdump")
|
|
{
|
|
tcpdumpGroup.POST("/start",
|
|
middleware.PreAuthorize(nil),
|
|
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.tcpdump", collectlogs.BUSINESS_TYPE_OTHER)),
|
|
controller.NewTCPdump.DumpStart,
|
|
)
|
|
tcpdumpGroup.POST("/stop",
|
|
middleware.PreAuthorize(nil),
|
|
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.tcpdump", collectlogs.BUSINESS_TYPE_OTHER)),
|
|
controller.NewTCPdump.DumpStop,
|
|
)
|
|
tcpdumpGroup.POST("/upf",
|
|
middleware.PreAuthorize(nil),
|
|
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.tcpdump", collectlogs.BUSINESS_TYPE_OTHER)),
|
|
controller.NewTCPdump.UPFTrace,
|
|
)
|
|
}
|
|
|
|
// 信令跟踪
|
|
packetGroup := router.Group("/trace/packet")
|
|
{
|
|
packetGroup.GET("/devices",
|
|
middleware.PreAuthorize(nil),
|
|
controller.NewPacket.Devices,
|
|
)
|
|
packetGroup.POST("/start",
|
|
middleware.PreAuthorize(nil),
|
|
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.packet", collectlogs.BUSINESS_TYPE_OTHER)),
|
|
controller.NewPacket.Start,
|
|
)
|
|
packetGroup.POST("/stop",
|
|
middleware.PreAuthorize(nil),
|
|
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.packet", collectlogs.BUSINESS_TYPE_OTHER)),
|
|
controller.NewPacket.Stop,
|
|
)
|
|
packetGroup.PUT("/filter",
|
|
middleware.PreAuthorize(nil),
|
|
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.packet", collectlogs.BUSINESS_TYPE_OTHER)),
|
|
controller.NewPacket.Filter,
|
|
)
|
|
packetGroup.PUT("/keep-alive",
|
|
middleware.PreAuthorize(nil),
|
|
controller.NewPacket.KeepAlive,
|
|
)
|
|
packetGroup.GET("/filePull",
|
|
middleware.PreAuthorize(nil),
|
|
controller.NewPacket.FilePull,
|
|
)
|
|
}
|
|
|
|
// 跟踪任务 网元HLR (免登录)
|
|
taskHLRGroup := router.Group("/trace/task/hlr")
|
|
{
|
|
taskHLRGroup.GET("/list",
|
|
controller.NewTraceTaskHlr.List,
|
|
)
|
|
taskHLRGroup.DELETE("/:id",
|
|
controller.NewTraceTaskHlr.Remove,
|
|
)
|
|
taskHLRGroup.POST("/start",
|
|
controller.NewTraceTaskHlr.Start,
|
|
)
|
|
taskHLRGroup.POST("/stop",
|
|
controller.NewTraceTaskHlr.Stop,
|
|
)
|
|
taskHLRGroup.POST("/file",
|
|
controller.NewTraceTaskHlr.File,
|
|
)
|
|
taskHLRGroup.GET("/filePull",
|
|
controller.NewTraceTaskHlr.FilePull,
|
|
)
|
|
}
|
|
|
|
// 跟踪任务
|
|
taskGroup := router.Group("/trace/task")
|
|
{
|
|
taskGroup.GET("/list",
|
|
middleware.PreAuthorize(nil),
|
|
controller.NewTraceTask.List,
|
|
)
|
|
taskGroup.GET("/:id",
|
|
middleware.PreAuthorize(nil),
|
|
controller.NewTraceTask.Info,
|
|
)
|
|
taskGroup.POST("",
|
|
middleware.PreAuthorize(nil),
|
|
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.task", collectlogs.BUSINESS_TYPE_INSERT)),
|
|
controller.NewTraceTask.Add,
|
|
)
|
|
taskGroup.DELETE("/:id",
|
|
middleware.PreAuthorize(nil),
|
|
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.task", collectlogs.BUSINESS_TYPE_DELETE)),
|
|
controller.NewTraceTask.Remove,
|
|
)
|
|
taskGroup.GET("/filePull",
|
|
middleware.PreAuthorize(nil),
|
|
controller.NewTraceTask.FilePull,
|
|
)
|
|
}
|
|
|
|
// 跟踪数据
|
|
taskDataGroup := router.Group("/trace/data")
|
|
{
|
|
taskDataGroup.GET("/list",
|
|
middleware.PreAuthorize(nil),
|
|
controller.NewTraceData.List,
|
|
)
|
|
taskDataGroup.GET("/:id",
|
|
middleware.PreAuthorize(nil),
|
|
controller.NewTraceData.Info,
|
|
)
|
|
taskDataGroup.DELETE("/:id",
|
|
middleware.PreAuthorize(nil),
|
|
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.taskData", collectlogs.BUSINESS_TYPE_DELETE)),
|
|
controller.NewTraceData.Remove,
|
|
)
|
|
}
|
|
}
|
|
|
|
// InitLoad 初始参数
|
|
func InitLoad() {
|
|
// 创建跟踪任务信令数据通道UDP
|
|
if err := service.NewTraceTask.CreateUDP(false); err != nil {
|
|
logger.Errorf("socket udp init fail: %s", err.Error())
|
|
}
|
|
}
|