go-common/app/admin/main/aegis/model/monitor/monitor.go
2019-04-22 18:49:16 +08:00

65 lines
1.6 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package monitor
const (
// RedisPrefix 参数:business。参数1bid参数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"`
}