123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- package config
- import (
- "cicv-data-closedloop/common/config/c_log"
- "cicv-data-closedloop/common/util"
- "encoding/json"
- "fmt"
- "github.com/sirupsen/logrus"
- "os"
- "path/filepath"
- "runtime"
- "time"
- )
- // 保存资源占用情况
- func SendResourceUsage() {
- initLog("/mnt/media/sda1/cicv-data-closedloop/log/", "resource")
- for {
- time.Sleep(time.Duration(10) * time.Second)
- top10Cpu, top10Mem := util.GetTop10CpuAndMem()
- top10CpuJson, _ := json.MarshalIndent(top10Cpu, "", " ")
- top10MemJson, _ := json.MarshalIndent(top10Mem, "", " ")
- requestMap := map[string]string{
- "totalCpuUsage": util.ToString(util.GetCpuPercent()),
- "totalMemoryUsage": util.ToString(util.GetMemoryPercent()),
- "top10Process": string(top10CpuJson),
- "top10Cpu": string(top10CpuJson),
- "top10Mem": string(top10MemJson),
- "deviceNumber": LocalConfig.EquipmentNo,
- "socIp": LocalConfig.Node.Ip,
- }
- c_log.GlobalLogger.Infof("监控信息为:%v", requestMap)
- //responseString, err := util.HttpPostJsonWithHeaders(
- // CloudConfig.Monitor.Url,
- // map[string]string{"Authorization": "U9yKpD6kZZDDe4LFKK6myAxBUT1XRrDM"},
- // requestMap,
- //)
- //if err != nil {
- // c_log.GlobalLogger.Errorf("发送数据监控信息报错%v,响应信息为:%v", err, responseString)
- //}
- //c_log.GlobalLogger.Infof("发送数据监控信息成功,响应信息为:%v", responseString)
- }
- }
- var resourceLogger *logrus.Logger
- // InitLog 初始化日志配置
- func initLog(logDir string, prefix string) {
- time.Sleep(time.Duration(1) * time.Second)
- // 创建、追加、读写,777,所有权限
- logPath := logDir + prefix + "-" + time.Now().Format("2006-01-02-15-04-05") + ".log"
- err := util.CreateParentDir(logPath)
- if err != nil {
- os.Exit(-1)
- }
- f, err := os.OpenFile(logPath, os.O_CREATE|os.O_APPEND|os.O_RDWR, os.ModePerm)
- if err != nil {
- os.Exit(-1)
- }
- resourceLogger = logrus.New()
- resourceLogger.SetOutput(f)
- resourceLogger.SetReportCaller(true) // 开启行号显示
- resourceLogger.SetFormatter(&logrus.JSONFormatter{
- CallerPrettyfier: func(frame *runtime.Frame) (string, string) {
- fileName := filepath.Base(frame.File)
- return "", fmt.Sprintf("%s:%d", fileName, frame.Line)
- },
- })
- resourceLogger.Info("初始化resourceLogger - 成功")
- }
|