如何创建引用另一个变量的变量?

时间:2021-03-26 21:42:05

标签: elasticsearch grafana grafana-templating grafana-variable

我正在尝试创建一个包含另一个变量值的变量。一个变量将包含 API 的“根”名称和实际的 API 应用程序名称。这就是我的意思。

完全限定的 API 名称:MyAPICollection.MyApi

问题: 有些情况下我只需要使用应用程序名称(“MyApi”),其他情况下我需要使用完全限定名称(“MyApiCollection”)。

我的尝试:

我创建了一个名为:AppName 的常量变量,其中包含我希望用户选择的所有可能的应用程序(例如“MyApp1”、MyApp2”、“MyApp3”)。

我创建了另一个名为“CollectionName”的常量变量,其值为“MyApiCollection”。不会显示此变量。

我创建了另一个名为 FullQualifiedName 的常量变量。这不会显示,但将用于传递给我的 Lucene 查询。所以,我使用了以下值:$CollectionName.$AppName

结果:我只是得到一个字面值:$CollectionName.$AppName

我尝试使其发挥作用的方法: 首先,这是否可以在 Grafana 中进行(请说是!)?

  1. 我试过:$CollectionName.$AppName
  2. 我试过:{$CollectionName.$AppName}
  3. 我试过:{{$CollectionName.$AppName}}
  4. 我试过:{$CollectionName}.{$AppName}
  5. 最后:{{$CollectionName}.{$AppName}}

我为什么要这样做? 我有一个仪表板,目前支持 4 个 API,并且是一个集合的一部分。但是,在某些情况下,我只需要完全限定名称的一个子集。

示例: MyCollection.MyApi1 将被传递给 ElasticSearch 因为这些字段。日志记录中的应用程序字段被标记为“MyCollection.MyApi1”。

在其他情况下,我只需要具有不同大小写要求的完全限定名称的应用程序名称部分(例如引用 CloudWatch 日志)。

示例:要查询 CloudWatch 日志,我将使用应用程序名称来指定 Grafana 应将哪个 CloudWatch 日志组用作其数据源。从一个 API 到下一个 API,CloudWatch 日志组的命名格式将相同。唯一会改变的是应用程序名称(例如“myapi1”)。另一个要求是应用程序名称要小写。

我不能认为我所做的一切都那么不寻常。我希望能够拥有一个支持集合中所有 API 的仪表板,而变量有望帮助我实现这一目标。

有什么想法吗?

0 个答案:

没有答案
相关问题