首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何过滤Grafana-Loki中的日志?

如何过滤Grafana-Loki中的日志?
EN

Stack Overflow用户
提问于 2022-05-17 16:29:00
回答 2查看 4.9K关注 0票数 0

我使用的最后一个版本:

  • Prometheus
  • prometheus-cpp文库
  • Grafana
  • Loki
  • Promtail

在Windows 10中。

所以我只需要启动这些应用程序的bin文件。我的logfile.log在Grafana面板上。

日志文件中有标记为信息的行。

也可能有一个错误标记。我希望能够过滤面板中的行。例如,如何仅显示面板中标记有错误的行?

EN

回答 2

Stack Overflow用户

发布于 2022-05-21 00:55:58

Loki通过标签索引日志。在查询Loki时,必须首先以{<label><operator><value>}格式指定流筛选器。我猜您已经意识到了这一点,因为您已经在那里显示了日志,可能是使用了类似于{app="vocoder"}的东西。然后,您可以使用类似于{app="vocoder"} |= "[ERROR]"的纯文本或正则表达式来过滤日志流(参见日志查询文档)。如果将Promtail刮板配置为从日志消息中提取其他标签(请参阅标签文件刮擦文件),则还可以基于此编写流筛选器表达式,也可以根据此标签作为筛选管道的一部分进行筛选:{app="vocoder"} | level = "error"

票数 1
EN

Stack Overflow用户

发布于 2022-06-23 21:16:34

我们可以使用行过滤器来实现这一点:

代码语言:javascript
复制
|= : Log line contains string.
!= : Log line does not contain string.
|~ : Log line matches regular expression.
!~ : Log line does not match regular expression.

例如:

目标集群和app中给定的日志行包含字符串ERROR

代码语言:javascript
复制
{cluster="my-dev-cluster", app="my-app"} |= "ERROR"

来自目标集群和app的给定日志行包含字符串ERROR,但不包含字符串"TIMEOUT":

代码语言:javascript
复制
{cluster="my-dev-cluster", app="my-app"} |= "ERROR" != "TIMEOUT"

请参阅本备忘单中的更多内容。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72277629

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档