为什么 Grafana ElasticSearch 查询在硬编码时工作,但在使用 Grafana 变量值替换时失败?以及如何解决它?

新基尔

问题图片

ElasticSearch 查询在硬编码时有效,但在使用 Grafana 变量值替换时失败:

查询:+nginx.access.upstream.response: [*, 1**, 2**, 3**, 4**, 5**, 500]
当您在查询中硬编码这些值时,这些查询中的每一个都会起作用.

Example Query: +nginx.access.upstream.response: 1** 
               ^That works shows a table of data instead of "No data to show"

尽管这样可行,但最好使用具有 7 个值的变量,这样您可以使用 1 个面板来显示可以放入 7 个硬编码面板中的相同数据,以便您最终获得更干净的用户界面。

现在的问题是您已将硬编码值切换为变量填充值,查询不再有效。
插入的变量值 [* 和 500] 起作用
插入的变量值 [1**, 2**, 3**, 4**, 5**] 不起作用/导致“无数据显示”如上所示。

当值被替换到查询中时,会发生一些有趣的事情。
Q1.) 在替换后调试变量真实值的最佳工具/方法是什么/找出它失败的原因?
Q2.) 修复它/实现预期最终结果的方法是什么?

新基尔

Q1.) 在替换后调试变量真实值的最佳工具/方法是什么/找出它失败的原因?

答案 1:Query Inspector
1** --当被替换时变为--> 1\\*\\*
这解释了为什么它不起作用

A1.) 查询检查器

Q2.) 修复它/实现预期最终结果的方法是什么?

答案 2:对我有用的是避免在变量值中使用特殊字符 *。
我将变量重命名为 HTTP 代码前缀并使用值 [*,1,2,3,4,5]
然后我使用查询:+nginx.access.upstream.response: $http_code_prefix*

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章