本文以电商平台的日志为例,介绍Log4j日志的分析操作。
前提条件
背景信息
例如某电商公司,希望通过分析用户行为习惯数据(例如用户登录方式、上线的时间点及时长、浏览页面、页面停留时间、平均下单时间、消费水平等)、平台稳定性、系统报错、数据安全性等信息获取平台的最佳运营方案。针对此需求,日志服务提供一站式数据采集与分析功能,帮助客户存储并分析日志。
日志服务采集到的日志样例如下。
记录用户登录行为的日志
level: INFO location: com.aliyun.log4jappendertest.Log4jAppenderBizDemo.login(Log4jAppenderBizDemo.java:38) message: User login successfully. requestID=id4 userID=user8 thread: main time: 2022-01-26T15:31+0000记录用户购买行为的日志
level: INFO location: com.aliyun.log4jappendertest.Log4jAppenderBizDemo.order(Log4jAppenderBizDemo.java:46) message: Place an order successfully. requestID=id44 userID=user8 itemID=item3 amount=9 thread: main time: 2022-01-26T15:31+0000
操作步骤
登录日志服务控制台。
在Project列表区域,单击目标Project。
在页签中,单击目标Logstore。
输入查询和分析语句,然后单击最近15分钟,设置查询和分析的时间范围。
更多信息,请参见步骤一:配置索引。
统计最近1小时发生错误最多的3个位置。
level: ERROR | select location ,count(*) as count GROUP BY location ORDER BY count DESC LIMIT 3统计最近15分钟各种日志级别的日志条数。
* | select level ,count(*) as count GROUP BY level ORDER BY count DESC统计最近1小时登录次数最多的三个用户。
login | SELECT regexp_extract(message, 'userID=(?<userID>[a-zA-Z\d]+)', 1) AS userID, count(*) as count GROUP BY userID ORDER BY count DESC LIMIT 3统计最近15分钟每个用户的付款总额。
order | SELECT regexp_extract(message, 'userID=(?<userID>[a-zA-Z\d]+)', 1) AS userID, sum(cast(regexp_extract(message, 'amount=(?<amount>[a-zA-Z\d]+)', 1) AS double)) AS amount GROUP BY userID
该文章对您有帮助吗?