最近更新时间:2024.03.07 19:05:33
首次发布时间:2021.10.11 18:04:05
本文介绍日志服务检索功能支持的检索语法。
注意
日志服务产品架构升级,支持更丰富的检索分析功能。
关于 1.0 架构与 2.0 架构的具体说明,请参考日志服务架构升级通知。
AND
、OR
表示检索逻辑运算符,而 and
、or
视为普通词组。AND
,OR
,&&
,!
等)必须使用半角括号(()
)明确逻辑操作优先级,否则搜索到的结果可能和预期不一致。例如搜索某台机器上 log
目录下不包含 error
的日志,可指定检索条件为 ((__source__:192.168.10.10 AND __path__:\/var\/log\/*) NOT error)
。OR
。例如 warning error
等同于 warning OR error
,表示检索内容中包含关键词 warning
或 error
的日志。操作符 | 说明 | 示例 |
---|---|---|
| 与逻辑操作符,表示取多个搜索结果的交集,指定多个逻辑操作时请使用半角括号()明确逻辑操作优先级。 |
|
| 或逻辑操作符,表示取多个搜索结果的并集。指定多个逻辑操作时请使用半角括号 |
|
| 非逻辑操作符,表示搜索结果不包含 NOT 之后的关键词。指定多个逻辑操作时请使用半角括号()明确逻辑操作优先级。 |
|
| 范围逻辑操作符,TO 前后应加空格。 |
|
| 双引号,表示引用一个短语词组,其中短语作为一个整体词组,不解析通配符。日志中需要包含短语内的所有词,且顺序一致。 |
|
| 冒号,表示键值检索,返回包含指定 Key 和 Value 的日志。 |
|
| 通配符,表示模糊查询。通配符 |
|
| 通配符,表示模糊查询。通配符 |
|
| 分组操作符,用于控制多个逻辑运算之间的优先级。 |
|
| 范围操作符,表示在数值类型的字段中,value 大于某个数值的日志。 |
|
| 范围操作符,表示在数值类型的字段中,value 大于等于某个数值的日志。 |
|
| 范围操作符,表示在数值类型的字段中,value 小于某个数值的日志。 |
|
| 范围操作符,表示在数值类型的字段中,value 小于等于某个数值的日志。 |
|
| 范围操作符,范围中包含边界值。 |
|
| 范围操作符,范围中不包含边界值。 |
|
| 转义符。如果查询的关键词中包含保留字符,则需要通过转义符进行转义后再检索。转义后的字符代表字符本身,而不是不代表关键字。 |
|
保留关键字 | 说明 | 示例 |
---|---|---|
| 筛选来源为指定 IP 地址的日志。支持通过通配符进行模糊查询。 |
|
| 筛选来源为指定路径下文件的日志。支持通过通配符进行模糊查询。 |
|
| 通过日志中的 time 字段进行筛选,支持范围查询。 |
|
场景 | 语句 |
---|---|
查询日志内容中包含 ERROR 的日志。 |
|
查询日志 Key 中包含 level 字段的日志。 |
|
查询日志 Key 中不包含 level 字段的日志。 |
|
查询来源为指定 IP 的某台机器或某些机器的日志。 |
|
查询日志采集路径为特定名字的某个文件或某些文件的日志。 |
|
查询状态码为 4xx 的访问日志。 |
|
查询状态码大于 400,即访问失败的日志。 |
|
在 GET 请求的访问日志中,查询请求失败的日志。 |
|
查询异常日志,即级别非 INFO 的日志。 |
|
查询 ERROR 或 WARNING 级别的日志。 |
|
查询指定机器上的异常日志,即来源为指定 IP 地址、级别非 INFO 的日志。 |
|
来源为指定 IP 地址、级别为 ERROR 或 WARNING 的日志。 |
|
查询指定机器上指定文件中的异常日志,即来源为指定 IP 地址、路径为指定文件、级别非 INFO 的日志。 |
|
通过预留字段 |
|
查询 Pod 名称为 application,且请求延时大于 3s 的日志。 |
|