You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在PromQL中按region分组并在Grafana展示最新事件时间?

问题描述

我的Prometheus指标数据格式如下:

sync_unit_type {region="krg"} 1731441289

这个指标的值是秒级Unix时间戳,对应事件发生的时间,不同region有各自的指标数据,每5-7分钟更新一次。

我需要在Grafana里实现:

  • 按region分组,取每个区域的指标最大值(代表该区域事件的最新发生时间)
  • 用表格展示两列:区域名称、格式为dd.mm.yyyy hh:mm:ss的日期时间
  • 已经配置了仪表盘变量$Region用来过滤特定区域

目前用的PromQL查询完全无效:

max by (region) (sync_unit_type{job="main (prod)", region=~"$Region"} * 1000)
解决方案

1. 修正PromQL查询

不用在PromQL里乘以1000,先正确获取秒级的最大时间戳,再交给Grafana处理格式转换。正确的查询语句如下:

max by (region) (sync_unit_type{job="main (prod)", region=~"$Region"})

这个查询会按region分组,返回每个区域的最新秒级时间戳。

2. 配置Grafana表格面板的显示格式

  1. 添加一个表格面板,把上面的PromQL作为数据源查询。
  2. 进入面板的字段配置,找到对应时间戳的字段(默认叫Value):
    • 点击字段的格式选项,选择Time类型
    • 在格式设置里,自定义时间格式为DD.MM.YYYY HH:mm:ss(注意大小写:DD是两位日期,MM是两位月份,YYYY是四位年份)
  3. 调整表格列:
    • 把region字段重命名为「区域名称」
    • 把格式化后的时间字段重命名为「最新事件时间」

3. 验证变量过滤

确保$Region变量配置正确(比如类型选Query,查询语句写label_values(sync_unit_type{job="main (prod)"}, region)),这样选择特定区域时,表格会自动过滤出对应的数据。

内容的提问来源于stack exchange,提问作者AmacOS

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 10:07:35