You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
64 lines
1.6 KiB
64 lines
1.6 KiB
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"` |
|
}
|
|
|