在使用日志服务产品的日志查询功能时,如果查询不到日志数据,请按照以下原因进行排查。

1. 未成功采集日志数据

如果并未成功采集日志数据到日志服务,则无法查询到目标日志。请在预览界面查看是否有日志数据。

如果有日志数据,说明日志数据已成功采集到日志服务中,建议您排查其他原因。

如果没有日志数据,可能是以下原因造成,请进一步排查。

  • 日志源没有生产日志数据。

    日志源没有日志产生的情况下,没有日志可以投递到日志服务。请检查您的日志源。

  • Logtail无心跳。

    请在机器组状态页面中查看机器是否有心跳。没有心跳请参考Logtail 机器无心跳

  • 监控文件没有实时写入。

    如果监控文件有实时写入,您可以打开/usr/local/ilogtail/ilogtail.LOG查看报错信息。常见错误如下:

    • parse delimiter log fail:分割符收集日志出错。
    • parse regex log fail:正则收集日志出错。

2. 分词设置错误

查看已设置的分词符,检验根据分词符对日志内容进行分割后,是否刚好得到关键字。例如分割符为默认的,;=()[]{}?@&<>/:’ 那么用户的日志里如果是有abc”defg,hij会被分割成abc”defg和hij两部分,用abc就搜不到这条日志。

同时支持模糊查询,具体查询语法,请参考查询语法

说明
  • 为了节约您的索引费用,日志服务进行了索引优化,配置了键值索引的Key,不进全文索引。例如,日志中有名为message的key,并且配置了键值索引,加了空格做分词(加空格做分词,请把空格加到分词字符串的中间)。”message: this is a test message“可以用 key:value 的格式 message:this 查到,但是直接查this查询不到,因为配置了键值索引的key,不进全文索引。
  • 创建索引或者对索引做任何更改,只对新进的数据有效,旧数据一律无效。

    您可以点开索引属性,检查已设置的分词是否符合要求。

3. 其他原因

如果日志有产生,可以先在查询处修改查询的时间范围。另外由于日志预览的功能数据是实时的,但是查询的功能是有最多1分钟的延迟的,所以用户可以在日志产生后等1分钟再查。

如您的问题仍未解决,请提工单联系我们。