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"`
|
||
}
|