Grafana仪表盘缩放前后数值不一致问题求助
问题:Grafana缩放视图后指标数值不一致
调整Grafana仪表盘缩放级别后,同一时间戳的指标数值显示不同——放大时能看到实际小数(如18.5°C),缩小后数值被截断为整数(如18°C)。环境:Grafana 10.3.1,数据源为SQLite,使用frser-sqlite-datasource插件。
原因分析
这是Grafana的**数据降采样(Downsampling)**机制导致的:
- 当视图缩小、时间范围扩大时,Grafana或SQLite插件会自动合并相邻数据点,避免图表数据过载。
- 默认聚合/采样逻辑可能对小数数值做了取整处理,而非保留精确的聚合结果(如直接截断而非计算平均值)。
- SQLite本身无原生时间序列降采样能力,该行为由frser-sqlite-datasource插件或Grafana面板的聚合设置触发。
解决步骤
1. 调整面板数据采样设置
编辑目标面板,进入「查询」标签:
- 找到「数据采样」(Data sampling)选项,关闭自动采样,或设置采样策略为「保留原始数据」(数据量不大时适用)。
- 若使用了「转换」功能,检查聚合函数是否为取整类,替换为
AVG(平均值)或LAST(最新值)等保留小数的函数。
2. 手动控制SQL查询的聚合逻辑
避免插件自动处理聚合,在SQL语句中显式定义时间桶和聚合方式,确保保留小数:
SELECT $__timeGroup(time, '1m'), -- 按1分钟时间桶分组,可根据需求调整粒度 ROUND(AVG(temperature), 1) AS temperature -- 计算平均值并保留1位小数 FROM sensor_data WHERE time BETWEEN $__timeFrom() AND $__timeTo() GROUP BY $__timeGroup(time, '1m')
注:
$__timeGroup是Grafana的内置变量,会根据当前视图的时间范围自动调整分组粒度,确保图表显示性能。
3. 检查插件与格式化设置
- 进入frser-sqlite-datasource的数据源配置页,关闭可能存在的「数值自动取整」选项。
- 编辑面板的「可视化」设置:在「单位」选项中,将温度格式设置为保留1位小数(选择
°C后,调整小数位数为1),避免显示层截断数值。
内容的提问来源于stack exchange,提问作者Thomas LESIEUR
相关产品推荐
相关产品推荐

