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