日志服务支持通过SQL92语法分析日志,并提供丰富的统计图表(例如表格、线图、柱状图、饼图、流图、地图等)展示分析结果。本文介绍如何在日志服务控制台上分析网站日志,并通过合适的统计图表可视化展示分析结果。
背景信息
网站日志是运维网站的重要信息,包含PV、UV、访问地域分布以及访问前十页面等信息。日志服务提供多样化的日志采集方式及一站式分析功能,您可通过
查询+SQL92语法对日志进行实时分析,并以图表形式直观展示分析结果。日志服务还支持通过自带的仪表盘、DataV、Grafana、Tableua(通过JDBC链接)、QuickBI等可视化方式创建多种场景下的日志数据分析大盘。

操作步骤
- 登录日志服务控制台。
- 在Project列表区域,单击目标Project。
- 在页签中,单击目标Logstore。
- 在页面右上角,单击15分钟(相对),设置查询的时间范围。
您可以选择相对时间、整点时间和自定义时间范围。
说明 查询结果相对于指定的时间范围来说,有1min以内的误差。
- 在搜索框中输入查询分析语句,单击查询/分析。
日志服务提供丰富的统计图表,用于展示查询分析结果,详情请参见
统计图表。
- 通过表格展示最近1天客户端(remote_addr)访问情况,并降序排列。
* | SELECT remote_addr, count(*) as count GROUP BY remote_addr ORDER BY count DESC

- 通过线图展示最近15分钟PV、UV以及平均响应时间的变化情况。
* | select date_format(from_unixtime(__time__ - __time__% 60), '%H:%i:%S') as minutes, approx_distinct(remote_addr) as uv, count(1) as pv, avg(request_time) as avg group by minutes order by minutes asc limit 100000
配置
X轴为
minutes,
左Y轴为
pv和
uv,
右Y轴为
avg,
为柱列为
uv,统计图表如下所示。

- 通过柱状图展示最近15分钟不同来源地址(referer)的访问次数。
* | select referer, count(1) as count group by referer
配置X轴为referer,Y轴为count,统计图表如下所示。

- 通过条形图展示最近15分钟访问前十的页面(request_uri)。
* | select request_uri, count(1) as count group by request_uri order by count desc limit 10
配置X轴为request_uri,Y轴为count,统计图表如下所示。

- 通过饼图展示最近15分钟页面(request_uri)访问情况。
* | select request_uri as uri , count(1) as c group by uri limit 10
配置分类为uri,数值列为c,统计图表如下所示。

- 通过单值图展示最近15分钟的PV数。
* | select count(1) as PV
配置数值列为PV,统计图表如下所示。

- 通过面积图展示最近1天某IP地址的访问情况。
remote_addr: 10.0.XX.XX | select date_format(date_trunc('hour', __time__), '%m-%d %H:%i') as time, count(1) as PV group by time order by time limit 1000
配置X轴为time,Y轴为PV,统计图表如下所示。

- 通过地图展示访问前十的地域。
- 中国地图
* | select ip_to_province(remote_addr) as address, count(1) as count group by address order by count desc limit 10

- 世界地图
* | select ip_to_country(remote_addr) as address, count(1) as count group by address order by count desc limit 10

- 高德地图
* | select ip_to_geo(remote_addr) as address, count(1) as count group by address order by count desc limit 10

- 通过流图展示最近15分钟不同方法(request_method)的请求次数随时间的变化趋势。
* | select date_format(from_unixtime(__time__ - __time__% 60), '%H:%i:%S') as minute, count(1) as c, request_method group by minute, request_method order by minute asc limit 100000
配置X轴为minute,Y轴为c,聚合列为request_method,统计图表如下所示。

- 通过词云展示最近15分钟页面(request_uri)访问情况。
* | select request_uri as uri , count(1) as c group by uri limit 100
配置词列为c,数值列为c,统计图表如下所示。

- 添加统计图表到仪表盘。