From 7c1dd2e19119edd1ab147a699dfdcd11447fca14 Mon Sep 17 00:00:00 2001 From: zhangqian <zhangqian@123.com> Date: 星期四, 02 十一月 2023 21:20:53 +0800 Subject: [PATCH] serf集群master定时查询nsq连接状态并保存在数据库,增加网络检查器 --- service/problem/check.go | 23 +++++++++++++++++++++-- 1 files changed, 21 insertions(+), 2 deletions(-) diff --git a/service/problem/check.go b/service/problem/check.go index d472858..b379b7b 100644 --- a/service/problem/check.go +++ b/service/problem/check.go @@ -3,9 +3,12 @@ import ( "apsClient/conf" "apsClient/constvar" + "apsClient/model" "apsClient/pkg/sqlitex" "apsClient/service" "apsClient/service/plc_address" + "fmt" + "net" "sync" ) @@ -103,7 +106,19 @@ type Network struct{} func (slf *Network) Check() bool { - return false + ifaces, err := net.Interfaces() + if err != nil { + fmt.Println("Error:", err) + return false + } + var netAllFailed bool + for _, iFace := range ifaces { + if iFace.Flags == net.FlagUp { + netAllFailed = false + fmt.Printf("Interface %s is DOWN, indicating a network issue.\n", iFace.Name) + } + } + return !netAllFailed } type DB struct{} @@ -125,7 +140,11 @@ type Nsq struct{} func (slf *Nsq) Check() bool { - return false + old, err := model.NewSystemStatusSearch().SetKey(constvar.SystemStatusKeyNsq).First() + if err != nil { + return false + } + return old.Value == constvar.SystemStatusValueNormal } type Device struct{} -- Gitblit v1.8.0