LogQL 是用于查询日志和指标数据的查询语言,它类似于 PromQL,但具有更强大的文本搜索和过滤功能。以下是一些常见的 LogQL 表达式写法:
简单的文本搜索:
arduino
{container="nginx"} "error"
上面的表达式会匹配所有包含 "error" 字符串的日志行,且这些日志行来自标签 container="nginx" 的容器。
使用正则表达式进行搜索:
arduino
{container="nginx"} /=error=/
上面的表达式使用正则表达式 /=error=/ 来匹配包含 "error" 的日志行。
使用过滤器进行搜索:
arduino
{container="nginx"} |="status code: 404"
上面的表达式使用过滤器 |="status code: 404" 来匹配包含 "status code: 404" 的日志行。
使用多个过滤器进行搜索:
arduino
{container="nginx"} |="status code: 404" !="user-agent: bot"
上面的表达式使用两个过滤器来匹配包含 "status code: 404" 但不包含 "user-agent: bot" 的日志行。
使用逻辑运算符进行搜索:
arduino
{container="nginx"} ("error" or "warning") and not "debug"
正则匹配多行上面的表达式使用逻辑运算符 and 和 or 来匹配包含 "error" 或 "warning" 但不包含 "debug" 的日志行。
使用聚合函数进行统计:
arduino
sum(rate({container="nginx"}[5m])) by (job)
上面的表达式使用聚合函数 sum 和 rate 来计算最近 5 分钟内每个 job 标签值的日志行数。
以上是一些常见的 LogQL 表达式写法,可以根据具体的需求和场景来编写更复杂的表达式。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论