测试素材:日志聚合系统字段与查询语法
虚构系统,仅用于演示 Resources 功能,勿当作真实文档。
时间范围 time_range
支持相对和绝对两种写法:
| 写法 | 例子 | 含义 |
|---|---|---|
| 相对 | 30m / 1h / 2d |
从当前时刻往前推,m 分钟、h 小时、d 天 |
| 绝对 | 2025-03-27T10:00:00/2025-03-27T11:00:00 |
ISO 8601,本地时区,左闭右开 |
相对写法最多支持 7d;再往前必须用绝对写法,否则服务端直接报错。
日志级别 log_levels
| 级别 | 含义 |
|---|---|
debug |
调试细节,量极大,排查时才开 |
info |
正常业务流程 |
warn |
可恢复的异常,如连接池接近上限 |
error |
请求失败、下游报错 |
error 已包含 fatal 和 panic,不需要另外筛。不传 log_levels 时返回全部级别。
返回格式
每条日志一行,格式固定为:
<时间> <级别> <服务名> <消息>
2025-03-27 10:02:00.000 ERROR billing-service 调用 billing.DecodeInvoice: context deadline exceeded
消息里可能带多行堆栈,会被转义成 \n,仍是单行返回。
建议的排查顺序
- 先调
list_services拿到准确的服务名——服务名拼错时查询会静默返回空结果,不报错。 - 用
30m+error级别先看有没有硬失败。 - 没有
error就放宽到warn,并扩大到2h——连接池、缓存淘汰这类前兆都在 warn 里。 - 定位到时间点后,用绝对时间范围缩小到 5 分钟,去掉级别过滤看完整上下文。