[英]How to filter logs in Grafana-Loki?
我使用的最新版本:
在 Windows 10 中。
所以我只是启动这些应用程序的 bin 文件。 我在 Grafana 面板中得到了我的logfile.log 。
日志文件中有标记为 [INFO] 的行。
也可能有 [ERROR] 标记。 我希望能够过滤面板中的行。 例如,如何在面板中只显示标有 [ERROR] 的行?
Loki 按标签索引日志。 当您查询 Loki 时,您必须首先指定格式为{<label><operator><value>}
的流过滤器。 我猜你已经意识到了这一点,因为你的日志显示在那里,可能像{app="vocoder"}
。 然后,您可以使用诸如{app="vocoder"} |= "[ERROR]"
之类的纯文本或正则表达式过滤日志流(请参阅日志查询文档)。 如果您将 Promtail 抓取工具配置为从日志消息中提取其他标签(请参阅标签文档和抓取文档),那么您还可以基于此编写流过滤器表达式,或基于此标签进行过滤器作为过滤器管道的一部分: {app="vocoder"} | level = "error"
{app="vocoder"} | level = "error"
。
可以使用线路过滤器来实现这一点:
|= : Log line contains string.
!= : Log line does not contain string.
|~ : Log line matches regular expression.
!~ : Log line does not match regular expression.
例如:
来自目标集群和应用程序的给定日志行包含字符串ERROR
:
{cluster="my-dev-cluster", app="my-app"} |= "ERROR"
来自目标集群和应用程序的给定日志行包含字符串ERROR
但不包含字符串“TIMEOUT”:
{cluster="my-dev-cluster", app="my-app"} |= "ERROR" != "TIMEOUT"
在此备忘单中查看更多信息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.