65 lines
1.6 KiB
Go
65 lines
1.6 KiB
Go
|
package monitor
|
|||
|
|
|||
|
const (
|
|||
|
// RedisPrefix 参数:business。参数1:bid;参数2:监控ID
|
|||
|
RedisPrefix = "monitor_stats_%d"
|
|||
|
|
|||
|
// CompGT 大于
|
|||
|
CompGT = ">"
|
|||
|
// CompLT 小于
|
|||
|
CompLT = "<"
|
|||
|
)
|
|||
|
|
|||
|
// RuleResultData 返回的结果数据
|
|||
|
type RuleResultData struct {
|
|||
|
Rule *Rule `json:"rule"`
|
|||
|
User *User `json:"user"`
|
|||
|
Stats *Stats `json:"stats"`
|
|||
|
}
|
|||
|
|
|||
|
// Rule 监控规则信息
|
|||
|
type Rule struct {
|
|||
|
ID int64 `json:"id"`
|
|||
|
Type int8 `json:"type"`
|
|||
|
BID int8 `json:"bid"`
|
|||
|
Name string `json:"name"`
|
|||
|
State int8 `json:"state"`
|
|||
|
STime string `json:"stime"`
|
|||
|
ETime string `json:"etime"`
|
|||
|
CTime string `json:"ctime"`
|
|||
|
MTime string `json:"mtime"`
|
|||
|
UID int64 `json:"uid"`
|
|||
|
RuleConf *RuleConf `json:"rule"`
|
|||
|
}
|
|||
|
|
|||
|
// RuleConf 监控方案配置结构体
|
|||
|
type RuleConf struct {
|
|||
|
Name string `json:"name"`
|
|||
|
MoniCdt map[string]struct { //监控方案的监控条件
|
|||
|
Comp string `json:"comparison"`
|
|||
|
Value int64 `json:"value"`
|
|||
|
} `json:"moni_cdt"`
|
|||
|
NotifyCdt map[string]struct { //达到发送通知的条件
|
|||
|
Comp string `json:"comparison"`
|
|||
|
Value int64 `json:"value"`
|
|||
|
} `json:"notify_cdt"`
|
|||
|
Notify struct { //通知类型配置
|
|||
|
Way int8 `json:"way"`
|
|||
|
Member []string `json:"member"`
|
|||
|
} `json:"notify"`
|
|||
|
}
|
|||
|
|
|||
|
// Stats 监控统计
|
|||
|
type Stats struct {
|
|||
|
TotalCount int `json:"total_count"`
|
|||
|
MoniCount int `json:"moni_count"`
|
|||
|
MaxTime int `json:"max_time"`
|
|||
|
}
|
|||
|
|
|||
|
// User manager user struct
|
|||
|
type User struct {
|
|||
|
ID int64 `json:"id"`
|
|||
|
UserName string `json:"username"`
|
|||
|
NickName string `json:"nickname"`
|
|||
|
}
|