使用 Lucene 查询数据
可以使用 Lucene 或 DataPrime来搜索 IBM Cloud Logs 日志数据。 有关使用 DataPrime, 请参阅 使用 DataPrime。
访问 Explore
您可以从“探索”屏幕查询日志:
-
单击 浏览日志 图标
> 日志。
-
(可选) 如果要浏览 分析和警报 或 存储和搜索 管道 中的归档数据,请单击 归档。 要切换回当前在 优先级洞察 管道 中维护的数据,请单击 优先级日志。
使用 Lucene
-
使用 < > Lucene/< > DataPrime 开关将搜索类型更改为 卢塞内。
-
在搜索字段中,以 Lucene 格式 指定搜索。
-
单击字段末尾的箭头以运行查询。
如果您在 优先级洞察 中搜索,但没有看到您所期望的数据,请参阅 " 为什么我没有看到 Priority insights 搜索的结果?
Lucene 查询
Lucene 查询由 条款 和 运算符组成。 术语由分析器从日志数据中抽取。 有两类术语:
- 单个术语
- 这是文本字段中的一个词。
- 短语
- 这是一组用双引号 (") 括起的单词。
搜索类型
IBM Cloud Logs 提供以下搜索类型:
- 自由文本搜索
-
自由文本搜索用于匹配日志数据中任何字段中的术语。
- 字段搜索
-
字段搜索将搜索限制为必须与搜索项匹配的特定字段。
- 范围搜索
-
范围搜索允许您查询匹配数字值的范围。
- 正则表达式搜索
-
正则表达式搜索允许您使用正则表达式来匹配日志数据中的模式。 支持 Lucene 标准运算符。
要匹配的正则表达式模式需要包含在正斜杠 (
/) 中。由于未通过分析器传递关键字,因此尽可能对关键字使用正则表达式搜索。
示例搜索
以下是不同类型的搜索及其结果的示例。
| 查询 | 结果 |
|---|---|
a very interesting log message |
与包含这些术语的日志匹配。 它们可以以任何顺序出现在任何字段中。 |
“a very interesting log message” |
与任何字段中的此精确短语匹配。 |
| 查询 | 结果 |
|---|---|
msg:interesting |
与 msg 字段中包含此术语的日志匹配。 |
msg:“a very interesting log message!” |
与 msg 字段中的精确短语匹配。 |
msg.keyword:”a very interesting message!” |
匹配包含短语 (包括!) 的日志。 |
msg.keyword:/.*/ AND NOT msg.keyword:/^$/ |
匹配字段有值且不是空字符串("")的日志 |
| 查询 | 结果 |
|---|---|
status_code.numeric:[200 TO 299] |
匹配 200 到 299 (包括 200 到 299) 之间的状态码。 |
status_code.numeric:{199 TO 300} |
匹配 200 到 299 之间的状态码 (不包括 199 到 300)。 |
status_code.numeric:[200 TO 300} |
匹配 200 到 299 之间的状态码 (包括 200 但不包括 300)。 |
status_code.numeric:{199 TO 299] |
匹配 200 到 299 之间的状态码 (不包括 199 但包括 299)。 |
status_code.numeric:<300 |
匹配状态码小于300(不包括300)。 |
status_code.numeric:>0.003 |
匹配状态代码大于 0.003 (不包括 0.003 )。 |
| 查询 | 结果 |
|---|---|
msg.keyword:/.*what an interesting message!.*/ |
匹配包含模式“什么是有趣的消息!”(包括!) 的日志。 |
version.keyword:/.*v.[1-5].[0-9]{2}.*/ |
与版本字段中包含 “v.1.24” 或 “v.5.69” 等模式的日志匹配。 |
| 查询 | 结果 |
|---|---|
FirewallMatchesActions:"abc" OR FirewallMatchesActions:"123" |
匹配包含精确字符串 abc 或 123 的日志。 |
FirewallMatchesActions.keyword:/(abc|123)/ |
使用正则表达式匹配包含精确字符串 abc 或 123 的日志。 |
FirewallMatchesActions.keyword:/.*(abc|123).*/ |
使用正则表达式将日志与包含部分字符串 abc 或 123 的字符串进行匹配。 |
运算符的类型
可以使用运算符 AND,OR 和 NOT 来组合多个过滤器。 当查询中有多个运算符时,还可以使用括号来指定运算符优先顺序。
| 查询 | 结果 |
|---|---|
msg:”failed transaction” AND level: “ERROR” NOT env:”staging” |
与错误级别日志匹配,这些日志包含短语 "failed transaction",但不包含来自“登台环境”的短语。 |
(msg:”failed transaction” AND (cluster:”eu” OR cluster:”us”)) NOT env:”staging” |
与包含短语 "failed transaction" 但不包含来自“登台环境”的 "eu" 或 "us" 集群的日志匹配。 |
重置过滤器和搜索查询
您可以通过单击 重置来清除所有过滤器和查询。
保存视图
通过使用过滤器或搜索将视图与要查看的日志记录结合使用后,可以保存该视图以供将来使用。
要保存视图:
-
单击 未保存的视图。
-
输入视图的名称。
-
(可选) 指示是否要将查询和过滤器保存为视图的一部分。
-
(可选) 指示在打开 IBM Cloud Logs 时是否希望将视图设置为缺省视图
-
选择是希望视图对您是私有视图还是与其他用户共享视图。
-
单击“保存 ” 保存视图。