Grafana Loki 查询语言 LogQL 使用

Grafana Loki 查询语言 LogQL 使用插图亿华云

受 PromQL 的启发,Loki 也有自己的查询语言,称为 LogQL,它就像一个分布式的 grep,可以聚合查看日志。和 PromQL 一样,LogQL 也是使用标签和运算符进行过滤的,主要有两种类型的查询功能:

查询返回日志行内容。通过过滤规则在日志流中计算相关的度量指标。

日志查询

一个基本的日志查询由两部分组成。

log stream selector(日志流选择器)。log pipeline(日志管道)。

Grafana Loki 查询语言 LogQL 使用插图1亿华云

由于 Loki 的设计,所有 LogQL 查询必须包含一个日志流选择器。一个 Log Stream 代表了具有相同元数据(Label 集)的日志条目。

日志流选择器决定了有多少日志将被搜索到,一个更细粒度的日志流选择器将搜索到流的数量减少到一个可管理的数量,通过精细的匹配日志流,可以大幅减少查询期间带来资源消耗。

而日志流选择器后面的日志管道是可选的,用于进一步处理和过滤日志流信息,它由一组表达式组成,每个表达式都以从左到右的顺序为每个日志行执行相关过滤,每个表达式都可以过滤、解析和改变日志行内容以及各自的标签。

Grafana Loki 查询语言 LogQL 使用插图2亿华云

下面的例子显示了一个完整的日志查询的操作:

{container="query-frontend",namespace="loki-dev"} |= "metrics.go" | logfmt | duration

THE END
Copyright © 2024 亿华云