Grafana Time Series不应按标签拆分:如何合并下载速度指标为单条曲线?
解决方法
方法1:忽略sponsor_host标签聚合指标
假设你的下载速度指标名为internet_download_speed,直接用聚合函数剔除sponsor_host标签就能合并成单条曲线,根据需求选聚合方式:
- 要每个时间点所有标签值的平均值:
avg without(sponsor_host) (internet_download_speed) - 要每个时间点所有标签值的总和:
sum without(sponsor_host) (internet_download_speed)
without(sponsor_host)会自动去掉这个标签,把同一时间点的所有数据聚合为单条曲线。
方法2:指定保留其他标签(可选)
如果还有其他需要保留的标签(比如地区、运营商),可以用by子句明确指定要保留的标签,间接排除sponsor_host:
sum by (region, isp) (internet_download_speed)
这样只会保留你指定的标签,同时完成聚合。
工具适配说明
如果用的是InfluxDB这类工具,语法逻辑类似,比如InfluxQL写法:
SELECT mean("download_speed") FROM "internet_metrics" GROUP BY time(1m)
不指定sponsor_host作为分组字段,就会自动合并该标签下的所有数据。
小提示
选avg还是sum看业务场景:如果是不同测试节点的下载速度,取平均更合理;如果是多路下载的总速度,累加更合适。
内容的提问来源于stack exchange,提问作者dodjango
相关产品推荐
相关产品推荐

