博客/工程

Grafana 9的新功能:Grafana Loki查询构建器使编写LogQL查询更容易

2022年7月5日7分钟

Grafana 9launched at GrafanaCONline 2022 in June, and one of the biggest highlights was the introduction of the new Grafana Loki and Prometheus query builders. We believe that both of them are going to be incredibly useful for our Prometheus and Grafana Loki users.

在这篇博文中,我们将重点介绍Grafana Loki查询构建器,并与您分享它的新特性和改进。甚至可能有一些关于如何改进查询的编写、阅读和编辑的有用提示和技巧。

虽然我们相信这个查询生成器将帮助我们所有的Grafana洛基用户,我们认为它对那些刚刚接触Loki查询语言的人特别有用,LogQL.这是因为LogQL非常强大但目前,这种能力来自于对其语法和功能的理解。而您编写的查询更多如果你的LogQL做得越好,那么刚开始使用LogQL可能会让人望而生畏。

直到现在。通过使用Grafana Loki查询构建器,我们可以更容易地开始编写简单和复杂的查询。

Grafana Loki查询构建器如何帮助编写查询

标签过滤器

每个Grafana Loki查询通常从选择应该包含在查询中的日志流开始。的流选择器由一个或多个键-值对组成,其中每个键是一个日志标签,值是该标签的值。

要选择一个标签,只需单击标签选择器.标签选择器包括搜索,因此您还可以键入正在查找的标签。选择标签后,可以移动到值。

价值下拉菜单,您将只看到所选标签的可用值。如果希望选择多个值,可以将相等操作符(=)更改为regex match(=~)。另一方面,如果想要省略某些值,可以使用not equal(!=)或regex does not match(!~)标签匹配操作符。

要添加更多的标签-值组合,可以使用+按钮

截图显示如何在Loki查询生成器中添加额外的标签值对。
截图显示如何在Loki查询生成器中添加额外的标签值对。

操作

现在,选择了日志流之后,就可以开始构建查询了。有几种方法可以构建查询。

使用+操作按钮添加操作

使用Loki查询构建器,您可以向查询添加行筛选器、解析器、函数、聚合甚至二进制操作。要选择其中的任何一个(或全部),可以单击+操作或者浏览不同的操作类别,或者使用搜索来查找您想要使用的操作。

如何在Loki查询生成器中添加操作,如行过滤器,解析器,函数或聚合的截图。
如何在Loki查询生成器中添加操作,如行过滤器,解析器,函数或聚合的截图。

注意:Loki查询生成器支持简单的二进制操作,如倍数或除以标量。甚至可以对嵌套查询表达式进行二进制操作。

每个可用的操作都附带一个工具提示它的用例和查询语法。只需单击操作名称旁边的信息按钮。

在Loki查询生成器中显示查询操作用例和语法的工具提示。
在Loki查询生成器中显示查询操作用例和语法的工具提示。

此外,如果单击操作名称旁边的箭头,就会得到同一类别中可供选择的可选操作列表。

在Loki查询生成器中,将操作替换为同一类别中的替代操作。
在Loki查询生成器中,将操作替换为同一类别中的替代操作。

使用查询模式添加操作

查询模式是一组有用的操作模式,可用于向查询快速添加多个操作,以实现特定的目标。当您知道想要实现什么,但不确定语法时,这可能很有用。或者当您想加快查询编写的速度时。

要选择图案,只需单击查询模式按下按钮,查看可能的选项。它包括用于日志和度量查询的常用模式。

在Loki查询生成器中选择查询模式。
在Loki查询生成器中选择查询模式。

如果您找到了想要使用的模式,请单击它。为了演示如何快速地使用查询模式构建复杂查询,让我们来创建一个对日志行内的值进行操作的度量查询。

虽然从头开始创建这可能是令人生畏的和困难的,但对于查询模式,您可以简单地单击对日志线内的值进行度量查询选择。构成该查询的所有七个操作都为您添加了。您现在的工作就是检查这些操作并在需要时更新它们。

在此过程中,您可以使用操作提示了解每个操作的更多信息。或者使用备选操作列表更新所需的操作。如此简单,我们可以非常快速地创建复杂的LogQL查询,而不必过多地担心语法。

使用Loki查询生成器的查询模式对日志行内的值构建度量查询的示例。
使用Loki查询生成器的查询模式对日志行内的值构建度量查询的示例。

Loki查询构建器如何帮助编辑查询

Loki可视化查询构建器通过几种不同的方式帮助编辑查询。首先,它将操作与参数结合起来。在查询时,操作及其参数可以是多个字符之间的距离;在查询生成器中,它们总是在一个地方。所以查找和编辑它们要容易得多。

在Loki查询生成器中编辑查询参数的示例。
在Loki查询生成器中编辑查询参数的示例。

其次,它为参数提供名称。在下面的例子中,我们正在重命名标签,您可能想知道哪个是原始标签,哪个是重命名的标签。

在查询构建器中,您可以清楚地看到这一点,因为它们都是明确标识的,这使得编辑正确的参数更加容易。

在Loki查询生成器中编辑查询参数的示例。
在Loki查询生成器中编辑查询参数的示例。

Loki查询构建器如何帮助理解查询

虽然每个操作的工具提示确实有助于理解查询,但它只提供关于特定操作的信息。为了更全面地了解查询,我们添加了一个解释模式这显示了所有查询部分和操作的逐步解释。这将帮助您了解您的查询或您不熟悉的队友创建的查询。

Loki查询生成器中的解释模式。
Loki查询生成器中的解释模式。

随时在Code、Builder和Explain之间切换

您可以在代码(文本模式)、构建器和解释模式之间切换,同时保留文本更改。这是因为可视化构建器模型是从使用全功能LogQL查询解析器的文本查询派生而来的。

帮助我们使Grafana Loki查询生成器更好

我们坚信这只是Grafana Loki查询构建器的开始。我们的目标是确保所有的Grafana Loki用户在处理他们的查询时都有最好的体验。如果您对如何使Loki查询生成器更适合您有任何想法、想法或反馈,请在GitHub的讨论或者在我们bob电竞频道Grafana实验室社区Slack

如果您有兴趣看到Prometheus和Grafana Loki查询生成器的工作,请加入我们Grafana社区呼吁在7月21日16:00 UTC,在此期间格拉弗娜的观察小组将引导讨论这些查询构建器特性。最后但并非最不重要的,如果您想参与Loki查询生成器的用户研究,您可以这样做联系我们的团队

了解更多关于Grafana 9的最新功能,你可以看“深入Grafana 9”会议从GrafanaCONline 2022按需(和免费)。

Grafana云是开始使用度量、日志、跟踪和仪表板的最简单方法。我们对每个用例都有一个慷慨的免费永久层bob体育手机二维码和计划。现在就免费注册