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

如何将Grafana面板列名替换为MM-DD格式的日期别名?

Grafana 列名批量替换为日期别名的可行方案

方法1:批量配置Field Override

直接给所有数字列名配置统一替换规则,无需逐个手动添加:

  1. 进入面板编辑页,切换到「Overrides」标签页
  2. 点击「Add override」→「Fields with name matching regex」
  3. 输入匹配规则 ^-?[0-6]$(精准匹配0、-1至-6的列名)
  4. 点击「Add override property」→「Display name」
  5. 选择「Override with template」,输入以下模板表达式:
    ${__field.name == '0' ? dateFormat(now(), 'MM-DD') : dateFormat(now().subtract(parseInt(__field.name.replace('-', '')), 'd'), 'MM-DD')}
    
    该表达式会自动将「0」转为当日MM-DD格式日期,「-N」转为N天前的对应日期

方法2:数据源查询阶段直接指定别名

如果你的数据源支持(如PromQL、InfluxQL等),在查询语句中直接给字段重命名,比面板层修改更高效:

  • 以PromQL为例,用alias()函数为每个查询结果指定别名:
    your_current_day_query | alias(date(now(), "MM-DD"))
    your_yesterday_query | alias(date(now()-1d, "MM-DD"))
    your_2days_ago_query | alias(date(now()-2d, "MM-DD"))
    
    不同数据源的日期函数语法有差异,根据实际使用的数据源调整即可

方法3:用Transform工具批量重命名字段

  1. 进入面板编辑页,切换到「Transform」标签页
  2. 点击「Add transformation」→「Rename by regex」
  3. 在「Pattern」中填入 ^(-?)(\d)$,「Replacement」中填入模板:
    ${1 == '' ? dateFormat(now(), 'MM-DD') : dateFormat(now().subtract($2, 'd'), 'MM-DD')}
    
    正则会捕获列名中的负号和数字,自动生成对应的日期别名

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 09:52:34