基于另一个版本的操纵版本创建一个 Grafana 查询变量

Creating a Grafana query variable based on a manipulated version of another one

我有一个 grafana 仪表板,我想按 2 个变量进行过滤:

  1. Kubernetes 命名空间(我可以很容易地从 Prometheus 获得)
  2. AWS SQS 队列 - 仅获取其名称包含在来自 #1
  3. 的命名空间中的队列

这相对容易 - 我通过基​​于 ${namespace} 的正则表达式进行过滤,一切正常:

当我想在使用命名空间变量过滤掉值之前对它执行字符串操作时,问题就出现了,例如我的命名空间称为 mvng-test-pipeline,但我只想查看名称包含“test-pipeline”的队列(忽略“mvng-”前缀)。我没有找到通过正则表达式来做到这一点的方法。我还尝试创建一个中间变量,但令人惊讶的是,我无法找到一种方法来使用即使是最简单的字符串操作(例如 replace() 或 substring())来操作变量。

非常感谢任何帮助,10x

当您从 Prometheus 获取“命名空间”变量时,使用如下正则表达式删除“mvng-”前缀:

/^mvng\-(.+)$/