使用 Lucene 查询数据

可以使用 Lucene 或 DataPrime来搜索 IBM Cloud Logs 日志数据。 有关使用 DataPrime, 请参阅 使用 DataPrime

搜索可与 过滤按时间限制 结合使用。

访问 Explore

您可以从“探索”屏幕查询日志:

  1. 启动 IBM Cloud Logs UI。

  2. 单击 浏览日志 图标 "浏览日志" 图标 > 日志

  3. (可选) 如果要浏览 分析和警报 或 存储和搜索 管道 中的归档数据,请单击 归档。 要切换回当前在 优先级洞察 管道 中维护的数据,请单击 优先级日志

使用 Lucene

  1. 使用 < > Lucene/< > DataPrime 开关将搜索类型更改为 卢塞内

  2. 在搜索字段中,以 Lucene 格式 指定搜索。

  3. 单击字段末尾的箭头以运行查询。

如果您在 优先级洞察 中搜索,但没有看到您所期望的数据,请参阅 " 为什么我没有看到 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" 匹配包含精确字符串 abc123 的日志。
FirewallMatchesActions.keyword:/(abc|123)/ 使用正则表达式匹配包含精确字符串 abc123 的日志。
FirewallMatchesActions.keyword:/.*(abc|123).*/ 使用正则表达式将日志与包含部分字符串 abc123 的字符串进行匹配。

运算符的类型

可以使用运算符 ANDORNOT 来组合多个过滤器。 当查询中有多个运算符时,还可以使用括号来指定运算符优先顺序。

使用运算符的示例查询
查询 结果
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" 集群的日志匹配。

重置过滤器和搜索查询

您可以通过单击 重置来清除所有过滤器和查询。

保存视图

通过使用过滤器或搜索将视图与要查看的日志记录结合使用后,可以保存该视图以供将来使用。

要保存视图:

  1. 单击 未保存的视图

  2. 输入视图的名称。

  3. (可选) 指示是否要将查询和过滤器保存为视图的一部分。

  4. (可选) 指示在打开 IBM Cloud Logs 时是否希望将视图设置为缺省视图

  5. 选择是希望视图对您是私有视图还是与其他用户共享视图。

  6. 单击“保存 保存视图。