集合操作
日志服务告警监控系统将一个查询和分析结果当做一个集合,并支持多个集合关联监控。
注意
- 日志服务最多支持3个集合关联监控。
- 默认只选取查询和统计结果中的前1000条数据用于集合操作。当存在三个查询和分析操作且集合操作不存在不合并选项时,只选取查询和统计结果中的前100条数据。
- 当存在三个集合时,先对前两个集合进行操作,该操作结果再与第三个集合进行集合操作。例如:
- 集合A左联集合B左联集合C:集合A和集合B先完成左联操作,该结果再左联集合C。
- 集合A拼接集合B内联集合C:集合A和集合B完成拼接操作,该结果再内联集合C。
- 集合A左斥集合B不合并集合C:集合A和集合B完成左斥操作,忽略集合C。
集合操作 | 图示 | 说明 |
---|---|---|
不合并 | ![]() |
两个集合之间无关联。
集合A为查询和分析结果,集合B仅在告警信息中作为内容模板的变量被引用。 |
笛卡尔积 | 无 | 集合A与集合B任意数据互相交叉组合,一般用于过滤评估。 |
拼接 | ![]() |
集合B中的数据添加到集合A中,根据字段对齐。 |
内联 | ![]() |
集合A中仅保留在集合B中存在的数据,即集合B是集合A的白名单。 |
左联 | ![]() |
在集合A中补充部分来自集合B的信息,即集合B是A的维表。 |
右联 | ![]() |
在集合B中补充部分来自集合A的信息,即集合A是集合B的维表。 |
全联 | ![]() |
集合A和集合B互相补充信息。 |
左斥 | ![]() |
在集合A中删除集合B中存在的数据,即集合B是集合A的黑名单。 |
右斥 | ![]() |
在集合B中删除集合A中存在的数据,即集合A是集合B的黑名单。 |
示例
- 不合并
- 需求
监控Nginx访问日志,每15分钟的5xx错误超过500次则触发告警,并且在告警内容中列出具体的出错的主机信息。
- 配置
- 结果
- 查询统计0的结果
统计15分钟内发生5xx错误的次数。
cnt 1234 - 查询统计1的结果
统计15分钟内发生5xx错误最多的Top5主机及对应的错误次数。
host pv host1 60 host2 55 host3 47 host4 45 host5 30 - 集合操作结果
当选择集合操作为不合并时,集合操作结果为查询统计0的结果。
- 查询统计0的结果
- 需求
- 拼接
- 示例1
- 需求
北京和上海地域分别有2个用于存储Nginx访问日志的Logstore,每15分钟统计一次5xx错误超过30次的主机数,两个Logstore中符合条件的主机数超过10个时,触发告警。
- 配置
- 结果
- 查询统计0的结果
统计15分钟内发生5xx错误超过30次的主机及对应的错误次数。
host pv host1 60 host2 55 host3 47 host4 45 host5 31 - 查询统计1的结果
统计15分钟内发生5xx错误超过30次的主机及对应的错误次数。
host pv hosta 70 hostb 45 hostc 44 hostd 42 - 集合操作结果
当选择集合操作为拼接时,集合操作结果如下:host pv host1 60 host2 55 host3 47 host4 45 hosg5 31 hosta 70 hostb 45 hostc 44 hostd 42
- 查询统计0的结果
- 需求
- 其他示例
- 当2个查询统计结果中的字段不完全一致时,进行拼接后,无匹配的字段留空。
- 查询统计0结果
a b a1 b1 a2 b2 - 查询统计1结果
b c b1 c1 b2 c2 - 集合操作结果
a b c a1 b1 无 a2 b2 无 无 b1 c1 无 b2 c2
- 查询统计0结果
- 当存在3个查询统计时,查询统计0和查询统计1的结果先完成集合操作,再与查询统计2结果拼接。
- 查询统计0结果
a b a1 b1 a2 b2 - 查询统计1结果
a b a1 b11 a2 b22 a3 b33 - 查询统计0结果与查询统计1结果的拼接结果
当选择集合操作为内联,$0.a == $1.a时,集合操作结果如下:
a $0.b $1.b a1 b1 b11 a2 b2 b22 - 查询统计2结果
a b a3 b333 a4 b444 - 集合操作结果
当选择集合操作为拼接时,集合操作结果如下:
说明 查询统计2结果中字段b与字段$0.b对齐。a $0.b $1.b a1 b1 b11 a2 b2 b22 a3 b333 无 a4 b444 无
- 查询统计0结果
- 当2个查询统计结果中的字段不完全一致时,进行拼接后,无匹配的字段留空。
- 示例1
- 内联
- 示例1
- 需求
监控指定Bucket中发生5xx错误的次数,当每15分钟内出现1000次5xx错误时触发告警。此需求中,需添加资源数据,用于维护Bucket白名单。
- 配置
- 结果
- 查询统计0的结果
统计15分钟内发生5xx错误次数超过1000次的Bucket。
bucket pv bucket_01 1600 bucket_02 1550 bucket_03 1470 bucket_04 1450 - 查询统计1的结果
Bucket的资源数据。
bucket desc bucket_03 for dev team bucket_04 for test team bucket_05 for service team bucket_06 for support team - 集合操作结果
当选择集合操作为内联,$0.bucket == $1.bucket时,集合操作结果如下:
bucket pv desc bucket_03 47 for dev team bucket_04 45 for test team
- 查询统计0的结果
- 需求
- 示例2
- 需求
北京和上海地域分别有2个用于存储Nginx访问日志的Logstore,每15分钟统计一次发生5xx错误超过30次的客户端。北京和上海同时发生5xx错误,且北京的错误次数大于上海时触发告警。
- 配置
- 结果
- 查询统计0结果
统计15分钟内北京地域发生5xx错误超过30次的客户端及对应的错误数。
client_ip pv 192.0.2.4 60 192.0.2.5 55 192.0.2.6 47 192.0.2.7 45 192.0.2.8 31 - 查询统计1结果
统计15分钟内上海地域发生5xx错误超过30次的客户端及对应的错误数。
client_ip pv 192.0.2.5 70 192.0.2.6 45 192.0.2.7 44 192.0.2.8 42 192.0.2.9 42 - 集合操作结果
当选择集合操作为内联,$0.client_ip == $1.client_ip,$0.pv > $1.pv时,集合操作结果如下:
client_ip pv 192.0.2.6 47 192.0.2.7 45
- 查询统计0结果
- 需求
- 其他示例
当2个查询统计结果中的非关联字段存在同名时,集合操作的结果集合自动为字段添加$0、$1前缀。
- 查询统计0结果
a b c d a1 b1 c1 d1 a2 b2 c2 d2 a3 b3 c3 d3 - 查询统计1结果
a b c a1 b11 c11 a2 b22 c22 - 集合操作结果
当选择集合操作为内联,$0.a == $1.a时,集合操作结果如下:
a $0.b $0.c d $1.b $1.c a1 b1 c1 d1 b11 c11 a2 b2 c2 d2 b22 c22
- 查询统计0结果
- 示例1
- 左斥
- 需求
监控除指定Bucket外的其他Bucket发生5xx错误的次数,当每15分钟内出现1000次5xx错误时触发告警。此需求中,需添加资源数据,用于维护Bucket黑名单。
- 配置
- 结果
- 查询统计0的结果
统计15分钟内出现5xx错误超过1000次的Bucket。
bucket pv bucket_01 60 bucket_02 55 bucket_03 47 bucket_04 45 - 查询统计1的结果
Bucket的资源数据。
bucket desc bucket_03 for dev team bucket_04 for test team - 集合操作结果
当选择集合操作为左斥,$0.bucket == $1.bucket时,集合操作结果如下:
bucket pv bucket_01 60 bucket_02 55
- 查询统计0的结果
- 需求
- 右斥
- 需求
监控除指定Bucket外的其他Bucket发生5xx错误的次数,当每15分钟内出现1000次5xx错误时触发就告警。此需求中,需添加资源数据,用于维护Bucket黑名单。
- 配置
- 结果
- 查询统计0的结果
Bucket的资源数据。
bucket desc bucket_03 for dev team bucket_04 for test team - 查询统计1的结果
统计15分钟内出现5xx错误超过1000次的Bucket。
bucket pv bucket_01 60 bucket_02 55 bucket_03 47 bucket_04 45 - 集合操作结果
当选择集合操作为右斥,$0.bucket == $1.bucket时,集合操作结果如下:
bucket pv bucket_01 60 bucket_02 55
- 查询统计0的结果
- 需求
- 笛卡尔积
- 示例1
- 需求:
同时监控OSS访问日志和SLB访问日志,每15分钟统计一次OSS的4xx错误和SLB的5xx错误,当总次数达到1000次时触发告警。
- 配置:
- 结果:
- 查询统计0的结果
统计15分钟内出现OSS 4xx错误的次数。
pv 890 - 查询统计1的结果
统计15分钟内出现SLB 5xx错误的次数。
pv 567 - 集合操作结果
当选择集合操作为笛卡尔积时,集合操作结果如下:
$0.pv $1.pv 890 567
- 查询统计0的结果
- 需求:
- 其他示例
- 查询统计0结果
a b a1 b1 a2 b2 a5 b5 - 查询统计1结果
a c a1 c1 a3 c3 - 集合操作结果
当选择集合操作为笛卡尔积时,集合操作结果如下:
$0.a b $1.a c a1 b1 a1 c1 a1 b1 a3 c3 a2 b2 a1 c1 a2 b2 a3 c3 a5 b5 a1 c1 a5 b5 a3 c3
- 查询统计0结果
- 示例1
- 左联
- 查询统计0结果
a b a1 b1 a2 b2 a3 b3 - 查询统计1结果
a b c a1 b11 c1 a2 b22 c2 - 集合操作结果
当选择集合操作为左联,$0.a == $1.a时,集合操作结果如下:
a $0.b $1.b c a1 b1 b11 c1 a2 b2 b22 c2 a3 b3 无 无
- 查询统计0结果
- 右联
- 查询统计0结果
a b c a1 b11 c1 a2 b22 c2 - 查询统计1结果
a b a1 b1 a2 b2 a3 b3 - 集合操作结果
当选择集合操作为右联,$0.a == $1.a时,集合操作结果如下:
a $0.b c $1.b a1 b11 c1 b1 a2 b22 c2 b2 a3 无 无 b3
- 查询统计0结果
- 全联
- 查询统计0
a b c a1 b1 c1 a2 b2 c2 a5 b5 c3 - 查询统计1结果
a b d a1 b11 d1 a2 b22 d2 a3 b33 d3 - 集合操作结果
当选择集合操作为全联,$0.a == $1.a时,集合操作结果如下:
a $0.b c $1.b d a1 b1 c1 b11 d1 a2 b2 c2 b22 d2 a5 b5 c3 无 无 a3 无 无 b33 d3
- 查询统计0
内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家
阿里云企业补贴进行中: 马上申请
腾讯云限时活动1折起,即将结束: 马上收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠
转转请注明出处:https://www.yunxiaoer.com/163967.html