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 种情况想“跳过”结尾,
当标签值的结尾是:
- .ConsumerEndpointFactoryBean
- .频道。 (以小写字母开头)
- .频道。 (以大写字母开头)
- .handler.
没关系,这只是正则表达式的问题
label_replace(
rate(spring_integration_send_seconds_count{result!="success", app="MyApplicationName"}[1m])
,"service",
"",
"name", "(.*).(channel|Channel|handler|ConsumerEndpointFactoryBean).*"
)
试图找到一种使用 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 种情况想“跳过”结尾, 当标签值的结尾是:
- .ConsumerEndpointFactoryBean
- .频道。 (以小写字母开头)
- .频道。 (以大写字母开头)
- .handler.
没关系,这只是正则表达式的问题
label_replace(
rate(spring_integration_send_seconds_count{result!="success", app="MyApplicationName"}[1m])
,"service",
"",
"name", "(.*).(channel|Channel|handler|ConsumerEndpointFactoryBean).*"
)