go-common/app/job/main/aegis/model/monitor/monitor.go

187 lines
5.2 KiB
Go
Raw Normal View History

2019-04-22 10:49:16 +00:00
package monitor
const (
// RedisPrefix 参数:business。参数1bid参数2监控ID
RedisPrefix = "monitor_stats_%d"
// RedisDelArcInfo 稿件删除监控key
RedisDelArcInfo = "monitor_stats_del_arc"
// BusVideo 视频业务
BusVideo = 1
// BusArc 稿件业务
BusArc = 2
// NotifyTypeEmail 邮件通知
NotifyTypeEmail = 1
// NotityTypeSms 短信通知
NotityTypeSms = 2
// 稿件业务常量
// ArchiveBitPGC 稿件PGC属性位
ArchiveBitPGC = 9
// ArchiveStateDel 稿件删除状态
ArchiveStateDel = -100
// ArchiveOriginal 自制稿件
ArchiveOriginal = 1
// RuleHighUpDelArc 高能联盟UP主大量删除稿件监控
RuleHighUpDelArc = 1
// RuleFamUpDelArc 大UP主大量删除稿件监控
RuleFamUpDelArc = 17
// CompGT 大于
CompGT = ">"
// CompLT 小于
CompLT = "<"
// CompGET 大于等于
CompGET = ">="
// CompLET 小于等于
CompLET = "<="
// CompNE 不等于
CompNE = "!="
// CompE 等于
CompE = "="
)
var (
// SpecialTypeIDs 特殊分区(变更非常不频繁)
SpecialTypeIDs = map[int64]int8{
15: 1, 34: 1, 32: 1, 82: 1, 33: 1, 83: 1, 145: 1, 146: 1,
147: 1, 153: 1, 185: 1, 186: 1, 187: 1, 37: 1, 178: 1, 179: 1,
180: 1, 128: 1, 85: 1, 86: 1, 183: 1,
}
)
// BinlogArchive 稿件 binlog 结构
type BinlogArchive struct {
ID int64 `json:"id"`
State int64 `json:"state"`
Round int64 `json:"round"`
MID int64 `json:"mid"`
Attr int64 `json:"attribute"`
TypeID int64 `json:"typeid"`
IsSpecTID int8 `json:"is_special_tid"`
HumanRank int `json:"humanrank"`
Duration int `json:"duration"`
Desc string `json:"desc"`
Title string `json:"title"`
Cover string `json:"cover"`
Content string `json:"content"`
Tag string `json:"tag"`
Copyright int8 `json:"copyright"`
AreaLimit int8 `json:"arealimit"`
Author string `json:"author"`
Access int `json:"access"`
Forward int `json:"forward"`
PubTime string `json:"pubtime"`
Reason string `json:"reject_reason"`
CTime string `json:"ctime"`
MTime string `json:"mtime"`
PTime string `json:"ptime"`
Addit *ArchiveAddit `json:"_"`
}
// BinlogVideo 视频binlog结构
type BinlogVideo struct {
ID int64 `json:"id"`
Filename string `json:"filename"`
Cid int64 `json:"cid"`
Aid int64 `json:"aid"`
Title string `json:"eptitle"`
Desc string `json:"description"`
SrcType string `json:"src_type"`
Duration int64 `json:"duration"`
Filesize int64 `json:"filesize"`
Resolutions string `json:"resolutions"`
Playurl string `json:"playurl"`
FailCode int8 `json:"failinfo"`
Index int `json:"index_order"`
Attribute int32 `json:"attribute"`
XcodeState int8 `json:"xcode_state"`
State int8 `json:"state"`
Status int16 `json:"status"`
CTime string `json:"ctime"`
MTime string `json:"mtime"`
}
// ArchiveAddit 稿件附加属性
type ArchiveAddit struct {
Aid int64 `json:"aid"`
MissionID int64 `json:"mission_id"`
UpFrom int8 `json:"up_from"`
FromIP int64 `json:"from_ip"`
IPv6 []byte `json:"ipv6"`
Source string `json:"source"`
OrderID int64 `json:"order_id"`
RecheckReason string `json:"recheck_reason"`
RedirectURL string `json:"redirect_url"`
FlowID int64 `json:"flow_id"`
Advertiser string `json:"advertiser"`
FlowRemark string `json:"flow_remark"`
DescFormatID int64 `json:"desc_format_id"`
Desc string `json:"desc"`
Dynamic string `json:"dynamic"`
}
// RuleResultRes 监控结果
type RuleResultRes struct {
Code int `json:"code"`
Data []*RuleResultData `json:"data"`
}
// RuleResultData 监控结果
type RuleResultData struct {
Rule *Rule `json:"rule"`
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"`
} `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"`
}
// FieldsConf 监控字段配置
type FieldsConf struct {
Comparison string
}
// DelArcInfo UP主删稿信息
type DelArcInfo struct {
AID int64 `json:"aid"`
MID int64 `json:"mid"`
Time string `json:"time"`
Title string `json:"title"`
}