通过用户点击进行热门内容推荐
目标
- 熟悉日志服务的功能,使用场景
- 通过收集直播网站的日志数据,进行实时数据分析,进行推荐
准备工作
步骤
1. 程序日志埋点
在log.php中进行,提供了一个函数,记录用户访问行为日志
在用户实际访问的时候,进行记录
在log_config.xml中,配置了日志文件位置,默认为:
/tmp/video_log/access.log
2. 启动镜像,自动创建日志服务project和Logstore
开通必要服务
容器服务和日志服务无缝对接,需要开通以下服务:
日志服务
访问控制服务
如果没有事先开通,则前往日志服务 和 访问控制服务开通,之后点击确定。
编排镜像配置
在acs的编排模板中(应用->变更配置),加入下面这个label:
labels:
aliyun.log_store_video_log: /tmp/video_log/access.log
log_store_${LOGSTORE_NAME}, ${LOGSTORE_NAME}表示是创建LogStore的名字一部分, 在这边是video_log
/tmp/video_log/access.log , 是容器内日志的路径, 和上面对应
注意修改“应用版本”
3.在日志服务中验证新创建的project和logstore
在日志服务控制台,可以看到新创建的project和logstore, project以'acslog-project'开头, logstore是acslog-${app}-${LOGSTORE_NAME}
默认情况下,acs会为logstore创建一个logtail的配置,用于收集日志,每行一条日志,不做字段区分,从"Logtail配置管理",进入后可看到:
4.更新logtail配置
为了进行日志分析,我们需要对日志内容进行提取,首先,填入日志样子:
2016-03-19T06:26:37+00:00 get_online_msg 45bed72 cnRtcDovL29zc2xpdmVzaG93Lm9zcy1jeHBpcmVzPTE0NTgzNzIzNTgmU2lQkNtQXhRTWw5eWZzSmVPNW92YTh2Q0lEZyUzRA== other_message
选择提取字段, 通过划词可以生成正则表达式:
(\S+)\s(\w+)\s(\w+)\s(\S+).*
定义各个字段名字(由于分析程序依赖这些名字,所有请大家严格按照以下名字命名各个字段):
- time
- action
- user_id
- video_id
最后应用到机器分组,完成配置更新
5. 推荐解析程序配置
填写使用日志服务的程序入口(深圳region的endpoint是cn-shenzhen.log.aliyuncs.com),以及project和logstore信息。
日志服务入口地址
6. 查看效果
在web页面上,将根据用户访问历史,推荐用户可能喜欢的视频