1 Star 0 Fork 0

tomatomeatman/GolangRepository

Create your Gitee Account
Explore and code with more than 12 million developers,Free private repositories !:)
Sign up
文件
Clone or Download
MonitorController.go 2.28 KB
Copy Edit Raw Blame History
tomatomeatman authored 2024-12-08 12:00 . 1
package monitor
import (
"os"
"strings"
"gitee.com/tomatomeatman/golang-repository/bricks/model/msgentity"
"gitee.com/tomatomeatman/golang-repository/bricks/utils/app"
"gitee.com/tomatomeatman/golang-repository/bricks/utils/function/system"
"gitee.com/tomatomeatman/golang-repository/bricks/utils/ginutil"
)
// @Controller 监控信息控制器
type MonitorController struct {
app.ControllerBaseFunc //通用控制层接口方法
}
/**
* 初始化
*/
func init() {
//-- 接口注册 --//
go ginutil.ControllerRegister("/monitor/load", MonitorController{}.Load, ginutil.POST)
go ginutil.ControllerRegister("/monitor/logs", MonitorController{}.Logs, ginutil.POST)
go ginutil.ControllerRegister("/monitor/pollcode", MonitorController{}.CreatePollCode, ginutil.POST)
}
// #region @Api {title=读取系统硬件信息}
// @return {type=json explainType=MsgEntity<map> explain=返回对象}
// @RequestMapping {name=Load type=POST value=/monitor/load}
// #endregion
func (control MonitorController) Load(ctx ginutil.Context) interface{} {
result := map[string]interface{}{}
result["AppMemory"] = system.AppMemoryInfo()
result["SystemDisk"] = system.GetDiskInfo()
result["SystemMemory"] = system.GetMemInfo()
result["CPU"] = system.GetCpuInfo()
result["OS"] = system.GetOsInfo()
return msgentity.Success(result, "获取系统信息成功")
}
// #region @Api {title=读取系统日志}
// @return {type=json explainType=MsgEntity<string> explain=返回对象}
// @RequestMapping {name=Load type=POST value=/monitor/logs}
// #endregion
func (control MonitorController) Logs(ctx ginutil.Context) interface{} {
sType := ctx.Request.Header.Get("sType")
if strings.TrimSpace(sType) == "" {
sType = "error"
}
f, err := os.ReadFile("./logs/" + strings.ToLower(sType) + ".log")
if nil != err {
return msgentity.Err(9003, "读取日志文件失败")
}
return msgentity.Success(string(f), "读取日志文件成功")
}
// #region @Api {title=取系统序列号}
// @return {type=json explainType=MsgEntity<string> explain=返回对象}
// @RequestMapping {name=CreatePollCode type=POST value=/monitor/pollcode}
// #endregion
func (control MonitorController) CreatePollCode(ctx ginutil.Context) interface{} {
result := system.GetSystemSerial()
return msgentity.Success(result, "获取系统序列号成功")
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/tomatomeatman/golang-repository.git
git@gitee.com:tomatomeatman/golang-repository.git
tomatomeatman
golang-repository
GolangRepository
4fd775f1d16e

Search