检索分析日志时,如果日志服务控制台提示查询结果或统计分析的结果不精确,可参考本文档进行排查。
检索分析日志时,如果日志服务控制台提示查询结果或统计分析的结果不精确,表示日志服务未能扫描全部日志,返回的检索和分析结果不是基于全部日志的精确结果。
日志服务统计分析时要读取的数据量超过 Shard 读取能力(每个 Shard 读取1 GB数据)。
解决方案:
例如在查询分析时将所有条件全部放入分析语句 where 条件中,导致需要分析的结果过大,最终结果不精确。
解决方案:
前置查询条件,使用检索语句过滤。如存在可分词的字段、命中率低的过滤条件、需要模糊查询的字段等使用检索语句过滤。
原始语句:SQL * | select DATE_TRUNC('DAY', __time__) as time, count(*) as qpd, __pod_name__ where Query like '%99ac122f-*-0c086cde9853%' GROUP BY time, __pod_name__ HAVING qpd >2 ORDER by time, qpd
前置查询条件后语句:SQL Query:"99ac122f-*-0c086cde9853" | select DATE_TRUNC('DAY', __time__) as time, count(*)as qpd, __pod_name__ GROUP BY time, __pod_name__ HAVING qpd > 2 ORDER by time, qpd
例如在同一个查询语句中设置了大量查询条件,日志服务无法一次性读取查询结果。
解决方案:
简化查询条件或缩小查询时间范围。
例如查询时间范围为3个月或1年时,日志服务无法在一次查询中完整扫描这个时间段内的所有日志。为了快速返回结果,先返回部分不精确的结果。
解决方案:
缩小查询和分析的时间范围。