You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用LogQL正则从Loki ingress-nginx日志提取请求时长过滤慢请求

可用的LogQL查询语句

你可以直接使用如下语句完成过滤需求:

{namespace="ingress-nginx"} |= "gymauto-frontend" |~ "GET (/main)" | json 
| regexp log `.*"[^"]+"\s+\d+\s+(?<duration>\d+\.\d+)\s+\[.*`
| duration *= 1s
| duration > 10s

逻辑说明

  • 前半部分的日志匹配、json解析逻辑和你原有写法一致,json解析后原始nginx日志内容会存储在log字段中
  • regexp阶段通过命名捕获组从log字段提取nginx ingress标准日志的$request_time(请求总耗时,单位为秒的浮点数)到duration变量
  • duration *= 1s将提取到的字符串格式的浮点数值转换为Loki支持的时间 duration 类型
  • 最后通过条件过滤保留耗时超过10s的日志

可选调整

如果你需要基于上游服务实际处理时间过滤,可以修改正则提取upstream响应时间(对应样例中的20.035字段),调整后的语句如下:

{namespace="ingress-nginx"} |= "gymauto-frontend" |~ "GET (/main)" | json 
| regexp log `.*\s(?<duration>\d+\.\d+)\s+\d+\s+[0-9a-f]+$`
| duration *= 1s
| duration > 10s

内容的提问来源于stack exchange,提问作者DmitrySemenov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 10:54:04