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

Grafana Loki query_range API的since参数无效问题咨询

关于Grafana Loki query_range API中since参数无效的问题

核心原因

Loki的query_range API对参数优先级有明确规则:since参数的优先级低于start和end。

  • 只要你指定了start和end,since就会被直接忽略,不会对查询产生任何影响,也不会抛出错误——这就是你添加该参数后没有效果的根本原因。
  • 只有在完全不设置start和end的情况下,since才会生效:此时查询的时间范围自动设为「当前时间减去since值」(作为起始时间)到「当前时间」(作为结束时间)。

正确使用since的代码示例

要让since生效,必须移除代码中start和end的参数设置,修改后的代码如下:

const url = new URL('http://localhost:3100/loki/api/v1/query_range');

/* query */
url.searchParams.set('query', '{job="bob_job", branch="master"}');
/* limit */
url.searchParams.set('limit', '500');
// 移除start和end的设置
/* since */
url.searchParams.set('since', '5m'); // 查询最近5分钟的日志
/* direction */
url.searchParams.set('direction', 'forward');

console.log(url.toString());
fetch(url.toString(), {
    method: 'POST',
})
    .then((response) => response.json())
    .then((obj) => {
        console.log(obj);
    })
    .catch(console.error);

补充说明

  • since支持的时间单位包括:s(秒)、m(分钟)、h(小时)、d(天)等,比如1h30m表示1小时30分钟。
  • 如果需要自定义固定时间范围(而非相对于当前时间的回溯),必须使用start和end参数,此时无需添加since,添加了也不会生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 18:42:15