60 lines
1.6 KiB
Go
60 lines
1.6 KiB
Go
package main
|
||
|
||
import (
|
||
"goAdapter/device"
|
||
"goAdapter/httpServer"
|
||
"goAdapter/report"
|
||
"goAdapter/setting"
|
||
|
||
"github.com/robfig/cron"
|
||
)
|
||
|
||
func main() {
|
||
/**************获取配置文件***********************/
|
||
setting.GetConf()
|
||
|
||
setting.LogerInit()
|
||
|
||
//记录起始时间
|
||
setting.GetTimeStart()
|
||
|
||
setting.Logger.Debugf("%s %s", setting.SystemState.Name, setting.SystemState.SoftVer)
|
||
|
||
setting.MemoryDataStream = setting.NewDataStreamTemplate("内存使用率")
|
||
setting.DiskDataStream = setting.NewDataStreamTemplate("硬盘使用率")
|
||
setting.DeviceOnlineDataStream = setting.NewDataStreamTemplate("设备在线率")
|
||
setting.DevicePacketLossDataStream = setting.NewDataStreamTemplate("通信丢包率")
|
||
|
||
/**************网口初始化***********************/
|
||
setting.NetworkParaRead()
|
||
setting.NetworkParamList.GetNetworkParam()
|
||
|
||
/**************变量模板初始化****************/
|
||
device.DeviceTSLInit()
|
||
device.CollectInterfaceInit()
|
||
|
||
/**************NTP校时初始化****************/
|
||
setting.NTPInit()
|
||
|
||
/**************创建定时获取网络状态的任务***********************/
|
||
// 定义一个cron运行器
|
||
cronProcess := cron.New()
|
||
// 定时5秒,每5秒执行print5
|
||
_ = cronProcess.AddFunc("*/5 * * * * *", setting.NetworkParamList.GetNetworkParam)
|
||
|
||
// 定时60秒,定时获取系统信息
|
||
_ = cronProcess.AddFunc("*/60 * * * * *", setting.CollectSystemParam)
|
||
|
||
// 每天0点,定时获取NTP服务器的时间,并校时
|
||
_ = cronProcess.AddFunc("0 0 0 * * ?", func() {
|
||
setting.NTPGetTime()
|
||
})
|
||
|
||
cronProcess.Start()
|
||
defer cronProcess.Stop()
|
||
|
||
report.ReportServiceInit()
|
||
|
||
httpServer.RouterWeb(setting.HttpPort)
|
||
}
|