wiz*_*dzz 5 grafana prometheus
在 Grafana 中,我有一个变量 $topic 的下拉菜单,其值为“topic_A”“topic_B”
"topic_A" 被选中所以 $topic = "topic_A"
我想使用查询普罗米修斯
function{topic=$topic}
Run Code Online (Sandbox Code Playgroud)
这工作正常。
我将如何实施
function{topic="$topic" + "_ERROR"}
Run Code Online (Sandbox Code Playgroud)
(这失败了)如果选择了“topic_A”,我想要查询的将是“topic_A_ERROR”。
如何在查询中组合变量 $topic 和字符串“_ERROR”?
更新 2020-08-17:
Grafana 变量有一个新的语法,新格式是在美元符号后使用花括号:
function{topic=~"${topic}_ERROR"}
Run Code Online (Sandbox Code Playgroud)
双括号语法已弃用,很快将被删除。
现在您还可以定义变量的格式,这可能有助于解决一些空格字符问题。例子:${topic:raw}
文档:https : //grafana.com/docs/grafana/latest/variables/templates-and-variables/
如果要在中间包含文本,则需要使用不同的语法:
function{topic=~"[[topic]]_ERROR"}
Run Code Online (Sandbox Code Playgroud)
不仅要注意双括号,还要注意从=到=~的变化。它记录在我评论末尾的链接中,基本上它说:
当启用多值或包含所有值选项时,Grafana 会将标签从纯文本转换为与正则表达式兼容的字符串。这意味着您必须使用 =~ 而不是 =。
你可以在这里查看官方解释:https : //grafana.com/docs/grafana/latest/features/datasources/prometheus/#using-variables-in-queries
在较新的 grafana 中,您应该添加 ${varname} 和 () 正则表达式
[[varname]] 几乎已弃用,这将在 prometheus 中执行多值变量
func{instance=~"(${topic})_ERROR"}
它通常用于实例指标
假设实例 [198.10.99.9,198.10.99.10] 如果您的收集器位于 9100
node_memory_MemTotal_bytes{instance=~"(${instance}):9100"}
如果您的收集器位于另一个端口示例 9111
another_metric{instance=~"(${instance}):9111"}
| 归档时间: |
|
| 查看次数: |
7669 次 |
| 最近记录: |