From 5443c72dbe4501f9b713bc36cd1c3d2ac470f63f Mon Sep 17 00:00:00 2001 From: naiba Date: Sat, 6 Nov 2021 18:40:29 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20=E6=B5=81=E9=87=8F=E8=AE=B0?= =?UTF-8?q?=E5=BD=95=E5=88=A0=E9=99=A4=E6=9D=A1=E4=BB=B6=20typo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- cmd/dashboard/main.go | 36 +++++++++++++----------------------- service/dao/dao.go | 2 +- 3 files changed, 15 insertions(+), 25 deletions(-) diff --git a/README.md b/README.md index 7c4b3d4..25767e1 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@
LOGO designed by 熊大 .

-    +   

:trollface: 哪吒监控 一站式轻监控轻运维系统。支持系统状态、HTTP(SSL 证书变更、即将到期、到期)、TCP、Ping 监控报警,计划任务和在线终端。

diff --git a/cmd/dashboard/main.go b/cmd/dashboard/main.go index 698889c..bbb83b9 100644 --- a/cmd/dashboard/main.go +++ b/cmd/dashboard/main.go @@ -87,12 +87,18 @@ func recordTransferHourlyUsage() { In: server.State.NetInTransfer - uint64(server.PrevHourlyTransferIn), Out: server.State.NetOutTransfer - uint64(server.PrevHourlyTransferOut), } + if tx.In == 0 && tx.Out == 0 { + continue + } server.PrevHourlyTransferIn = int64(server.State.NetInTransfer) server.PrevHourlyTransferOut = int64(server.State.NetOutTransfer) tx.CreatedAt = nowTrimSeconds txs = append(txs, tx) } - dao.DB.Create(txs) + if len(txs) == 0 { + return + } + log.Println("NEZHA>> Cron 流量统计入库", len(txs), dao.DB.Create(txs).Error) } func cleanMonitorHistory() { @@ -130,12 +136,12 @@ func cleanMonitorHistory() { } } for id, couldRemove := range specialServerKeep { - dao.DB.Unscoped().Delete(&model.Transfer{}, "id = ? AND created_at < ?", id, couldRemove) + dao.DB.Unscoped().Delete(&model.Transfer{}, "server_id = ? AND created_at < ?", id, couldRemove) } if allServerKeep.IsZero() { - dao.DB.Unscoped().Delete(&model.Transfer{}, "id NOT IN (?)", specialServerIDs) + dao.DB.Unscoped().Delete(&model.Transfer{}, "server_id NOT IN (?)", specialServerIDs) } else { - dao.DB.Unscoped().Delete(&model.Transfer{}, "id NOT IN (?) AND created_at < ?", specialServerIDs, allServerKeep) + dao.DB.Unscoped().Delete(&model.Transfer{}, "server_id NOT IN (?) AND created_at < ?", specialServerIDs, allServerKeep) } } @@ -193,25 +199,9 @@ func main() { graceful.Graceful(func() error { return srv.ListenAndServe() }, func(c context.Context) error { - dao.ServerLock.Lock() - defer dao.ServerLock.Unlock() - var txs []model.Transfer - for _, s := range dao.ServerList { - in := s.State.NetInTransfer - uint64(s.PrevHourlyTransferIn) - out := s.State.NetOutTransfer - uint64(s.PrevHourlyTransferOut) - if in > 0 || out > 0 { - tx := model.Transfer{ - ServerID: s.ID, - In: in, - Out: out, - } - tx.CreatedAt = time.Now() - txs = append(txs, tx) - } - } - if err := dao.DB.Create(txs).Error; err != nil { - log.Println("NEZHA>> 流量统计入库", err) - } + log.Println("NEZHA>> Graceful::START") + recordTransferHourlyUsage() + log.Println("NEZHA>> Graceful::END") srv.Shutdown(c) return nil }) diff --git a/service/dao/dao.go b/service/dao/dao.go index 767e2a2..1d81357 100644 --- a/service/dao/dao.go +++ b/service/dao/dao.go @@ -13,7 +13,7 @@ import ( pb "github.com/naiba/nezha/proto" ) -var Version = "v0.11.3" // !!记得修改 README 中的 badge 版本!! +var Version = "v0.11.5" // !!记得修改 README 中的 badge 版本!! var ( Conf *model.Config