日志搜索分析常见问题

最近更新时间:2019-07-08 11:19:17

仓库相关

Q:日志仓库和实时仓库的区别

A:实时仓库是实时数据进入智能日志平台的源头,无论是使用 API、传文件,还是使用专业的数据收集工具 logkit-pro 上传的实时数据,都会首先进入到实时仓库。您可以对进入实时仓库的日志进行实时滚动输出,支持字段过滤。

需要注意的是:实时仓库中的每一条数据只被保存 2 天时间,超过时间后自动删除。

除了实时仓库以外,我们提供日志仓库来存储大量的日志。您可以选择数据存储时限,允许永久存储。您可以对存储在日志仓库中的数据选择指定之间范围进行搜索分析,支持字段过滤、 Lucene 搜索语法上下文搜索告警分析可视化等。

Q:日志仓库的字段类型可以修改吗

A:已经创建好的仓库的字段类型是不可以修改的,您可以添加一个字段,为其设置类型。

分词方式相关

Q:日志搜索分析中分词的含义

A:您在创建仓库的时候可以根据搜索习惯为字段设置分词方式,不同的分词方式对应着搜索的时候不同的匹配规则。

如:为某个字段设置不分词,在搜索的时候,您必须完整的输入该字段的内容,才能搜索到包含该字段的日志。

智能日志平台提供以下几种分词方式:不分词、不分词不索引、标准分词、空白分词、path 分词、中文分词。为字段选择合适的分词方式能帮助您灵活使用搜索功能,同时分词的使用对搜索性能也有影响。分词方式详情请阅读分词方式

Q:修改仓库字段的分词方式生效时间

A:修改日志仓库 schema 的分词方式第三天 00:00 以后才会生效。

Q:全文索引仓库的搜索方式

A:全文索引是一种特殊的索引方式:

  1. 全文索引将所有字段拼接在一起,使用标准分词器进行分词,可以直接输入关键词进行搜索。如数据中包含 /we/are/friends,直接输入 friends 即可搜索出该数据;

  2. 全文索引对每个字段选择了索引但是不分词。所以此时选择使用字段进行搜索要注意,如果字段 content 数据内容是 /we/are/friends,那么 /we/are/friends 整体被视为一个单次,我们必须输入 content:"/we/are/friends" 才能搜索出结果。如果只输入 content:"friends" 由于分词方式的选择是无法搜索出结果的。

数据搜索相关

Q:日志分析中如何使用正则表达式搜索?

A:全文索引的仓库分两种方式可以使用正则表达式搜索:

  1. 直接按照单词搜索内容,比如我们要搜索形如以 w 开头 d 结尾的关键词,我们可以直接在搜索框内输入 /w.*d/ 进行匹配,这样就会找到文章内如 word, wind 等单词在日志仓库中进行搜索;

注意:该正则表达式只局限于单词的匹配,如果有如下短语 "we are friend" 或者 "we/are/friend",虽然匹配 /w.*d/,但实际上是三个独立的单词,这种情况下无法搜索命中结果。

  1. 按照字段进行搜索,比如 path:/qiniu.com\/.*\/pandora/,这个正则表达式可以在 path 这个字段中匹配所有类似 qiniu.com/a/pandoraqiniu.com/b/pandora 这种的路径。

    非全文索引的仓库只支持使用字段正则表达式进行搜索(类似全文索引仓库中的方式 2),用形如 字段名:/<正则表达式>/的表达式 进行正则表达式搜索。不过具体的效果与这个字段的分词选项有关:

  2. 如果采用不分词:可以采用完全如全文索引仓库中的方式 2 进行搜索;

  3. 如果采用分词(标准分词或者中文分词等):content:/w.*d/ 会在 content 字段中找到 word, wind 等形式的单词,在日志仓库中搜索。

但同样,注意:该正则表达式也只局限于单词的匹配,如果 content 字段有如下短语 "we are friend" 或者 "we/are/friend",虽然匹配 /w.*d/,但实际上是三个独立的单词,这种情况下无法搜索命中结果。

仓库无数据排查

Q:通过工作流接收数据,经过计算后将数据导出到日志仓库,日志仓库没数据怎么回事?

A:
1.首先查看一下您的工作流是否处于正常运行状态。

2.若工作流处于已启动状态,进入工作流工作界面查看运行日志,确认计算节点和导出节点是否正常运行:

3.数据导出到日志仓库会稍有延迟,请稍作等待。

4.请检查您的数据源节点是否有数据进来。

注意: 如果您的计算和导出节点是在数据源节点接收数据之后创建的,而数据源节点没有新数据进来,那么需要在创建计算节点和导出节点时,在高级功能选择数据起始位置为最老。

Q:日志仓库通过 logkit_send_time、timestamp 时间字段搜索不出数据,但实时仓库数据在增加是怎么回事?

A:请确认您通过 logkit-pro 发送数据到智能日志平台开启了添加系统时间 logkit_send_time、timestamp 字段。

历史数据重新发送会导致的问题

目标数据中已经有一部分发送到了日志仓库,如果重新通过 logkit-pro 采集全部历史数据发送到智能日志平台,从最老数据消费,会覆盖之前的仓库数据还是新增一份数据?

A:新增数据,会导致重复数据。

以上内容是否对您有帮助?
  • Qvm free helper
    Close