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

如何将Grafana条形图标签中的类全限定名转换为仅类名展示?

类名截断解决方案

你可以通过两种常见路径实现需求,按需选择即可:

方案1:Elasticsearch 摄入侧预处理(性能最优,推荐)

在数据写入ES时通过Ingest Pipeline新增单独的短类名字段,后续Grafana直接使用该字段作为标签:

  1. 创建预处理管道,示例配置如下,需替换为你实际存储全限定类名的字段:
PUT _ingest/pipeline/extract_exception_short_name
{
  "processors": [
    {
      "script": {
        "lang": "painless",
        "source": """
          if (ctx.your_exception_field != null) {
            String[] nameParts = ctx.your_exception_field.splitOnToken('.');
            ctx.exception_short_name = nameParts[nameParts.length - 1];
          }
        """
      }
    }
  ]
}
  1. 将该管道设置为对应日志索引的默认摄入管道,新写入的数据会自动生成exception_short_name字段,存量数据可通过reindex操作批量补全字段。

方案2:Grafana 侧直接转换(无需修改ES侧配置,适合存量数据)

如果不想调整ES的写入逻辑,可以直接在Grafana层面做字段转换:

  • 若使用Elasticsearch数据源查询:
    配置Terms聚合时,选择Script作为聚合字段,输入如下Painless脚本即可直接返回短类名作为聚合标签:
    String[] nameParts = doc['your_exception_field'].value.splitOnToken('.');
    return nameParts[nameParts.length - 1];
    
  • 若不想修改查询语句:
    进入面板编辑页的Transform标签,添加Replace转换规则,选择全限定类名对应的字段,匹配正则填写.*\.([^\.]+)$,替换值填写$1,即可直接把原字段的全限定名替换为短类名使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 13:54:04