PromQL/prometheus 查询 label_replace() 多个

PromQL/prometheus query label_replace() multiple

试图找到一种使用 Prometheus 查询来替换 2 个或更多标签的方法,但没有找到任何好的和“简短”的方法。

这是我的:

label_replace(
label_replace(
label_replace(
  label_replace(
    rate(spring_integration_send_seconds_count{result!="success", application="MyApplicationName"}[1m])
    ,"service", "", "name", "(.*).ConsumerEndpointFactoryBean.*"
    )
      , "service", "", "name", "(.*).channel.*"
      )
        , "service", "", "name", "(.*).Channel.*"
      )
       , "service", "", "name", "(.*).handler.*"
      )
)

是否有shorter/neater替换标签的方法?

在我的示例中,我有 4 种情况想“跳过”结尾, 当标签值的结尾是:

没关系,这只是正则表达式的问题

label_replace(
    rate(spring_integration_send_seconds_count{result!="success", app="MyApplicationName"}[1m])
     ,"service", 
    "", 
    "name",   "(.*).(channel|Channel|handler|ConsumerEndpointFactoryBean).*"
    )