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

如何解决LogQL中的SampleExtraction Error?查询分组后字段最大值

解决LogQL查询最大响应时间的SampleExtractionErr错误

我们已统计出响应时间大于3000ms的请求计数,示例如下:

RequestCount
Req15
Req23

现在需要找出这些请求中的最大响应时间,尝试了以下LogQL查询语句:

max_over_time({application="xxx",namespace="xxx"} | json | message_app="xxxxx" | message_env="xxx" | unwrap message_duration | message_duration > 3000ms [48h])  by (message_path)

但触发如下错误:

查询错误
管道错误:针对序列 '{error="SampleExtractionErr", application="xxx", level="xxx", message_app="xxx", message_duration="6.882514ms", message_env="xx", message_path="/xx/xx/xx/xx/xx/xx/test1.html?RN=24.0.0_b0017", namespace="xxx", origin="xxxx"}' 出现'SampleExtractionErr'。请使用标签过滤器主动跳过此类错误(例如 | error!="SampleExtractionErr")。若要跳过所有潜在错误,可匹配空错误(例如 error="")。标签过滤器也可在unwrap之后指定(例如 | unwrap latency | error="")

修复方案

错误原因是部分日志的message_duration字段无法被正确解析为数值样本,导致解析失败。只需在查询中添加错误过滤条件即可解决,同时建议调整过滤条件顺序以提升查询效率:

方案1:先过滤响应时间,再解析并跳过错误

max_over_time({application="xxx",namespace="xxx"} | json | message_app="xxxxx" | message_env="xxx" | message_duration > 3000ms | unwrap message_duration | error="" [48h]) by (message_path)

方案2:解析后跳过指定错误,再过滤响应时间

max_over_time({application="xxx",namespace="xxx"} | json | message_app="xxxxx" | message_env="xxx" | unwrap message_duration | error!="SampleExtractionErr" | message_duration > 3000ms [48h]) by (message_path)

说明

  • error="":跳过所有解析失败的日志条目
  • error!="SampleExtractionErr":仅跳过触发SampleExtractionErr的条目
  • 将message_duration > 3000ms放在unwrap前,可提前过滤掉不需要的日志,减少解析压力

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 20:35:28