当正则表达式包含 \w 时,带有 label_replace returns 空白值的 promql 正则表达式
promql regex with label_replace returns blank value when regex contain \w
我返回了这个指标
my_sqldatabase{aggregation="maximum", instance="sql-metrics-exporter", interval="PT5M", job="metrics-sqldatabase", id="/sub/1291-3432432-e432/mydatabase"}
我想提取 / 之后的最后一位(即 mydatabase)以创建一个名为 db 的新标签,并尝试了以下方法
label_replace(my_sqldatabase{metric="storage_percent", aggregation="maximum"}, "db", "", "id", "([\w]+$)")
我总是以这样的空白值数据库或错误结束
my_sqldatabase{aggregation="maximum", db="" instance="sql-metrics-exporter", interval="PT5M", job="metrics-sqldatabase", id="/sub/1291-3432432-e432/mydatabase"}
有什么地方出错了吗?我试过 ([\w]+$), [\w]+$, [\w]+$, ([\\w]+$) 并得到错误或空白值。似乎是 \
导致了这个问题,但我不知道为什么或如何解决它。
试试这个:
label_replace(my_sqldatabase{metric="storage_percent", aggregation="maximum"}, "db", "", "id", ".+/(.+)")
我返回了这个指标
my_sqldatabase{aggregation="maximum", instance="sql-metrics-exporter", interval="PT5M", job="metrics-sqldatabase", id="/sub/1291-3432432-e432/mydatabase"}
我想提取 / 之后的最后一位(即 mydatabase)以创建一个名为 db 的新标签,并尝试了以下方法
label_replace(my_sqldatabase{metric="storage_percent", aggregation="maximum"}, "db", "", "id", "([\w]+$)")
我总是以这样的空白值数据库或错误结束
my_sqldatabase{aggregation="maximum", db="" instance="sql-metrics-exporter", interval="PT5M", job="metrics-sqldatabase", id="/sub/1291-3432432-e432/mydatabase"}
有什么地方出错了吗?我试过 ([\w]+$), [\w]+$, [\w]+$, ([\\w]+$) 并得到错误或空白值。似乎是 \
导致了这个问题,但我不知道为什么或如何解决它。
试试这个:
label_replace(my_sqldatabase{metric="storage_percent", aggregation="maximum"}, "db", "", "id", ".+/(.+)")