栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

bosun 除法使用注意事项

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

bosun 除法使用注意事项

问题

需要计算两个服务集群的QPS/虚拟机数量,以便得出单机QPS。
查询的tag如下:

# 查出新服务和旧服务的qps
$qps_old=q("sum:rate{counter}.frameworkA.old_service.throughput{service_interface=Enter,to_cluster=$cluster}", "$start", "")
$qps_new=q("sum:rate{counter}:frameworkB.new_service.throughput{cluster=$cluster}", "$start", "")

# 使用remove函数移除两个指标中不同的tag,以便进行运算
$qps=remove(remove($qps_old,"to_cluster"),"service_interface") + remove($qps_new,"cluster")

# 查询机器数量
$machine_count=q("count:store:sysprobe.old_service.pod{machine_cluster=$cluster}", "$start", "")+q("count:store:sysprobe.new_service.pod{machine_cluster=$cluster}", "$start", "")

# 移除tag
$machine_count = remove($machine_count,"machine_cluster")

# 返回除法运算结果,即单机QPS
$qps/$machine_count

结果显示,除法的结果并不对:

上图的监控中可以看到: qps=52.9K, machine_count=5.01K,则期望qps/machine_count= 52.9K/5.01K=10.55
但结果却大相径庭,竟然是26.8K,并且也不知道具体的计算逻辑是什么。

经过不断尝试,终于在为两个数据集添加一个tag之后解决:

# 先加上tag再进行运算
addtags($qps,"cluster=$cluster")/addtags($pod_count,"cluster=$cluster")

修正后,结果如下:

与期望值相同。

原因

未知。可能与分组有关。当没有任何分组时,即两个空的分组:{}。
bosun并不认为它们是同一个组,因此无法施加运算。
加上tag之后,{cluster=my},此时bosun

TODO:查看bosun对于empty tagset的处理。

思考

总结出一个原则:除法运算必须至少具有1个tag来作为分组条件。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/422423.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号