如何在Grafana/Loki图表中显示当日日志条目统计数
解决方案:Loki当日日志统计不显示问题修复
核心问题
你当前的查询存在两个关键问题:
- 仅过滤了
level="info"日志,但你需要统计的是Warning、Error、Fatal级别 count_over_time([1d])基于完整的1天时间窗口(对齐到整点)聚合,当日未结束时,这个完整窗口不存在,因此不会生成当日数据点
修正后的查询语句
基础版(支持当日实时统计)
sum(count_over_time( {ApplicationName="MyAppName"} | json | level=~"warning|error|fatal" [$__interval] ))
- 用
$__interval替代固定的[1d]:Grafana会根据当前时间范围自动适配窗口大小,当日数据会被实时纳入统计 level=~"warning|error|fatal":用正则匹配目标日志级别(注意和你日志中level字段的大小写保持一致,示例日志为小写,所以用小写匹配)
按天分组展示(含当日实时数据)
如果需要严格按自然日分组,同时显示当日累计数据,使用以下查询:
sum by (day) ( count_over_time( {ApplicationName="MyAppName"} | json | level=~"warning|error|fatal" [1d] ) ) | day = strftime("%Y-%m-%d", timestamp)
- 通过
strftime将时间戳转换为YYYY-MM-DD格式的日期标签,实现按天分组 - 当时间范围包含当日时,Loki会自动统计从当日0点到当前时刻的累计数据
额外配置检查
- 确认Grafana的时间范围设置包含当日:比如选择「Last 7 days」「Today」或自定义包含当前时间的范围
- 步长保持1d不变,查询类型为Range即可
内容的提问来源于stack exchange,提问作者dangerisgo
相关产品推荐
相关产品推荐

