年輕人的第一個go程式:監控資料庫欄位 報警
監控資料庫欄位 釘釘報警
package main
import (
"bytes"
"encoding/json"
"fmt"
_ "github.com/go-sql-driver/mysql"
"github.com/go-xorm/xorm"
"io/ioutil"
"net/http"
"time"
)
var engine *xorm.Engine
const webhook_url = ""
func dingtoinfo(s string) bool {
content, data := make(map[string]string), make(map[string]interface{})
content["content"] = s
data["msgtype"] = "text"
data["text"] = content
b, _ := json.Marshal(data)
resp, err := http.Post(webhook_url,
"application/json",
bytes.NewBuffer(b))
if err != nil {
fmt.Println(err)
}
defer resp.Body.Close()
body, _ := ioutil.ReadAll(resp.Body)
fmt.Println(string(body))
return true
}
func recoverName() {
if r := recover(); r != nil {
res := fmt.Sprintf("%s %s", "監控程式 報錯:", r)
dingtoinfo(res)
}
}
func main() {
defer recoverName()
var err error
engine, err = xorm.NewEngine("mysql", "root:xxxxxxxxxxxxxxx@tcp(127.0.0.1:3306)/new?charset=utf8")
if err != nil {
panic(err.Error())
}
gsql := " select up_time from token where type = 0 ;"
gres, gerr := engine.Query(gsql)
if gerr != nil {
panic(gerr.Error())
}
var data string
for _, v := range gres {
data = string(v["up_time"])
}
loc, _ := time.LoadLocation("Asia/Shanghai")
nowTime := time.Now().In(loc)
tm, _ := time.Parse("2006-01-02 03:04:05", data)
ntm := tm.In(loc)
subM := nowTime.Sub(ntm)
fmt.Println("token更新時間 與 系統時間 相差",subM)
subtract := int(subM.Minutes())
if subtract > 20 {
dingtoinfo("異常, 請及時登入檢視 !!!")
}
}
©著作權歸作者所有:來自51CTO部落格作者295631788的原創作品,如需轉載,請註明出處,否則將追究法律責任
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/3549/viewspace-2819533/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【python 監控報警】python自動發微信監控報警Python
- CentOS 配置OOM監控報警CentOSOOM
- Prometheus監控報警系統Prometheus
- 大資料技術 - 監控預警大資料
- 同事寫的監控Logical Standby SQL apply 程式stop的監控報警指令碼SQLAPP指令碼
- 資料庫監控資料庫
- 智慧校園:資料機房動環監控報警系統
- 序列化,資料庫存多個欄位資料資料庫
- 【SQL】Oracle資料庫SQL監控報告示例SQLOracle資料庫
- GO實現資料夾監控Go
- 資料庫效能監控資料庫
- 監控資料庫活動資料庫
- 資料庫int欄位超限資料庫
- 資料庫欄位問題資料庫
- 監控資料庫效能的SQL資料庫SQL
- logstash監控海量日誌並報警
- Spark+Kafka實時監控Oracle資料預警SparkKafkaOracle
- 怎麼設定資料庫的報警資料庫
- MySQL中修改一個資料庫下包含有某個相同欄位的所有表的欄位長度MySql資料庫
- 幾個重要的指令碼來監控Oracle資料庫指令碼Oracle資料庫
- MySQL監控-Datadog資料庫監控調研MySql資料庫
- 兄弟連go教程(19)資料 - 匿名欄位Go
- 資料庫繁忙程度監控資料庫
- 資料庫監控軟體資料庫
- SQL Server資料庫監控SQLServer資料庫
- 資料庫監控指令碼資料庫指令碼
- 監控Oracle資料庫方法Oracle資料庫
- 監控資料庫指令碼資料庫指令碼
- zabbix監控oracle資料庫Oracle資料庫
- 動態為10g資料庫的表新增欄位,到256個欄位,hung住了?資料庫
- 基於Prometheus的資料庫監控Prometheus資料庫
- Oracle資料庫的監控內容Oracle資料庫
- Prometheus時序資料庫-報警的計算Prometheus資料庫
- 監控資料庫連線遇到的一個小問題資料庫
- 向資料庫中全部表中增加一個欄位的SQL資料庫SQL
- 資料庫監控---PIGOSS BSM資料庫Go
- shell監控mysql 8.0資料庫MySql資料庫
- shell監控mysql 5.7資料庫MySql資料庫