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

187 lines
5.2 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"
// 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"`
}