Explorar el Código

备份-vps-client部署测试

apple hace 4 años
padre
commit
8d923ed50e

+ 3 - 2
data_monitoring/vps_client/src/config.json

@@ -2,7 +2,8 @@
   "vpsID": "专用-常州",
   "processArr": [
     "d1.exe",
-    "d2.exe"
+    "d2.exe",
+    "d3.exe"
   ],
-  "during":5
+  "during":"10"
 }

+ 11 - 12
data_monitoring/vps_client/src/main.go

@@ -23,10 +23,9 @@ var (
 )
 
 func init()  {
-	log.Println("加载...")
 	qu.ReadConfig(&sysconfig)
 	vpsID = qu.ObjToString(sysconfig["vpsID"])
-	during = qu.ObjToString(sysconfig["duringv"])
+	during = qu.ObjToString(sysconfig["during"])
 	processArr = qu.ObjArrToStringArr(sysconfig["processArr"].([]interface{}))
 }
 
@@ -38,20 +37,17 @@ func main() {
 		os.Exit(1)
 	}
 
-
 	//定时器
 	c := cron.New()
-	spec :=fmt.Sprintf("0 */%d * * * ?",during)	//分
-	//spec :=fmt.Sprintf("*/%d * * * * ?",during)		//秒
-
+	spec := fmt.Sprintf("0 */%s * * * ?",during)	//分
+	spec =fmt.Sprintf("*/%s * * * * ?",during)		//秒
 	c.AddFunc(spec, func() { task() })
-	//c.AddFunc("*/10 * * * * ?", func() { task() })
 	c.Start()
 	time.Sleep(99999 * time.Hour)
 }
 
 func task()  {
-
+	log.Println("执行...检测...")
 	//先检测下载器
 	process := "0" //正常 - windows模式
 	for _,v:=range processArr {
@@ -69,18 +65,21 @@ func task()  {
 			}
 		}
 	}
-	log.Println("当前下载器:",process)
-	//u, _ := url.Parse("http://127.0.0.1:7811") //本地测试
-	u, _ := url.Parse("http://monitor.spdata.jianyu360.com") //线上
+	//log.Println("当前下载器:",process)
+	u, _ := url.Parse("http://127.0.0.1:7811") //本地测试
+	//u, _ := url.Parse("http://monitor.spdata.jianyu360.com") //线上
 	q := u.Query()
 	q.Set("id", vpsID)
 	q.Set("process", process)
 	u.RawQuery = q.Encode()
 
+	//log.Println(vpsID,process)
+
 	_, err := http.Get(u.String());
 	if err != nil {
-		//log.Println("异常",err)
+		log.Println("异常",err)
 	}
+
 }
 
 

+ 1 - 1
data_monitoring/vps_server/src/config.json

@@ -14,7 +14,7 @@
     "pwd":      "xomkphsjsamybdbj"
   },
   "jkmail": {
-    "to": "zhengkun@topnet.net.cn",
+    "to": "zhaoyujian@topnet.net.cn",
     "api": "http://172.17.145.179:19281/_send/_mail"
   }
 }

+ 27 - 5
data_monitoring/vps_server/src/main.go

@@ -7,6 +7,7 @@ import (
 	"net/http"
 	qu "qfw/util"
 	"strings"
+	"sync"
 	"time"
 )
 var (
@@ -15,6 +16,8 @@ var (
 	idsArr				[]string
 	dataTmp				map[string]map[string]interface{}
 	during,isErr		int64
+	test				map[string]interface{}
+	updatelock 			sync.Mutex
 )
 func init()  {
 	//加载配置文件
@@ -39,6 +42,8 @@ func init()  {
 	log.Println("准备完毕...")
 }
 
+
+
 func main() {
 
 	//http://monitor.spdata.jianyu360.com/,程序端口7811
@@ -49,7 +54,7 @@ func main() {
 	//每隔1分钟执行一次:0 */1 * * * ?   每隔5秒执行一次:*/5 * * * * ?
 
 	spec :=fmt.Sprintf("0 */%d * * * ?",during)
-	//spec :=fmt.Sprintf("*/%d * * * * ?",during)
+	spec =fmt.Sprintf("*/%d * * * * ?",during)
 	c := cron.New()
 	c.AddFunc(spec, func() { taskFinishing()})
 	c.Start()
@@ -57,17 +62,20 @@ func main() {
 }
 
 func handler(w http.ResponseWriter, r *http.Request) {
+	updatelock.Lock()
 	r.ParseForm() //解析参数,默认是不会解析的
 	if r.Method == "GET" {
 		vpsid ,process,isProMail:= "",int64(0),int64(0)
 		for k, v := range r.Form {
 			if k=="id" {
 				vpsid = strings.Join(v, "")
+				isProMail = qu.Int64All(dataTmp[vpsid]["isProMail"])
 			}else if k=="process" {
 				process = qu.Int64All(strings.Join(v, ""))
 				if process==0 {
 					isProMail = 0
 				}
+
 			}else {
 
 			}
@@ -81,6 +89,7 @@ func handler(w http.ResponseWriter, r *http.Request) {
 				"isProMail":isProMail,
 			}
 		}
+
 		//log.Println("接收Get请求:",dataTmp[vpsid])
 
 	} else if r.Method == "POST" {
@@ -88,11 +97,17 @@ func handler(w http.ResponseWriter, r *http.Request) {
 	} else {
 
 	}
+
+	updatelock.Unlock()
 }
 
 //不断监听处理
 func taskFinishing()  {
-	//log.Println("执行...处理一次...")
+	log.Println("...处理一次...")
+	//加锁
+	updatelock.Lock()
+
+
 	isVpsMailContent,isProMailContent:= "",""
 	for _ , vpsid := range idsArr {
 		//此标识-是否正常
@@ -138,16 +153,23 @@ func taskFinishing()  {
 			"isVpsMail":isVpsMail,
 			"isProMail" : isProMail,
 		}
-	}
 
+	}
 
+	//log.Println("处理后",isProMailContent)
 	if isVpsMailContent!=""{
 		log.Println("发邮件:vps异常...",isVpsMailContent)
-		//sendErrMailApi("vps异常",isVpsMailContent)
+		sendErrMailApi("vps异常",isVpsMailContent)
 	}else {
 		if isProMailContent !="" {
 			log.Println("发邮件:下载器异常...",isProMailContent)
-			//sendErrMailApi("下载器异常",isProMailContent)
+			sendErrMailApi("下载器异常",isProMailContent)
 		}
 	}
+
+
+
+
+	updatelock.Unlock()
+
 }