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.
186 lines
5.2 KiB
186 lines
5.2 KiB
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"` |
|
}
|
|
|