Grafana/Loki:如何在 LogQL 中使用多选模板变量?

Posted

技术标签:

【中文标题】Grafana/Loki:如何在 LogQL 中使用多选模板变量?【英文标题】:Grafana/Loki: How to use multi-select template variable with LogQL? 【发布时间】:2022-01-14 14:29:20 【问题描述】:

我有一个自定义模板变量,它显示以下逗号分隔值:信息、错误、警告、调试。变量的名称是启用多选的 $Level。我需要它,所以当您选择超过 1 个值时,行过滤器表达式将相互堆叠,如下所示:

例如。信息+错误被选中: job="mylogs" |="info" |="error"

目前,我的查询设置如下: job="mylogs" |="$Level"

但是,使用当前方式,当我选择超过 1 个选项时,它不会产生任何日志。有没有办法通过 Grafana/Loki 实现这一目标?

TL;DR 有没有办法在 LogQL 行过滤器表达式中格式化 Grafana 模板变量?

【问题讨论】:

【参考方案1】:

我通过使用此表达式搜索多个值解决了我的问题:

job="mylogs" |~ "($Level|$Level|$Level|$Level)"

但是,这不是一个非常简洁的解决方案。如果我有一个包含 25 个以上值的自定义列表怎么办。虽然这解决了我的直接问题,但有人知道更优雅的解决方案吗?

更新:上述问题的解决方案就是使用这个:

job="mylogs" |~ "($Level)"

查询自动展开。

【讨论】:

以上是关于Grafana/Loki:如何在 LogQL 中使用多选模板变量?的主要内容,如果未能解决你的问题,请参考以下文章

prometheus(或grafana)查询来评估grafana loki使用的存储?

云原生可观测性之Grafana Loki介绍

Grafana Loki 的 Java 客户端库

图解下一代轻量级日志系统 Grafana Loki 工作架构

Rancher 2.5+ 日志记录是不是支持 Grafana Loki?

Grafana loki:它是不是支持 Amazon Keyspaces