日志服务提供查询和分析功能,支持秒级查询十亿到千亿级别的日志,并支持通过SQL对查询结果进行统计分析。本文为您介绍查询与分析的基本操作和控制台相关功能。
前提条件
已创建索引。如果您要分析日志,则需创建字段索引并开启统计,更多信息,请参见创建索引。
操作步骤
登录日志服务控制台,在Project列表,单击打开目标Project。
在左侧导航栏单击日志存储,然后在打开的日志库页签中,单击目标Logstore。
在顶部搜索栏,可输入查询或分析语句,并单击查询/分析。
查询语句
用于日志数据的查看、简单搜索和过滤。用户使用查询语句,通过特定条件(例如时间范围、请求类型、关键字等)筛选出感兴趣的数据集。查询语句可以单独使用,语法说明请参见查询语法。
例如,查询状态码为
200
的日志,可使用以下语句。status :200
分析语句
用于对日志数据进行过滤、转换、统计、聚合等操作,例如统计一段时间内数据的平均值、获取数据的同比和环比结果。分析语句必须配合查询语句一起使用,格式为
查询语句|分析语句
,语法说明请参见函数概览。例如,查询日志中所有记录,并分析各请求状态的数量,可使用以下语句。
* | SELECT status, count(*) AS PV GROUP BY status
设置日志数据的时间范围。有以下三种设置方式,如果在分析语句中设置了时间范围,则查询分析结果以该时间范围为准。
重要执行查询和分析语句后,默认只返回100行。如果您希望返回更多数据,可使用LIMIT语法。更多信息,请参见LIMIT子句。
在页面顶端的下拉列表中,选择时间范围例如最近15分钟。
在分析语句中通过
__time__
字段指定时间范围(闭合区间),例如:* | SELECT * FROM log WHERE __time__>1731297600 AND __time__< 1731310038
在分析语句中指定时间时,使用from_unixtime函数或to_unixtime函数转换时间格式。例如:
* | SELECT * FROM log WHERE from_unixtime(__time__) > from_unixtime(1731297600) AND from_unixtime(__time__) < now()
* | SELECT * FROM log WHERE __time__ > to_unixtime(date_parse('2024-10-19 15:46:05', '%Y-%m-%d %H:%i:%s')) AND __time__ < to_unixtime(now())
控制台说明
概览
选择时间周期,并单击查询/分析,查看日志查询和分析结果。
直方图
将鼠标悬浮在绿色数据块上时,您可以查看该数据块代表的时间范围和日志命中次数。
双击绿色数据块,您可以查看更细时间粒度的日志分布,同时原始日志页签中将同步展示指定时间范围内的查询结果。
原始日志
统计图表
执行查询和分析语句后,您可以在统计图表页签中查看可视化的查询和分析结果。
查看查询和分析结果:统计图表是日志服务根据查询与分析语句渲染出的结果。日志服务提供表格、线图、柱状图等多种图表类型。目前,统计图表包括Pro版本和普通版本。具体操作,请参见统计图表概述、统计图表概述。
添加图表到仪表盘:仪表盘是日志服务提供的实时数据分析大盘。单击添加到仪表盘,将查询和分析结果以图表形式保存到仪表盘中。具体操作,请参见可视化概述。
设置交互事件:交互事件是数据分析中不可缺少的功能之一,通过改变数据维度的层次、变换分析的粒度从而获取数据中更详尽的信息。具体操作,请参见为仪表盘添加交互事件实现下钻分析。
创建定时SQL任务:日志服务提供定时SQL功能,用于定时分析数据、存储聚合数据、投影与过滤数据。具体操作,请参见定时SQL。
日志聚类
在日志聚类页签中,单击开启日志聚类,可实现在采集日志时聚合相似度高的日志。具体操作,请参见日志聚类。
SQL增强
单击右上角图标,可单次开启SQL独享版。当您在使用SQL分析时,如果数据量较大,日志服务无法在一次查询中完整分析这个时间段内的所有日志。通过开启SQL独享版,增加计算资源,可以提升单次分析的数据量。如需设置默认开启,请参见默认开启SQL独享版。
告警
单击右上角图标,为查询和分析结果设置告警。具体操作,请参见快速设置日志告警。
快速查询
单击右上角图标,将某一查询和分析语句保存为快速查询。具体操作,请参见快速查询。
分享
单击右上角图标,复制本页面链接,分享给其他用户。
Scan扫描
在某些场景下无法创建索引、没有创建索引,但仍需要查询或分析日志,可以使用扫描功能。更多信息,请参见扫描(Scan)日志。